{
  "info": {
    "name": "Tikta API Collection",
    "description": "Complete API collection for Tikta with Users and Payments endpoints",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "item": [
    {
      "name": "Users Management",
      "item": [
        {
          "name": "Login",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"email\": \"user@example.com\",\n  \"password\": \"password123\"\n}"
            },
            "url": {
              "raw": "{{base_url}}/api/users/login/",
              "host": ["{{base_url}}"],
              "path": ["api", "users", "login", ""]
            },
            "description": "Login user with email and password. Generates 6-digit confirmation code and sends to email."
          }
        },
        {
          "name": "Confirm Login",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"email\": \"user@example.com\",\n  \"code\": \"123456\"\n}"
            },
            "url": {
              "raw": "{{base_url}}/api/users/confirm/",
              "host": ["{{base_url}}"],
              "path": ["api", "users", "confirm", ""]
            },
            "description": "Confirm login with email and 6-digit code received via email. Creates session cookie."
          }
        },
        {
          "name": "Activate User",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"email\": \"user@example.com\",\n  \"code\": \"123456\"\n}"
            },
            "url": {
              "raw": "{{base_url}}/api/users/activate-user/",
              "host": ["{{base_url}}"],
              "path": ["api", "users", "activate-user", ""]
            },
            "description": "Activate a newly created user account with email and confirmation code"
          }
        },
        {
          "name": "Logout",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/users/logout/",
              "host": ["{{base_url}}"],
              "path": ["api", "users", "logout", ""]
            },
            "description": "Logout authenticated user. Requires valid session cookie."
          }
        },
        {
          "name": "Create User (Superuser only)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"email\": \"newuser@example.com\",\n  \"password\": \"securePassword123\",\n  \"company_id\": \"{{company_id}}\",\n  \"is_staff\": false\n}"
            },
            "url": {
              "raw": "{{base_url}}/api/users/create-user/",
              "host": ["{{base_url}}"],
              "path": ["api", "users", "create-user", ""]
            },
            "description": "Create new user account. Requires superuser authentication. Sends confirmation code to user email."
          }
        },
        {
          "name": "Confirm User Creation (Superuser only)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"email\": \"newuser@example.com\",\n  \"code\": \"123456\"\n}"
            },
            "url": {
              "raw": "{{base_url}}/api/users/confirm-user-creation/",
              "host": ["{{base_url}}"],
              "path": ["api", "users", "confirm-user-creation", ""]
            },
            "description": "Confirm and activate newly created user. Requires superuser authentication."
          }
        },
        {
           "name": "Resend Confirmation Code",
           "request": {
             "method": "POST",
             "header": [
               {
                 "key": "Content-Type",
                 "value": "application/json"
               }
             ],
             "body": {
               "mode": "raw",
               "raw": "{\n  \"email\": \"user@example.com\"\n}"
             },
             "url": {
               "raw": "{{base_url}}/api/users/resend-code-create-user/",
               "host": ["{{base_url}}"],
               "path": ["api", "users", "resend-code-create-user", ""]
             },
             "description": "Resend confirmation code to user email (only if user not yet active)"
           }
         },
        {
           "name": "Get Current User",
           "request": {
             "method": "GET",
             "header": [],
             "url": {
               "raw": "{{base_url}}/api/users/me/",
               "host": ["{{base_url}}"],
               "path": ["api", "users", "me", ""]
             },
             "description": "Get current authenticated user info including active company"
           }
         },
        {
           "name": "Set Active Company",
           "request": {
             "method": "POST",
             "header": [
               {
                 "key": "Content-Type",
                 "value": "application/json"
               }
             ],
             "body": {
               "mode": "raw",
               "raw": "{\n  \"company_id\": \"{{company_id}}\"\n}"
             },
             "url": {
               "raw": "{{base_url}}/api/users/set-active-company/",
               "host": ["{{base_url}}"],
               "path": ["api", "users", "set-active-company", ""]
             },
             "description": "Set the active company for authenticated user. User can have multiple companies but only one active at a time."
           }
         },
        {
          "name": "Block User (Superuser only)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"user_id\": \"{{user_id}}\",\n  \"reason\": \"Optional reason for blocking\"\n}"
            },
            "url": {
              "raw": "{{base_url}}/api/users/block-user/",
              "host": ["{{base_url}}"],
              "path": ["api", "users", "block-user", ""]
            },
            "description": "Block a user account. Requires superuser authentication."
          }
        },
        {
          "name": "Activate User (Superuser only)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"user_id\": \"{{user_id}}\"\n}"
            },
            "url": {
              "raw": "{{base_url}}/api/users/activate-user/",
              "host": ["{{base_url}}"],
              "path": ["api", "users", "activate-user", ""]
            },
            "description": "Activate a blocked or inactive user. Requires superuser authentication."
          }
        }
      ]
    },
    {
      "name": "Active Company Management",
      "item": [
        {
          "name": "Set Active Company",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"company_id\": \"{{company_id}}\"\n}"
            },
            "url": {
              "raw": "{{base_url}}/api/users/set-active-company/",
              "host": ["{{base_url}}"],
              "path": ["api", "users", "set-active-company", ""]
            },
            "description": "Set the active company for authenticated user. A user can have multiple companies but only one active at a time. All payment operations will use this company automatically."
          }
        },
        {
          "name": "Get Current User with Active Company",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/api/users/me/",
              "host": ["{{base_url}}"],
              "path": ["api", "users", "me", ""]
            },
            "description": "Get current authenticated user info including their active company details"
          }
        }
      ]
    },
    {
      "name": "Company Management",
      "item": [
        {
          "name": "Create Company (Superuser only)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Company Name\",\n  \"nui\": \"NUI123456\",\n  \"commerce_register\": \"CR123456\",\n  \"website\": \"https://company.com\",\n  \"user_ids\": [\"{{user_id}}\"]\n}"
            },
            "url": {
              "raw": "{{base_url}}/api/users/create-company/",
              "host": ["{{base_url}}"],
              "path": ["api", "users", "create-company", ""]
            },
            "description": "Create new company. Requires superuser authentication."
          }
        },
        {
          "name": "Upload Company Documents",
          "request": {
            "method": "POST",
            "header": [],
            "body": {
              "mode": "formdata",
              "formdata": [
                {
                  "key": "company_id",
                  "value": "{{company_id}}",
                  "type": "text"
                },
                {
                  "key": "logo",
                  "type": "file",
                  "src": []
                },
                {
                  "key": "document",
                  "type": "file",
                  "src": []
                }
              ]
            },
            "url": {
              "raw": "{{base_url}}/api/users/upload-company-documents/",
              "host": ["{{base_url}}"],
              "path": ["api", "users", "upload-company-documents", ""]
            },
            "description": "Upload company logo and documents. Multipart form data."
          }
        }
      ]
    },
    {
      "name": "Currency Management",
      "item": [
        {
          "name": "List Currencies",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/api/payments/currencies/",
              "host": ["{{base_url}}"],
              "path": ["api", "payments", "currencies", ""]
            },
            "description": "Get list of all currencies"
          }
        },
        {
          "name": "Get Currency Details",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/api/payments/currencies/{{currency_id}}/",
              "host": ["{{base_url}}"],
              "path": ["api", "payments", "currencies", "{{currency_id}}", ""]
            },
            "description": "Get details of a specific currency"
          }
        },
        {
          "name": "Create Currency",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"code\": \"USD\",\n  \"name\": \"US Dollar\",\n  \"symbol\": \"$\",\n  \"value_in_usd\": \"1.0\",\n  \"decimal_places\": 2,\n  \"is_active\": true,\n  \"is_default\": true\n}"
            },
            "url": {
              "raw": "{{base_url}}/api/payments/currencies/create/",
              "host": ["{{base_url}}"],
              "path": ["api", "payments", "currencies", "create", ""]
            },
            "description": "Create a new currency. Requires superuser authentication."
          }
        },
        {
          "name": "Update Currency",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"code\": \"USD\",\n  \"name\": \"US Dollar\",\n  \"symbol\": \"$\",\n  \"value_in_usd\": \"1.0\",\n  \"decimal_places\": 2,\n  \"is_active\": true,\n  \"is_default\": true\n}"
            },
            "url": {
              "raw": "{{base_url}}/api/payments/currencies/{{currency_id}}/update/",
              "host": ["{{base_url}}"],
              "path": ["api", "payments", "currencies", "{{currency_id}}", "update", ""]
            },
            "description": "Update currency details. Requires superuser authentication."
          }
        },
        {
          "name": "Delete Currency",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{base_url}}/api/payments/currencies/{{currency_id}}/delete/",
              "host": ["{{base_url}}"],
              "path": ["api", "payments", "currencies", "{{currency_id}}", "delete", ""]
            },
            "description": "Delete a currency. Requires superuser authentication."
          }
        }
      ]
    },
    {
      "name": "Payment Methods",
      "item": [
        {
          "name": "List Payment Methods",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/api/payments/payment-methods/",
              "host": ["{{base_url}}"],
              "path": ["api", "payments", "payment-methods", ""]
            },
            "description": "Get list of all payment methods"
          }
        },
        {
          "name": "Get Payment Method Details",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/api/payments/payment-methods/{{payment_method_id}}/",
              "host": ["{{base_url}}"],
              "path": ["api", "payments", "payment-methods", "{{payment_method_id}}", ""]
            },
            "description": "Get details of a specific payment method"
          }
        },
        {
          "name": "Create Payment Method",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Credit Card\",\n  \"type\": \"card\",\n  \"details\": {\n    \"issuer\": \"Visa\",\n    \"fee_percentage\": 2.5\n  },\n  \"is_active\": true\n}"
            },
            "url": {
              "raw": "{{base_url}}/api/payments/payment-methods/create/",
              "host": ["{{base_url}}"],
              "path": ["api", "payments", "payment-methods", "create", ""]
            },
            "description": "Create a new payment method. Requires superuser authentication."
          }
        },
        {
          "name": "Update Payment Method",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Credit Card\",\n  \"type\": \"card\",\n  \"details\": {\n    \"issuer\": \"MasterCard\",\n    \"fee_percentage\": 2.5\n  },\n  \"is_active\": true\n}"
            },
            "url": {
              "raw": "{{base_url}}/api/payments/payment-methods/{{payment_method_id}}/update/",
              "host": ["{{base_url}}"],
              "path": ["api", "payments", "payment-methods", "{{payment_method_id}}", "update", ""]
            },
            "description": "Update payment method details. Requires superuser authentication."
          }
        },
        {
          "name": "Delete Payment Method",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{base_url}}/api/payments/payment-methods/{{payment_method_id}}/delete/",
              "host": ["{{base_url}}"],
              "path": ["api", "payments", "payment-methods", "{{payment_method_id}}", "delete", ""]
            },
            "description": "Delete a payment method. Requires superuser authentication."
          }
        }
      ]
    },
    {
      "name": "Payments",
      "item": [
        {
          "name": "List Payments",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/api/payments/payments/",
              "host": ["{{base_url}}"],
              "path": ["api", "payments", "payments", ""]
            },
            "description": "Get list of all payments (filtered by company for non-superusers)"
          }
        },
        {
          "name": "Get Payment Details",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/api/payments/payments/{{payment_id}}/",
              "host": ["{{base_url}}"],
              "path": ["api", "payments", "payments", "{{payment_id}}", ""]
            },
            "description": "Get details of a specific payment"
          }
        },
        {
          "name": "Create Payment",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"company_id\": \"{{company_id}}\",\n  \"amount\": \"10000.00\",\n  \"currency_id\": \"{{currency_id}}\",\n  \"payment_type\": \"deposit\",\n  \"description\": \"Payment for services\",\n  \"status\": \"pending\"\n}"
            },
            "url": {
              "raw": "{{base_url}}/api/payments/payments/create/",
              "host": ["{{base_url}}"],
              "path": ["api", "payments", "payments", "create", ""]
            },
            "description": "Create a new payment"
          }
        },
        {
          "name": "Update Payment",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"amount\": \"15000.00\",\n  \"description\": \"Updated payment description\",\n  \"status\": \"completed\"\n}"
            },
            "url": {
              "raw": "{{base_url}}/api/payments/payments/{{payment_id}}/update/",
              "host": ["{{base_url}}"],
              "path": ["api", "payments", "payments", "{{payment_id}}", "update", ""]
            },
            "description": "Update payment details"
          }
        },
        {
          "name": "Delete Payment",
          "request": {
            "method": "DELETE",
            "url": {
              "raw": "{{base_url}}/api/payments/payments/{{payment_id}}/delete/",
              "host": ["{{base_url}}"],
              "path": ["api", "payments", "payments", "{{payment_id}}", "delete", ""]
            },
            "description": "Delete a payment"
          }
        },
        {
          "name": "Complete Payment",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/payments/payments/{{payment_id}}/complete/",
              "host": ["{{base_url}}"],
              "path": ["api", "payments", "payments", "{{payment_id}}", "complete", ""]
            },
            "description": "Mark a payment as completed"
          }
        },
        {
          "name": "Cancel Payment",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/payments/payments/{{payment_id}}/cancel/",
              "host": ["{{base_url}}"],
              "path": ["api", "payments", "payments", "{{payment_id}}", "cancel", ""]
            },
            "description": "Cancel a payment"
          }
        },
        {
          "name": "Initiate Payment",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"amount\": 10000,\n  \"currency\": \"XAF\",\n  \"payment_type\": \"deposit\",\n  \"email\": \"user@example.com\",\n  \"phone\": \"+237600000000\",\n  \"description\": \"Payment for services\"\n}"
            },
            "url": {
              "raw": "{{base_url}}/api/payments/initiate/",
              "host": ["{{base_url}}"],
              "path": ["api", "payments", "initiate", ""]
            },
            "description": "Initiate a new payment transaction. For regular users, automatically uses their active company. Superusers can optionally provide company_id."
          }
        },
        {
          "name": "Initiate Payment (Superuser with company_id)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"company_id\": \"{{company_id}}\",\n  \"amount\": 10000,\n  \"currency\": \"XAF\",\n  \"payment_type\": \"deposit\",\n  \"email\": \"user@example.com\",\n  \"phone\": \"+237600000000\",\n  \"description\": \"Payment for services\"\n}"
            },
            "url": {
              "raw": "{{base_url}}/api/payments/initiate/",
              "host": ["{{base_url}}"],
              "path": ["api", "payments", "initiate", ""]
            },
            "description": "Initiate payment with explicit company_id (Superuser only)"
          }
        },
        {
          "name": "Verify Payment",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"reference\": \"TXN-XXXXXXXXXXXXX\"\n}"
            },
            "url": {
              "raw": "{{base_url}}/api/payments/verify/",
              "host": ["{{base_url}}"],
              "path": ["api", "payments", "verify", ""]
            },
            "description": "Verify payment status using transaction reference"
          }
        }
      ]
    },
    {
      "name": "Payment Transactions",
      "item": [
        {
          "name": "List Transactions",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/api/payments/transactions/",
              "host": ["{{base_url}}"],
              "path": ["api", "payments", "transactions", ""]
            },
            "description": "Get list of all payment transactions"
          }
        },
        {
          "name": "Get Transaction Details",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/api/payments/transactions/{{transaction_id}}/",
              "host": ["{{base_url}}"],
              "path": ["api", "payments", "transactions", "{{transaction_id}}", ""]
            },
            "description": "Get details of a specific transaction"
          }
        },
        {
          "name": "Create Transaction",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"payment_id\": \"{{payment_id}}\",\n  \"amount\": \"10000.00\",\n  \"currency_id\": \"{{currency_id}}\",\n  \"status\": \"pending\"\n}"
            },
            "url": {
              "raw": "{{base_url}}/api/payments/transactions/create/",
              "host": ["{{base_url}}"],
              "path": ["api", "payments", "transactions", "create", ""]
            },
            "description": "Create a new payment transaction"
          }
        },
        {
          "name": "Update Transaction",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"status\": \"completed\",\n  \"description\": \"Updated transaction\"\n}"
            },
            "url": {
              "raw": "{{base_url}}/api/payments/transactions/{{transaction_id}}/update/",
              "host": ["{{base_url}}"],
              "path": ["api", "payments", "transactions", "{{transaction_id}}", "update", ""]
            },
            "description": "Update transaction details"
          }
        },
        {
          "name": "Delete Transaction",
          "request": {
            "method": "DELETE",
            "url": {
              "raw": "{{base_url}}/api/payments/transactions/{{transaction_id}}/delete/",
              "host": ["{{base_url}}"],
              "path": ["api", "payments", "transactions", "{{transaction_id}}", "delete", ""]
            },
            "description": "Delete a transaction"
          }
        }
      ]
    },
    {
      "name": "Payment Balance",
      "item": [
        {
          "name": "List Balances",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/api/payments/balances/",
              "host": ["{{base_url}}"],
              "path": ["api", "payments", "balances", ""]
            },
            "description": "Get list of all payment balances"
          }
        },
        {
          "name": "Get Balance Details",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/api/payments/balances/{{company_id}}/",
              "host": ["{{base_url}}"],
              "path": ["api", "payments", "balances", "{{company_id}}", ""]
            },
            "description": "Get balance details for a specific company"
          }
        },
        {
          "name": "Update Balance",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"available_balance\": \"50000.00\",\n  \"pending_balance\": \"10000.00\"\n}"
            },
            "url": {
              "raw": "{{base_url}}/api/payments/balances/{{company_id}}/update/",
              "host": ["{{base_url}}"],
              "path": ["api", "payments", "balances", "{{company_id}}", "update", ""]
            },
            "description": "Update company payment balance (superuser only)"
          }
        }
      ]
    },
    {
      "name": "Offers",
      "item": [
        {
          "name": "List Offers",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/api/payments/offers/",
              "host": ["{{base_url}}"],
              "path": ["api", "payments", "offers", ""]
            },
            "description": "Get list of all offers"
          }
        },
        {
          "name": "Get Offer Details",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/api/payments/offers/{{offer_id}}/",
              "host": ["{{base_url}}"],
              "path": ["api", "payments", "offers", "{{offer_id}}", ""]
            },
            "description": "Get details of a specific offer"
          }
        },
        {
          "name": "Create Offer",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Premium Package\",\n  \"description\": \"Premium offer\",\n  \"price\": \"5000.00\",\n  \"currency_id\": \"{{currency_id}}\",\n  \"company_id\": \"{{company_id}}\",\n  \"offer_type\": \"ticket\",\n  \"is_active\": true,\n  \"is_featured\": false,\n  \"category\": \"Premium\"\n}"
            },
            "url": {
              "raw": "{{base_url}}/api/payments/offers/create/",
              "host": ["{{base_url}}"],
              "path": ["api", "payments", "offers", "create", ""]
            },
            "description": "Create a new offer"
          }
        },
        {
          "name": "Update Offer",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Premium Package\",\n  \"description\": \"Updated premium offer\",\n  \"price\": \"6000.00\",\n  \"is_active\": true,\n  \"is_featured\": true,\n  \"category\": \"Premium\"\n}"
            },
            "url": {
              "raw": "{{base_url}}/api/payments/offers/{{offer_id}}/update/",
              "host": ["{{base_url}}"],
              "path": ["api", "payments", "offers", "{{offer_id}}", "update", ""]
            },
            "description": "Update offer details"
          }
        },
        {
          "name": "Delete Offer",
          "request": {
            "method": "DELETE",
            "url": {
              "raw": "{{base_url}}/api/payments/offers/{{offer_id}}/delete/",
              "host": ["{{base_url}}"],
              "path": ["api", "payments", "offers", "{{offer_id}}", "delete", ""]
            },
            "description": "Delete an offer"
          }
        },
        {
          "name": "Activate Offer",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{base_url}}/api/payments/offers/{{offer_id}}/activate/",
              "host": ["{{base_url}}"],
              "path": ["api", "payments", "offers", "{{offer_id}}", "activate", ""]
            },
            "description": "Activate an offer"
          }
        },
        {
          "name": "Deactivate Offer",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{base_url}}/api/payments/offers/{{offer_id}}/deactivate/",
              "host": ["{{base_url}}"],
              "path": ["api", "payments", "offers", "{{offer_id}}", "deactivate", ""]
            },
            "description": "Deactivate an offer"
          }
        }
      ]
    },
    {
      "name": "Offer Groups",
      "item": [
        {
          "name": "List Offer Groups",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/api/payments/offer-groups/",
              "host": ["{{base_url}}"],
              "path": ["api", "payments", "offer-groups", ""]
            },
            "description": "Get list of all offer groups"
          }
        },
        {
          "name": "Get Offer Group Details",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/api/payments/offer-groups/{{group_id}}/",
              "host": ["{{base_url}}"],
              "path": ["api", "payments", "offer-groups", "{{group_id}}", ""]
            },
            "description": "Get details of a specific offer group"
          }
        },
        {
          "name": "Create Offer Group",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Premium Group\",\n  \"description\": \"Group of premium offers\",\n  \"company_id\": \"{{company_id}}\"\n}"
            },
            "url": {
              "raw": "{{base_url}}/api/payments/offer-groups/create/",
              "host": ["{{base_url}}"],
              "path": ["api", "payments", "offer-groups", "create", ""]
            },
            "description": "Create a new offer group"
          }
        },
        {
          "name": "Update Offer Group",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Premium Group\",\n  \"description\": \"Updated group of premium offers\"\n}"
            },
            "url": {
              "raw": "{{base_url}}/api/payments/offer-groups/{{group_id}}/update/",
              "host": ["{{base_url}}"],
              "path": ["api", "payments", "offer-groups", "{{group_id}}", "update", ""]
            },
            "description": "Update offer group details"
          }
        },
        {
          "name": "Delete Offer Group",
          "request": {
            "method": "DELETE",
            "url": {
              "raw": "{{base_url}}/api/payments/offer-groups/{{group_id}}/delete/",
              "host": ["{{base_url}}"],
              "path": ["api", "payments", "offer-groups", "{{group_id}}", "delete", ""]
            },
            "description": "Delete an offer group"
          }
        }
      ]
    },
    {
      "name": "Products",
      "item": [
        {
          "name": "List Products",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/api/payments/products/",
              "host": ["{{base_url}}"],
              "path": ["api", "payments", "products", ""]
            },
            "description": "Get list of all products"
          }
        },
        {
          "name": "Get Product Details",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/api/payments/products/{{product_id}}/",
              "host": ["{{base_url}}"],
              "path": ["api", "payments", "products", "{{product_id}}", ""]
            },
            "description": "Get details of a specific product"
          }
        },
        {
          "name": "Create Product",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Product Name\",\n  \"description\": \"Product description\",\n  \"price\": \"3000.00\",\n  \"currency_id\": \"{{currency_id}}\",\n  \"company_id\": \"{{company_id}}\",\n  \"category\": \"Electronics\",\n  \"stock_quantity\": 100,\n  \"is_active\": true,\n  \"is_featured\": false\n}"
            },
            "url": {
              "raw": "{{base_url}}/api/payments/products/create/",
              "host": ["{{base_url}}"],
              "path": ["api", "payments", "products", "create", ""]
            },
            "description": "Create a new product"
          }
        },
        {
          "name": "Update Product",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Product Name\",\n  \"description\": \"Updated product description\",\n  \"price\": \"3500.00\",\n  \"stock_quantity\": 150,\n  \"is_active\": true,\n  \"is_featured\": true\n}"
            },
            "url": {
              "raw": "{{base_url}}/api/payments/products/{{product_id}}/update/",
              "host": ["{{base_url}}"],
              "path": ["api", "payments", "products", "{{product_id}}", "update", ""]
            },
            "description": "Update product details"
          }
        },
        {
          "name": "Delete Product",
          "request": {
            "method": "DELETE",
            "url": {
              "raw": "{{base_url}}/api/payments/products/{{product_id}}/delete/",
              "host": ["{{base_url}}"],
              "path": ["api", "payments", "products", "{{product_id}}", "delete", ""]
            },
            "description": "Delete a product"
          }
        },
        {
          "name": "Activate Product",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{base_url}}/api/payments/products/{{product_id}}/activate/",
              "host": ["{{base_url}}"],
              "path": ["api", "payments", "products", "{{product_id}}", "activate", ""]
            },
            "description": "Activate a product"
          }
        },
        {
          "name": "Deactivate Product",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{base_url}}/api/payments/products/{{product_id}}/deactivate/",
              "host": ["{{base_url}}"],
              "path": ["api", "payments", "products", "{{product_id}}", "deactivate", ""]
            },
            "description": "Deactivate a product"
          }
        }
      ]
    },
    {
      "name": "Tickets",
      "item": [
        {
          "name": "List Tickets",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/api/payments/tickets/",
              "host": ["{{base_url}}"],
              "path": ["api", "payments", "tickets", ""]
            },
            "description": "Get list of all tickets"
          }
        },
        {
          "name": "Get Ticket Details",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/api/payments/tickets/{{ticket_id}}/",
              "host": ["{{base_url}}"],
              "path": ["api", "payments", "tickets", "{{ticket_id}}", ""]
            },
            "description": "Get details of a specific ticket"
          }
        },
        {
          "name": "Create Ticket",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"ticket_id\": \"TICKET-001\",\n  \"password\": \"securepass123\",\n  \"offer_id\": \"{{offer_id}}\",\n  \"company_id\": \"{{company_id}}\",\n  \"is_valid\": true,\n  \"is_used\": false\n}"
            },
            "url": {
              "raw": "{{base_url}}/api/payments/tickets/create/",
              "host": ["{{base_url}}"],
              "path": ["api", "payments", "tickets", "create", ""]
            },
            "description": "Create a new ticket"
          }
        },
        {
          "name": "Validate Ticket",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/payments/tickets/{{ticket_id}}/validate/",
              "host": ["{{base_url}}"],
              "path": ["api", "payments", "tickets", "{{ticket_id}}", "validate", ""]
            },
            "description": "Validate a ticket"
          }
        },
        {
          "name": "Use Ticket",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/payments/tickets/{{ticket_id}}/use/",
              "host": ["{{base_url}}"],
              "path": ["api", "payments", "tickets", "{{ticket_id}}", "use", ""]
            },
            "description": "Mark a ticket as used"
          }
        }
      ]
    },
    {
      "name": "Withdrawal Accounts",
      "item": [
        {
          "name": "List Withdrawal Accounts",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/api/payments/withdrawal-accounts/",
              "host": ["{{base_url}}"],
              "path": ["api", "payments", "withdrawal-accounts", ""]
            },
            "description": "Get list of all withdrawal accounts"
          }
        },
        {
          "name": "Get Withdrawal Account Details",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/api/payments/withdrawal-accounts/{{account_id}}/",
              "host": ["{{base_url}}"],
              "path": ["api", "payments", "withdrawal-accounts", "{{account_id}}", ""]
            },
            "description": "Get details of a specific withdrawal account"
          }
        },
        {
          "name": "Create Withdrawal Account",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"company_id\": \"{{company_id}}\",\n  \"account_type\": \"bank_account\",\n  \"provider\": \"Bank Name\",\n  \"account_number\": \"1234567890\",\n  \"account_name\": \"Account Holder Name\",\n  \"details\": {\n    \"swift_code\": \"BNAGFRPP\",\n    \"branch\": \"Main Branch\"\n  },\n  \"is_active\": true,\n  \"is_verified\": false,\n  \"verification_status\": \"pending\"\n}"
            },
            "url": {
              "raw": "{{base_url}}/api/payments/withdrawal-accounts/create/",
              "host": ["{{base_url}}"],
              "path": ["api", "payments", "withdrawal-accounts", "create", ""]
            },
            "description": "Create a new withdrawal account"
          }
        },
        {
          "name": "Update Withdrawal Account",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"account_type\": \"bank_account\",\n  \"provider\": \"Updated Bank Name\",\n  \"account_number\": \"9876543210\",\n  \"account_name\": \"Updated Name\",\n  \"details\": {\n    \"swift_code\": \"BNAGFRPP\",\n    \"branch\": \"New Branch\"\n  },\n  \"is_active\": true\n}"
            },
            "url": {
              "raw": "{{base_url}}/api/payments/withdrawal-accounts/{{account_id}}/update/",
              "host": ["{{base_url}}"],
              "path": ["api", "payments", "withdrawal-accounts", "{{account_id}}", "update", ""]
            },
            "description": "Update withdrawal account details"
          }
        },
        {
          "name": "Delete Withdrawal Account",
          "request": {
            "method": "DELETE",
            "url": {
              "raw": "{{base_url}}/api/payments/withdrawal-accounts/{{account_id}}/delete/",
              "host": ["{{base_url}}"],
              "path": ["api", "payments", "withdrawal-accounts", "{{account_id}}", "delete", ""]
            },
            "description": "Delete a withdrawal account"
          }
        },
        {
          "name": "Verify Withdrawal Account",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/payments/withdrawal-accounts/{{account_id}}/verify/",
              "host": ["{{base_url}}"],
              "path": ["api", "payments", "withdrawal-accounts", "{{account_id}}", "verify", ""]
            },
            "description": "Verify a withdrawal account"
          }
        },
        {
          "name": "Reject Withdrawal Account",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"reason\": \"Account verification failed\"\n}"
            },
            "url": {
              "raw": "{{base_url}}/api/payments/withdrawal-accounts/{{account_id}}/reject/",
              "host": ["{{base_url}}"],
              "path": ["api", "payments", "withdrawal-accounts", "{{account_id}}", "reject", ""]
            },
            "description": "Reject a withdrawal account verification"
          }
        }
      ]
    },
    {
      "name": "Payment APIs",
      "item": [
        {
          "name": "List Payment APIs",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/api/payments/payment-apis/",
              "host": ["{{base_url}}"],
              "path": ["api", "payments", "payment-apis", ""]
            },
            "description": "Get list of all payment APIs"
          }
        },
        {
          "name": "Get Payment API Details",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/api/payments/payment-apis/{{api_id}}/",
              "host": ["{{base_url}}"],
              "path": ["api", "payments", "payment-apis", "{{api_id}}", ""]
            },
            "description": "Get details of a specific payment API"
          }
        },
        {
          "name": "Create Payment API",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"company_id\": \"{{company_id}}\",\n  \"name\": \"API Name\",\n  \"api_key\": \"api_key_here\",\n  \"api_secret\": \"api_secret_here\",\n  \"provider\": \"stripe\",\n  \"is_active\": true,\n  \"is_revoked\": false,\n  \"daily_limit\": \"10000.00\",\n  \"monthly_limit\": \"100000.00\",\n  \"total_limit\": null\n}"
            },
            "url": {
              "raw": "{{base_url}}/api/payments/payment-apis/create/",
              "host": ["{{base_url}}"],
              "path": ["api", "payments", "payment-apis", "create", ""]
            },
            "description": "Create a new payment API"
          }
        },
        {
          "name": "Update Payment API",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Updated API Name\",\n  \"is_active\": true,\n  \"daily_limit\": \"15000.00\",\n  \"monthly_limit\": \"150000.00\"\n}"
            },
            "url": {
              "raw": "{{base_url}}/api/payments/payment-apis/{{api_id}}/update/",
              "host": ["{{base_url}}"],
              "path": ["api", "payments", "payment-apis", "{{api_id}}", "update", ""]
            },
            "description": "Update payment API details"
          }
        },
        {
          "name": "Delete Payment API",
          "request": {
            "method": "DELETE",
            "url": {
              "raw": "{{base_url}}/api/payments/payment-apis/{{api_id}}/delete/",
              "host": ["{{base_url}}"],
              "path": ["api", "payments", "payment-apis", "{{api_id}}", "delete", ""]
            },
            "description": "Delete a payment API"
          }
        },
        {
          "name": "Revoke Payment API",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{base_url}}/api/payments/payment-apis/{{api_id}}/revoke/",
              "host": ["{{base_url}}"],
              "path": ["api", "payments", "payment-apis", "{{api_id}}", "revoke", ""]
            },
            "description": "Revoke a payment API"
          }
        },
        {
          "name": "Activate Payment API",
          "request": {
            "method": "POST",
            "url": {
              "raw": "{{base_url}}/api/payments/payment-apis/{{api_id}}/activate/",
              "host": ["{{base_url}}"],
              "path": ["api", "payments", "payment-apis", "{{api_id}}", "activate", ""]
            },
            "description": "Activate a payment API"
          }
        }
      ]
    },
    {
      "name": "Payment Logs",
      "item": [
        {
           "name": "List Payment Logs",
           "request": {
             "method": "GET",
             "header": [],
             "url": {
               "raw": "{{base_url}}/api/payments/logs/",
               "host": ["{{base_url}}"],
               "path": ["api", "payments", "logs", ""]
             },
             "description": "List all payment logs (filtered by company for non-superusers)"
           }
         },
         {
           "name": "Get Payment Log Details",
           "request": {
             "method": "GET",
             "header": [],
             "url": {
               "raw": "{{base_url}}/api/payments/logs/{{log_id}}/",
               "host": ["{{base_url}}"],
               "path": ["api", "payments", "logs", "{{log_id}}", ""]
             },
             "description": "Get specific payment log details"
           }
         },
         {
           "name": "Company Payment Logs",
           "request": {
             "method": "GET",
             "header": [],
             "url": {
               "raw": "{{base_url}}/api/payments/logs/company/{{company_id}}/",
               "host": ["{{base_url}}"],
               "path": ["api", "payments", "logs", "company", "{{company_id}}", ""]
             },
             "description": "Get all payment logs for a specific company"
           }
         },
         {
           "name": "User Payment Logs",
           "request": {
             "method": "GET",
             "header": [],
             "url": {
               "raw": "{{base_url}}/api/payments/logs/user/{{user_id}}/",
               "host": ["{{base_url}}"],
               "path": ["api", "payments", "logs", "user", "{{user_id}}", ""]
             },
             "description": "Get payment logs for a specific user"
           }
         }
      ]
    },
    {
      "name": "Offer Payments",
      "item": [
        {
          "name": "Initiate Offer Payment",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"offer_id\": \"{{offer_id}}\",\n  \"company_id\": \"{{company_id}}\",\n  \"amount\": 5000,\n  \"currency\": \"XAF\",\n  \"email\": \"user@example.com\",\n  \"phone\": \"+237600000000\"\n}"
            },
            "url": {
              "raw": "{{base_url}}/api/payments/offers-payment/initiate/",
              "host": ["{{base_url}}"],
              "path": ["api", "payments", "offers-payment", "initiate", ""]
            },
            "description": "Initiate payment for an offer"
          }
        },
        {
          "name": "Verify Offer Payment",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"reference\": \"TXN-XXXXXXXXXXXXX\"\n}"
            },
            "url": {
              "raw": "{{base_url}}/api/payments/offers-payment/verify/",
              "host": ["{{base_url}}"],
              "path": ["api", "payments", "offers-payment", "verify", ""]
            },
            "description": "Verify offer payment status using transaction reference"
          }
        }
      ]
    },
    {
      "name": "Company Specific Endpoints",
      "item": [
        {
          "name": "Company Payments",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/api/payments/companies/{{company_id}}/payments/",
              "host": ["{{base_url}}"],
              "path": ["api", "payments", "companies", "{{company_id}}", "payments", ""]
            },
            "description": "Get all payments for a specific company"
          }
        },
        {
          "name": "Company Offers",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/api/payments/companies/{{company_id}}/offers/",
              "host": ["{{base_url}}"],
              "path": ["api", "payments", "companies", "{{company_id}}", "offers", ""]
            },
            "description": "Get all active offers for a specific company"
          }
        },
        {
          "name": "Company Products",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/api/payments/companies/{{company_id}}/products/",
              "host": ["{{base_url}}"],
              "path": ["api", "payments", "companies", "{{company_id}}", "products", ""]
            },
            "description": "Get all active products for a specific company"
          }
        },
        {
          "name": "Company Tickets",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/api/payments/companies/{{company_id}}/tickets/",
              "host": ["{{base_url}}"],
              "path": ["api", "payments", "companies", "{{company_id}}", "tickets", ""]
            },
            "description": "Get all tickets for a specific company"
          }
        },
        {
          "name": "Company Balance",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/api/payments/companies/{{company_id}}/balances/",
              "host": ["{{base_url}}"],
              "path": ["api", "payments", "companies", "{{company_id}}", "balances", ""]
            },
            "description": "Get payment balance for a specific company"
          }
        },
        {
          "name": "Company Withdrawal Accounts",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/api/payments/companies/{{company_id}}/withdrawal-accounts/",
              "host": ["{{base_url}}"],
              "path": ["api", "payments", "companies", "{{company_id}}", "withdrawal-accounts", ""]
            },
            "description": "Get all withdrawal accounts for a specific company"
          }
        }
      ]
    }
  ],
  "variable": [
    {
      "key": "base_url",
      "value": "http://localhost:8000",
      "type": "string"
    },
    {
      "key": "currency_id",
      "value": "",
      "type": "string"
    },
    {
      "key": "payment_method_id",
      "value": "",
      "type": "string"
    },
    {
      "key": "payment_id",
      "value": "",
      "type": "string"
    },
    {
      "key": "transaction_id",
      "value": "",
      "type": "string"
    },
    {
      "key": "company_id",
      "value": "",
      "type": "string"
    },
    {
      "key": "offer_id",
      "value": "",
      "type": "string"
    },
    {
      "key": "group_id",
      "value": "",
      "type": "string"
    },
    {
      "key": "product_id",
      "value": "",
      "type": "string"
    },
    {
      "key": "ticket_id",
      "value": "",
      "type": "string"
    },
    {
      "key": "account_id",
      "value": "",
      "type": "string"
    },
    {
      "key": "api_id",
      "value": "",
      "type": "string"
    },
    {
      "key": "log_id",
      "value": "",
      "type": "string"
    },
    {
      "key": "user_id",
      "value": "",
      "type": "string"
    }
  ]
}
