{"info":{"_postman_id":"37a023f9-bc63-4b01-b2da-5bacee6523da","name":"GHStoreHub API Documentation","description":"<html><head></head><body><h1 id=\"overview\">Overview</h1>\n<p>Welcome to the <strong>GHStoreHub API</strong>! This API provides programmatic access to the GHStoreHub e-commerce platform, enabling developers to integrate product catalog management, user profile operations, and transaction processing into their applications. Whether you're building a mobile app, web storefront, or third-party integration, this API offers the tools you need to interact with the GHStoreHub ecosystem.</p>\n<h2 id=\"base-url\">Base URL</h2>\n<p>All API requests should be made to:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>https://ghstorehub.com/api\n\n</code></pre><h2 id=\"authentication\">Authentication</h2>\n<h3 id=\"api-key-authentication\">API Key Authentication</h3>\n<p>The GHStoreHub API uses <strong>API Key authentication</strong> to secure all endpoints. You must include your API key in the request header for every API call.</p>\n<p><strong>Header Format:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>Authorization: ApiKey YOUR_API_KEY_HERE\n\n</code></pre><h3 id=\"getting-your-api-key\">Getting Your API Key</h3>\n<ol>\n<li><p>Log in to your GHStoreHub account at <a href=\"https://ghstorehub.com\">https://ghstorehub.com</a></p>\n</li>\n<li><p>Navigate to <strong>Profile</strong> &gt; <strong>API Key</strong></p>\n</li>\n</ol>\n<img src=\"https://content.pstmn.io/7c7bc9f3-efef-41f4-88e1-04d0e6eaffc7/aW1hZ2UucG5n\" alt=\"Access%20your%20api%20key%20via%20profile\" width=\"1305\" height=\"632\">\n\n<p>3. Generate a new API key or copy your existing key</p>\n<p>4. Store your API key securely - treat it like a password</p>\n<p><strong>Important:</strong> Never share your API key publicly or commit it to version control. Use environment variables to store sensitive credentials.</p>\n<h2 id=\"available-endpoints\">Available Endpoints</h2>\n<p>This collection includes the following endpoints:</p>\n<h3 id=\"products\">Products</h3>\n<ul>\n<li><strong>GET</strong> <code>/products/all-products</code> - Retrieve all products in the catalog with optional filtering, pagination, and search capabilities</li>\n</ul>\n<h3 id=\"user-management\">User Management</h3>\n<ul>\n<li><strong>GET</strong> <code>/user/profile</code> - Fetch the authenticated user's profile information, including wallet balance, transaction history, and account status</li>\n</ul>\n<h2 id=\"common-response-codes\">Common Response Codes</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Status Code</th>\n<th>Meaning</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>200</strong></td>\n<td>OK</td>\n<td>Request successful</td>\n</tr>\n<tr>\n<td><strong>201</strong></td>\n<td>Created</td>\n<td>Resource successfully created</td>\n</tr>\n<tr>\n<td><strong>400</strong></td>\n<td>Bad Request</td>\n<td>Invalid request parameters or malformed JSON</td>\n</tr>\n<tr>\n<td><strong>401</strong></td>\n<td>Unauthorized</td>\n<td>Missing or invalid API key</td>\n</tr>\n<tr>\n<td><strong>403</strong></td>\n<td>Forbidden</td>\n<td>Valid API key but insufficient permissions</td>\n</tr>\n<tr>\n<td><strong>404</strong></td>\n<td>Not Found</td>\n<td>Requested resource doesn't exist</td>\n</tr>\n<tr>\n<td><strong>429</strong></td>\n<td>Too Many Requests</td>\n<td>Rate limit exceeded</td>\n</tr>\n<tr>\n<td><strong>500</strong></td>\n<td>Internal Server Error</td>\n<td>Server-side error occurred</td>\n</tr>\n<tr>\n<td><strong>503</strong></td>\n<td>Service Unavailable</td>\n<td>Service temporarily unavailable</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"getting-started\">Getting Started</h2>\n<h3 id=\"step-1-set-up-environment-variables\">Step 1: Set Up Environment Variables</h3>\n<p>Create environment variables in Postman to manage your API credentials:</p>\n<ol>\n<li><p>Click the <strong>Environments</strong> tab in Postman</p>\n</li>\n<li><p>Create a new environment (e.g., \"GHStoreHub Production\")</p>\n</li>\n<li><p>Add the following variables:</p>\n<ul>\n<li><p><code>base_url</code> = <code>https://ghstorehub.com/api</code></p>\n</li>\n<li><p><code>api_key</code> = <code>YOUR_API_KEY_HERE</code></p>\n</li>\n</ul>\n</li>\n</ol>\n<h3 id=\"step-2-configure-collection-authorization\">Step 2: Configure Collection Authorization</h3>\n<ol>\n<li><p>Select this collection</p>\n</li>\n<li><p>Go to the <strong>Authorization</strong> tab</p>\n</li>\n<li><p>Set the authorization to inherit from parent or configure it at the request level</p>\n</li>\n<li><p>Use <code>{{api_key}}</code> variable in the Authorization header</p>\n</li>\n</ol>\n<h3 id=\"step-3-make-your-first-request\">Step 3: Make Your First Request</h3>\n<p>Start with the <strong>Fetch User Profile</strong> endpoint to verify your authentication:</p>\n<ol>\n<li><p>Open the \"Fetch User Profile\" request</p>\n</li>\n<li><p>Ensure your environment is selected</p>\n</li>\n<li><p>Click <strong>Send</strong></p>\n</li>\n<li><p>You should receive a 200 OK response with your profile data</p>\n</li>\n</ol>\n<h3 id=\"step-4-explore-product-endpoints\">Step 4: Explore Product Endpoints</h3>\n<p>Once authenticated, explore the product catalog:</p>\n<ol>\n<li><p>Open the \"Fetch All Products\" request</p>\n</li>\n<li><p>Try adding query parameters for filtering (e.g., <code>?category=electronics</code>)</p>\n</li>\n<li><p>Experiment with pagination using <code>page</code> and <code>limit</code> parameters</p>\n</li>\n</ol>\n<h2 id=\"response-format\">Response Format</h2>\n<p>All API responses follow a consistent JSON structure:</p>\n<p><strong>Success Response:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"success\": true,\n  \"data\": { ... },\n  \"message\": \"Optional success message\"\n}\n\n</code></pre>\n<p><strong>Error Response:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"success\": false,\n  \"error\": \"Error description\",\n  \"code\": \"ERROR_CODE\"\n}\n\n</code></pre>\n<h2 id=\"data-types--formats\">Data Types &amp; Formats</h2>\n<ul>\n<li><p><strong>Dates:</strong> ISO 8601 format (e.g., <code>2024-01-15T10:30:00Z</code>)</p>\n</li>\n<li><p><strong>Currency:</strong> Decimal strings to preserve precision (e.g., <code>\"2499.99\"</code>)</p>\n</li>\n<li><p><strong>Phone Numbers:</strong> String format with country code</p>\n</li>\n<li><p><strong>IDs:</strong> MongoDB ObjectId format (24-character hexadecimal string)</p>\n</li>\n</ul>\n<h2 id=\"support--resources\">Support &amp; Resources</h2>\n<ul>\n<li><strong>Support:</strong> Contact <a href=\"https://mailto:support@ghstorehub.com\">support@ghstorehub.com</a> for technical assistance</li>\n</ul>\n<h2 id=\"best-practices\">Best Practices</h2>\n<ol>\n<li><p><strong>Error Handling:</strong> Always implement proper error handling for all response codes</p>\n</li>\n<li><p><strong>Retry Logic:</strong> Use exponential backoff for failed requests</p>\n</li>\n<li><p><strong>Caching:</strong> Cache product data to reduce API calls and improve performance</p>\n</li>\n<li><p><strong>Security:</strong> Never expose your API key in client-side code</p>\n</li>\n<li><p><strong>Validation:</strong> Validate data before sending requests to avoid 400 errors</p>\n</li>\n</ol>\n<hr>\n<p><strong>Last Updated:</strong> 18 April 2026<br><strong>API Version:</strong> 1.0</p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[{"content":"Overview","slug":"overview"}],"owner":"32176725","collectionId":"37a023f9-bc63-4b01-b2da-5bacee6523da","publishedId":"2sB3dPTWSA","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2026-04-18T13:42:39.000Z"},"item":[{"name":"Fetch User Profile","id":"2c7c2079-f4a8-43f2-af46-79063a8c6459","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Authorization","value":"ApiKey xxxxxx","type":"text"}],"url":"https://ghstorehub.com/api/user/profile","description":"<h1 id=\"👤fetch-user-profile\">👤Fetch User Profile</h1>\n<h2 id=\"overview\">Overview</h2>\n<p>This endpoint retrieves the authenticated user's complete profile information from the GHStoreHub platform. It returns comprehensive details about the user's account, including personal information, wallet balance, role permissions, and activity statistics.</p>\n<h2 id=\"authentication\">Authentication</h2>\n<p><strong>Required:</strong> API Key authentication</p>\n<p>This endpoint requires a valid API key to be included in the request header:</p>\n<ul>\n<li><p><strong>Header:</strong> <code>Authorization</code></p>\n</li>\n<li><p><strong>Format:</strong> <code>ApiKey</code></p>\n</li>\n<li><p><strong>Example:</strong> <code>Authorization: ApiKey</code></p>\n</li>\n</ul>\n<h2 id=\"response-structure\">Response Structure</h2>\n<h3 id=\"success-response-200-ok\">Success Response (200 OK)</h3>\n<p>The endpoint returns a JSON object with the following fields:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>success</code></td>\n<td>boolean</td>\n<td>Indicates if the request was successful</td>\n</tr>\n<tr>\n<td><code>_id</code></td>\n<td>string</td>\n<td>Unique identifier for the user</td>\n</tr>\n<tr>\n<td><code>firstName</code></td>\n<td>string</td>\n<td>User's first name</td>\n</tr>\n<tr>\n<td><code>lastName</code></td>\n<td>string</td>\n<td>User's last name</td>\n</tr>\n<tr>\n<td><code>wallet_balance</code></td>\n<td>string</td>\n<td>Current wallet balance (decimal format)</td>\n</tr>\n<tr>\n<td><code>phoneNumber</code></td>\n<td>string</td>\n<td>User's registered phone number</td>\n</tr>\n<tr>\n<td><code>email</code></td>\n<td>string</td>\n<td>User's email address</td>\n</tr>\n<tr>\n<td><code>isAdmin</code></td>\n<td>boolean</td>\n<td>Whether the user has admin privileges</td>\n</tr>\n<tr>\n<td><code>isAgent</code></td>\n<td>boolean</td>\n<td>Whether the user is registered as an agent</td>\n</tr>\n<tr>\n<td><code>isSuspended</code></td>\n<td>boolean</td>\n<td>Account suspension status</td>\n</tr>\n<tr>\n<td><code>transactions</code></td>\n<td>integer</td>\n<td>Total number of transactions completed</td>\n</tr>\n<tr>\n<td><code>totalSales</code></td>\n<td>string</td>\n<td>Cumulative sales amount (decimal format)</td>\n</tr>\n<tr>\n<td><code>pendingOrders</code></td>\n<td>integer</td>\n<td>Number of orders awaiting processing</td>\n</tr>\n<tr>\n<td><code>apiKey</code></td>\n<td>string</td>\n<td>User's API key</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"use-cases\">Use Cases</h2>\n<ul>\n<li><p><strong>Profile Display:</strong> Retrieve user information to display in account dashboards or profile pages</p>\n</li>\n<li><p><strong>Balance Checking:</strong> Access current wallet balance for transaction validation</p>\n</li>\n<li><p><strong>Permission Verification:</strong> Check user roles (admin/agent status) for access control</p>\n</li>\n<li><p><strong>Activity Monitoring:</strong> View transaction counts and sales metrics for analytics</p>\n</li>\n<li><p><strong>Account Status:</strong> Verify if an account is active or suspended before processing requests</p>\n</li>\n</ul>\n<h2 id=\"important-notes\">Important Notes</h2>\n<ul>\n<li><p><strong>Security:</strong> The API key in the response is typically truncated or masked for security purposes</p>\n</li>\n<li><p><strong>Decimal Values:</strong> Financial fields (<code>wallet_balance</code>, <code>totalSales</code>) are returned as strings to preserve precision</p>\n</li>\n<li><p><strong>Real-time Data:</strong> The response reflects the current state of the user's account at the time of the request</p>\n</li>\n<li><p><strong>Authentication Scope:</strong> The endpoint returns information only for the authenticated user (based on the provided API key)</p>\n</li>\n<li><p><strong>Rate Limiting:</strong> Consider implementing appropriate rate limiting when calling this endpoint frequently</p>\n</li>\n</ul>\n<h2 id=\"example-response\">Example Response</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"success\": true,\n  \"_id\": \"68f5c8b2da0ebf1f9b8417e4\",\n  \"firstName\": \"Nana Osei\",\n  \"lastName\": \"Adu-Gyamfi\",\n  \"wallet_balance\": \"56.92\",\n  \"phoneNumber\": \"0240940228\",\n  \"email\": \"adugyamfinanaosei@gmail.com\",\n  \"isAdmin\": false,\n  \"isAgent\": false,\n  \"isSuspended\": false,\n  \"transactions\": 41,\n  \"totalSales\": \"221.00\",\n  \"pendingOrders\": 4,\n  \"apiKey\": \"&lt;api-key&gt;...\"\n}\n\n</code></pre>\n","urlObject":{"protocol":"https","path":["api","user","profile"],"host":["ghstorehub","com"],"query":[],"variable":[]}},"response":[{"id":"f93622fa-5b55-4b2c-bb3e-ca01a56a4d6a","name":"200 OK","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"ApiKey xxxxx","type":"text"}],"url":"https://ghstorehub.com/api/user/profile"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"Server","value":"nginx/1.24.0 (Ubuntu)"},{"key":"Date","value":"Sun, 07 Dec 2025 02:59:07 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"373"},{"key":"Connection","value":"keep-alive"},{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"ETag","value":"W/\"175-h3JaGmvjXB7Xpr2cNUiXHYeH3kE\""}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"_id\": \"68f5c8b2da0ebf1f9b8417e4\",\n    \"firstName\": \"Nana Osei\",\n    \"lastName\": \"Adu-Gyamfi\",\n    \"wallet_balance\": \"56.92\",\n    \"phoneNumber\": \"0240940228\",\n    \"email\": \"adugyamfinanaosei@gmail.com\",\n    \"isAdmin\": false,\n    \"isAgent\": false,\n    \"isSuspended\": false,\n    \"transactions\": 41,\n    \"totalSales\": \"221.00\",\n    \"pendingOrders\": 4,\n    \"apiKey\": \"<your_api_key>\"\n}"}],"_postman_id":"2c7c2079-f4a8-43f2-af46-79063a8c6459"},{"name":"Fetch All Products","id":"fb4ed9d3-dbea-4a42-bebe-a3831cebf00f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Authorization","value":"ApiKey xxxxxx","type":"text"}],"url":"https://ghstorehub.com/api/products/all-products","description":"<h1 id=\"📦-fetch-all-products\">📦 Fetch All Products</h1>\n<h2 id=\"overview\">Overview</h2>\n<p>This endpoint retrieves a complete list of all products available in the GHStoreHub catalog. It returns comprehensive product information including details about pricing, availability, categories, and product specifications. This is the primary endpoint for accessing the full product inventory.</p>\n<h2 id=\"authentication\">Authentication</h2>\n<p><strong>Required:</strong> API Key authentication</p>\n<p>This endpoint requires a valid API key to be included in the request header:</p>\n<ul>\n<li><p><strong>Header:</strong> <code>Authorization</code></p>\n</li>\n<li><p><strong>Format:</strong> <code>ApiKey</code></p>\n</li>\n<li><p><strong>Example:</strong> <code>Authorization: ApiKey</code></p>\n</li>\n</ul>\n<h2 id=\"request-details\">Request Details</h2>\n<p><strong>Method:</strong> GET<br /><strong>Endpoint:</strong> <code>/api/products/all-products</code><br /><strong>Base URL:</strong> <code>https://ghstorehub.com</code></p>\n<h2 id=\"response-codes\">Response Codes</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Status Code</th>\n<th>Meaning</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>200</strong></td>\n<td>OK</td>\n<td>Request successful, products returned</td>\n</tr>\n<tr>\n<td><strong>401</strong></td>\n<td>Unauthorized</td>\n<td>Invalid or missing API key</td>\n</tr>\n<tr>\n<td><strong>403</strong></td>\n<td>Forbidden</td>\n<td>API key lacks permission to access products</td>\n</tr>\n<tr>\n<td><strong>404</strong></td>\n<td>Not Found</td>\n<td>Endpoint not available</td>\n</tr>\n<tr>\n<td><strong>429</strong></td>\n<td>Too Many Requests</td>\n<td>Rate limit exceeded</td>\n</tr>\n<tr>\n<td><strong>500</strong></td>\n<td>Internal Server Error</td>\n<td>Server error occurred while fetching products</td>\n</tr>\n<tr>\n<td><strong>503</strong></td>\n<td>Service Unavailable</td>\n<td>Service temporarily unavailable</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"example-response\">Example Response</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">[\n    {\n        \"_id\": \"68cb7dfb1bd7b501b31da165\",\n        \"productName\": \"MTN Data\",\n        \"bundles\": [\n            {\n                \"sizeInGB\": 1,\n                \"regularPrice\": 7,\n                \"agentPrice\": 5,\n                \"hidden\": false\n            },\n            {\n                \"sizeInGB\": 2,\n                \"regularPrice\": 12,\n                \"agentPrice\": 10,\n                \"hidden\": false\n            },\n            {\n                \"sizeInGB\": 3,\n                \"regularPrice\": 17,\n                \"agentPrice\": 15,\n                \"hidden\": false\n            },\n            {\n                \"sizeInGB\": 4,\n                \"regularPrice\": 22,\n                \"agentPrice\": 20,\n                \"hidden\": false\n            },\n            {\n                \"sizeInGB\": 5,\n                \"regularPrice\": 27,\n                \"agentPrice\": 24,\n                \"hidden\": false\n            },\n            {\n                \"sizeInGB\": 6,\n                \"regularPrice\": 30,\n                \"agentPrice\": 27,\n                \"hidden\": false\n            },\n            {\n                \"sizeInGB\": 7,\n                \"regularPrice\": 35,\n                \"agentPrice\": 31,\n                \"hidden\": false\n            },\n            {\n                \"sizeInGB\": 8,\n                \"regularPrice\": 43,\n                \"agentPrice\": 38,\n                \"hidden\": false\n            },\n            {\n                \"sizeInGB\": 10,\n                \"regularPrice\": 48,\n                \"agentPrice\": 45,\n                \"hidden\": false\n            },\n            {\n                \"sizeInGB\": 15,\n                \"regularPrice\": 70,\n                \"agentPrice\": 65,\n                \"hidden\": false\n            },\n            {\n                \"sizeInGB\": 20,\n                \"regularPrice\": 90,\n                \"agentPrice\": 85,\n                \"hidden\": false\n            },\n            {\n                \"sizeInGB\": 25,\n                \"regularPrice\": 120,\n                \"agentPrice\": 110,\n                \"hidden\": false\n            },\n            {\n                \"sizeInGB\": 30,\n                \"regularPrice\": 135,\n                \"agentPrice\": 125,\n                \"hidden\": false\n            },\n            {\n                \"sizeInGB\": 40,\n                \"regularPrice\": 190,\n                \"agentPrice\": 170,\n                \"hidden\": false\n            },\n            {\n                \"sizeInGB\": 50,\n                \"regularPrice\": 220,\n                \"agentPrice\": 205,\n                \"hidden\": false\n            },\n            {\n                \"sizeInGB\": 100,\n                \"regularPrice\": 420,\n                \"agentPrice\": 390,\n                \"hidden\": false\n            }\n        ],\n        \"createdAt\": \"2025-09-18T03:35:23.419Z\",\n        \"updatedAt\": \"2025-12-03T09:55:11.781Z\",\n        \"__v\": 99,\n        \"callbundles\": []\n    },\n    {\n        \"_id\": \"68cb8cb83176d4b57fa36c2a\",\n        \"productName\": \"Mtn Afa Call\",\n        \"bundles\": [],\n        \"callbundles\": [],\n        \"createdAt\": \"2025-09-18T04:38:16.224Z\",\n        \"updatedAt\": \"2025-10-22T02:17:51.020Z\",\n        \"__v\": 1\n    },\n    {\n        \"_id\": \"68cb8d403176d4b57fa36c2e\",\n        \"productName\": \"AT iShare Data\",\n        \"bundles\": [\n            {\n                \"sizeInGB\": 1,\n                \"regularPrice\": 5,\n                \"agentPrice\": 4.5,\n                \"hidden\": false\n            },\n            {\n                \"sizeInGB\": 2,\n                \"regularPrice\": 10,\n                \"agentPrice\": 8,\n                \"hidden\": false\n            },\n            {\n                \"sizeInGB\": 3,\n                \"regularPrice\": 15,\n                \"agentPrice\": 12,\n                \"hidden\": false\n            },\n            {\n                \"sizeInGB\": 4,\n                \"regularPrice\": 17,\n                \"agentPrice\": 15.4,\n                \"hidden\": false\n            },\n            {\n                \"sizeInGB\": 5,\n                \"regularPrice\": 22,\n                \"agentPrice\": 20,\n                \"hidden\": false\n            },\n            {\n                \"sizeInGB\": 6,\n                \"regularPrice\": 28,\n                \"agentPrice\": 25,\n                \"hidden\": false\n            },\n            {\n                \"sizeInGB\": 7,\n                \"regularPrice\": 32,\n                \"agentPrice\": 28,\n                \"hidden\": false\n            },\n            {\n                \"sizeInGB\": 8,\n                \"regularPrice\": 35,\n                \"agentPrice\": 32,\n                \"hidden\": false\n            },\n            {\n                \"sizeInGB\": 10,\n                \"regularPrice\": 42,\n                \"agentPrice\": 39,\n                \"hidden\": false\n            },\n            {\n                \"sizeInGB\": 15,\n                \"regularPrice\": 65,\n                \"agentPrice\": 59,\n                \"hidden\": false\n            },\n            {\n                \"sizeInGB\": 20,\n                \"regularPrice\": 85,\n                \"agentPrice\": 80,\n                \"hidden\": false\n            }\n        ],\n        \"callbundles\": [],\n        \"createdAt\": \"2025-09-18T04:40:32.813Z\",\n        \"updatedAt\": \"2025-11-02T06:20:23.312Z\",\n        \"__v\": 8\n    },\n    {\n        \"_id\": \"68cb8d4f3176d4b57fa36c32\",\n        \"productName\": \"AT Big Time Data\",\n        \"bundles\": [\n            {\n                \"sizeInGB\": 30,\n                \"regularPrice\": 75,\n                \"agentPrice\": 70,\n                \"hidden\": false,\n                \"_id\": \"6905438ca339e57ebf8e0a9b\"\n            },\n            {\n                \"sizeInGB\": 40,\n                \"regularPrice\": 90,\n                \"agentPrice\": 85,\n                \"hidden\": false,\n                \"_id\": \"6905438ca339e57ebf8e0a9c\"\n            },\n            {\n                \"sizeInGB\": 50,\n                \"regularPrice\": 110,\n                \"agentPrice\": 100,\n                \"hidden\": false,\n                \"_id\": \"6905438ca339e57ebf8e0a9d\"\n            },\n            {\n                \"sizeInGB\": 60,\n                \"regularPrice\": 120,\n                \"agentPrice\": 110,\n                \"hidden\": false,\n                \"_id\": \"6905438ca339e57ebf8e0a9e\"\n            },\n            {\n                \"sizeInGB\": 70,\n                \"regularPrice\": 140,\n                \"agentPrice\": 130,\n                \"hidden\": false,\n                \"_id\": \"6905438ca339e57ebf8e0a9f\"\n            },\n            {\n                \"sizeInGB\": 80,\n                \"regularPrice\": 160,\n                \"agentPrice\": 145,\n                \"hidden\": false,\n                \"_id\": \"6905438ca339e57ebf8e0aa0\"\n            },\n            {\n                \"sizeInGB\": 90,\n                \"regularPrice\": 170,\n                \"agentPrice\": 160,\n                \"hidden\": false,\n                \"_id\": \"6905438ca339e57ebf8e0aa1\"\n            },\n            {\n                \"sizeInGB\": 100,\n                \"regularPrice\": 190,\n                \"agentPrice\": 180,\n                \"hidden\": false,\n                \"_id\": \"6905438ca339e57ebf8e0aa2\"\n            },\n            {\n                \"sizeInGB\": 200,\n                \"regularPrice\": 370,\n                \"agentPrice\": 350,\n                \"hidden\": false,\n                \"_id\": \"6905438ca339e57ebf8e0aa3\"\n            },\n            {\n                \"sizeInGB\": 250,\n                \"regularPrice\": 420,\n                \"agentPrice\": 400,\n                \"hidden\": false,\n                \"_id\": \"6905438ca339e57ebf8e0aa4\"\n            },\n            {\n                \"sizeInGB\": 500,\n                \"regularPrice\": 850,\n                \"agentPrice\": 800,\n                \"hidden\": false,\n                \"_id\": \"6905438ca339e57ebf8e0aa5\"\n            },\n            {\n                \"sizeInGB\": 1000,\n                \"regularPrice\": 1650,\n                \"agentPrice\": 1600,\n                \"hidden\": false,\n                \"_id\": \"6905438ca339e57ebf8e0aa6\"\n            }\n        ],\n        \"callbundles\": [],\n        \"createdAt\": \"2025-09-18T04:40:47.028Z\",\n        \"updatedAt\": \"2025-10-17T08:20:31.129Z\",\n        \"__v\": 2\n    },\n    {\n        \"_id\": \"68cb8da83176d4b57fa36c36\",\n        \"productName\": \"Telecel Data\",\n        \"bundles\": [\n            {\n                \"sizeInGB\": 5,\n                \"regularPrice\": 30,\n                \"agentPrice\": 25,\n                \"hidden\": true,\n                \"_id\": \"6905438ca339e57ebf8e0aa7\"\n            },\n            {\n                \"sizeInGB\": 10,\n                \"regularPrice\": 45,\n                \"agentPrice\": 40,\n                \"hidden\": false,\n                \"_id\": \"6905438ca339e57ebf8e0aa8\"\n            },\n            {\n                \"sizeInGB\": 15,\n                \"regularPrice\": 65,\n                \"agentPrice\": 60,\n                \"hidden\": false,\n                \"_id\": \"6905438ca339e57ebf8e0aa9\"\n            },\n            {\n                \"sizeInGB\": 20,\n                \"regularPrice\": 80,\n                \"agentPrice\": 75,\n                \"hidden\": false,\n                \"_id\": \"6905438ca339e57ebf8e0aaa\"\n            },\n            {\n                \"sizeInGB\": 25,\n                \"regularPrice\": 100,\n                \"agentPrice\": 95,\n                \"hidden\": false,\n                \"_id\": \"6905438ca339e57ebf8e0aab\"\n            },\n            {\n                \"sizeInGB\": 30,\n                \"regularPrice\": 120,\n                \"agentPrice\": 115,\n                \"hidden\": false,\n                \"_id\": \"6905438ca339e57ebf8e0aac\"\n            },\n            {\n                \"sizeInGB\": 40,\n                \"regularPrice\": 160,\n                \"agentPrice\": 150,\n                \"hidden\": false,\n                \"_id\": \"6905438ca339e57ebf8e0aad\"\n            },\n            {\n                \"sizeInGB\": 50,\n                \"regularPrice\": 190,\n                \"agentPrice\": 185,\n                \"hidden\": false,\n                \"_id\": \"6905438ca339e57ebf8e0aae\"\n            },\n            {\n                \"sizeInGB\": 100,\n                \"regularPrice\": 385,\n                \"agentPrice\": 370,\n                \"hidden\": false,\n                \"_id\": \"6905438ca339e57ebf8e0aaf\"\n            }\n        ],\n        \"callbundles\": [],\n        \"createdAt\": \"2025-09-18T04:42:16.218Z\",\n        \"updatedAt\": \"2025-10-26T22:52:36.335Z\",\n        \"__v\": 31\n    },\n    {\n        \"_id\": \"68f84205d84e58e9a5a3eee5\",\n        \"productName\": \"AT Fuse Call\",\n        \"bundles\": [],\n        \"callbundles\": [\n            {\n                \"callBundle\": 110,\n                \"regularPrice\": 7,\n                \"agentPrice\": 6,\n                \"hidden\": false,\n                \"_id\": \"690545ffd7715ad047841cc6\"\n            },\n            {\n                \"callBundle\": 110,\n                \"regularPrice\": 7,\n                \"agentPrice\": 6,\n                \"hidden\": false,\n                \"_id\": \"690545ffd7715ad047841cc7\"\n            },\n            {\n                \"callBundle\": 235,\n                \"regularPrice\": 14,\n                \"agentPrice\": 12,\n                \"hidden\": false,\n                \"_id\": \"690545ffd7715ad047841cc8\"\n            },\n            {\n                \"callBundle\": 300,\n                \"regularPrice\": 17,\n                \"agentPrice\": 15,\n                \"hidden\": false,\n                \"_id\": \"690545ffd7715ad047841cc9\"\n            },\n            {\n                \"callBundle\": 110,\n                \"regularPrice\": 7,\n                \"agentPrice\": 6,\n                \"hidden\": false,\n                \"_id\": \"690545ffd7715ad047841cca\"\n            },\n            {\n                \"callBundle\": 235,\n                \"regularPrice\": 14,\n                \"agentPrice\": 12,\n                \"hidden\": false,\n                \"_id\": \"690545ffd7715ad047841ccb\"\n            },\n            {\n                \"callBundle\": 300,\n                \"regularPrice\": 17,\n                \"agentPrice\": 15,\n                \"hidden\": false,\n                \"_id\": \"690545ffd7715ad047841ccc\"\n            },\n            {\n                \"callBundle\": 535,\n                \"regularPrice\": 29,\n                \"agentPrice\": 26,\n                \"hidden\": false,\n                \"_id\": \"690545ffd7715ad047841ccd\"\n            },\n            {\n                \"callBundle\": 900,\n                \"regularPrice\": 48,\n                \"agentPrice\": 45,\n                \"hidden\": false,\n                \"_id\": \"690545ffd7715ad047841cce\"\n            },\n            {\n                \"callBundle\": 1010,\n                \"regularPrice\": 52,\n                \"agentPrice\": 48,\n                \"hidden\": false,\n                \"_id\": \"690545ffd7715ad047841ccf\"\n            },\n            {\n                \"callBundle\": 1800,\n                \"regularPrice\": 90,\n                \"agentPrice\": 88,\n                \"hidden\": false,\n                \"_id\": \"690545ffd7715ad047841cd0\"\n            }\n        ],\n        \"createdAt\": \"2025-10-22T02:31:33.930Z\",\n        \"updatedAt\": \"2025-10-31T23:27:59.986Z\",\n        \"__v\": 6\n    }\n]\n\n</code></pre>\n","urlObject":{"protocol":"https","path":["api","products","all-products"],"host":["ghstorehub","com"],"query":[],"variable":[]}},"response":[{"id":"cbe83c4f-e259-445a-87f3-3c2b8001c1f4","name":"200 OK","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"ApiKey xxxxxx","type":"text"}],"url":"https://ghstorehub.com/api/products/all-products"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"Server","value":"nginx/1.24.0 (Ubuntu)"},{"key":"Date","value":"Sat, 18 Apr 2026 14:43:28 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"4972"},{"key":"Connection","value":"keep-alive"},{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"ETag","value":"W/\"136c-2SIya0JvbrYqnz+iCUM3NWQQABo\""}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"_id\": \"68cb7dfb1bd7b501b31da165\",\n        \"productName\": \"MTN Data\",\n        \"bundles\": [\n            {\n                \"sizeInGB\": 1,\n                \"regularPrice\": 5,\n                \"agentPrice\": 4.5,\n                \"hidden\": false\n            },\n            {\n                \"sizeInGB\": 2,\n                \"regularPrice\": 10,\n                \"agentPrice\": 9.3,\n                \"hidden\": false\n            },\n            {\n                \"sizeInGB\": 3,\n                \"regularPrice\": 15,\n                \"agentPrice\": 13.5,\n                \"hidden\": false\n            },\n            {\n                \"sizeInGB\": 4,\n                \"regularPrice\": 20,\n                \"agentPrice\": 17.8,\n                \"hidden\": false\n            },\n            {\n                \"sizeInGB\": 5,\n                \"regularPrice\": 24,\n                \"agentPrice\": 22,\n                \"hidden\": false\n            },\n            {\n                \"sizeInGB\": 6,\n                \"regularPrice\": 27,\n                \"agentPrice\": 26,\n                \"hidden\": false\n            },\n            {\n                \"sizeInGB\": 7,\n                \"regularPrice\": 32,\n                \"agentPrice\": 30,\n                \"hidden\": false\n            },\n            {\n                \"sizeInGB\": 8,\n                \"regularPrice\": 36,\n                \"agentPrice\": 34,\n                \"hidden\": false\n            },\n            {\n                \"sizeInGB\": 10,\n                \"regularPrice\": 44,\n                \"agentPrice\": 42,\n                \"hidden\": false\n            },\n            {\n                \"sizeInGB\": 15,\n                \"regularPrice\": 65,\n                \"agentPrice\": 62,\n                \"hidden\": false\n            },\n            {\n                \"sizeInGB\": 20,\n                \"regularPrice\": 84,\n                \"agentPrice\": 82,\n                \"hidden\": false\n            },\n            {\n                \"sizeInGB\": 25,\n                \"regularPrice\": 110,\n                \"agentPrice\": 110,\n                \"hidden\": false\n            },\n            {\n                \"sizeInGB\": 30,\n                \"regularPrice\": 120,\n                \"agentPrice\": 120,\n                \"hidden\": false\n            },\n            {\n                \"sizeInGB\": 40,\n                \"regularPrice\": 165,\n                \"agentPrice\": 165,\n                \"hidden\": false\n            },\n            {\n                \"sizeInGB\": 50,\n                \"regularPrice\": 210,\n                \"agentPrice\": 210,\n                \"hidden\": false\n            },\n            {\n                \"sizeInGB\": 100,\n                \"regularPrice\": 385,\n                \"agentPrice\": 375,\n                \"hidden\": false\n            }\n        ],\n        \"createdAt\": \"2025-09-18T03:35:23.419Z\",\n        \"updatedAt\": \"2026-03-24T09:51:26.209Z\",\n        \"__v\": 114,\n        \"callbundles\": []\n    },\n    {\n        \"_id\": \"68cb8cb83176d4b57fa36c2a\",\n        \"productName\": \"Mtn Afa Call\",\n        \"bundles\": [],\n        \"callbundles\": [],\n        \"createdAt\": \"2025-09-18T04:38:16.224Z\",\n        \"updatedAt\": \"2025-10-22T02:17:51.020Z\",\n        \"__v\": 1\n    },\n    {\n        \"_id\": \"68cb8d403176d4b57fa36c2e\",\n        \"productName\": \"AT iShare Data\",\n        \"bundles\": [\n            {\n                \"sizeInGB\": 1,\n                \"regularPrice\": 5,\n                \"agentPrice\": 4.5,\n                \"hidden\": false\n            },\n            {\n                \"sizeInGB\": 2,\n                \"regularPrice\": 10,\n                \"agentPrice\": 8,\n                \"hidden\": false\n            },\n            {\n                \"sizeInGB\": 3,\n                \"regularPrice\": 15,\n                \"agentPrice\": 12,\n                \"hidden\": false\n            },\n            {\n                \"sizeInGB\": 4,\n                \"regularPrice\": 17,\n                \"agentPrice\": 15.4,\n                \"hidden\": false\n            },\n            {\n                \"sizeInGB\": 5,\n                \"regularPrice\": 22,\n                \"agentPrice\": 20,\n                \"hidden\": false\n            },\n            {\n                \"sizeInGB\": 6,\n                \"regularPrice\": 28,\n                \"agentPrice\": 25,\n                \"hidden\": false\n            },\n            {\n                \"sizeInGB\": 7,\n                \"regularPrice\": 32,\n                \"agentPrice\": 28,\n                \"hidden\": false\n            },\n            {\n                \"sizeInGB\": 8,\n                \"regularPrice\": 35,\n                \"agentPrice\": 32,\n                \"hidden\": false\n            },\n            {\n                \"sizeInGB\": 10,\n                \"regularPrice\": 42,\n                \"agentPrice\": 39,\n                \"hidden\": false\n            },\n            {\n                \"sizeInGB\": 15,\n                \"regularPrice\": 65,\n                \"agentPrice\": 59,\n                \"hidden\": false\n            },\n            {\n                \"sizeInGB\": 20,\n                \"regularPrice\": 85,\n                \"agentPrice\": 80,\n                \"hidden\": false\n            }\n        ],\n        \"callbundles\": [],\n        \"createdAt\": \"2025-09-18T04:40:32.813Z\",\n        \"updatedAt\": \"2025-11-02T06:20:23.312Z\",\n        \"__v\": 8\n    },\n    {\n        \"_id\": \"68cb8d4f3176d4b57fa36c32\",\n        \"productName\": \"AT Big Time Data\",\n        \"bundles\": [\n            {\n                \"sizeInGB\": 30,\n                \"regularPrice\": 80,\n                \"agentPrice\": 75,\n                \"hidden\": false\n            },\n            {\n                \"sizeInGB\": 40,\n                \"regularPrice\": 95,\n                \"agentPrice\": 90,\n                \"hidden\": false\n            },\n            {\n                \"sizeInGB\": 50,\n                \"regularPrice\": 110,\n                \"agentPrice\": 100,\n                \"hidden\": false\n            },\n            {\n                \"sizeInGB\": 60,\n                \"regularPrice\": 120,\n                \"agentPrice\": 110,\n                \"hidden\": false\n            },\n            {\n                \"sizeInGB\": 70,\n                \"regularPrice\": 140,\n                \"agentPrice\": 130,\n                \"hidden\": false\n            },\n            {\n                \"sizeInGB\": 80,\n                \"regularPrice\": 160,\n                \"agentPrice\": 145,\n                \"hidden\": false\n            },\n            {\n                \"sizeInGB\": 90,\n                \"regularPrice\": 170,\n                \"agentPrice\": 160,\n                \"hidden\": false\n            },\n            {\n                \"sizeInGB\": 100,\n                \"regularPrice\": 190,\n                \"agentPrice\": 180,\n                \"hidden\": false\n            },\n            {\n                \"sizeInGB\": 200,\n                \"regularPrice\": 370,\n                \"agentPrice\": 350,\n                \"hidden\": false\n            },\n            {\n                \"sizeInGB\": 250,\n                \"regularPrice\": 420,\n                \"agentPrice\": 400,\n                \"hidden\": false\n            },\n            {\n                \"sizeInGB\": 500,\n                \"regularPrice\": 850,\n                \"agentPrice\": 800,\n                \"hidden\": false\n            },\n            {\n                \"sizeInGB\": 1000,\n                \"regularPrice\": 1650,\n                \"agentPrice\": 1600,\n                \"hidden\": false\n            }\n        ],\n        \"callbundles\": [],\n        \"createdAt\": \"2025-09-18T04:40:47.028Z\",\n        \"updatedAt\": \"2026-01-04T10:41:14.465Z\",\n        \"__v\": 3\n    },\n    {\n        \"_id\": \"68cb8da83176d4b57fa36c36\",\n        \"productName\": \"Telecel Data\",\n        \"bundles\": [\n            {\n                \"sizeInGB\": 5,\n                \"regularPrice\": 30,\n                \"agentPrice\": 23,\n                \"hidden\": false\n            },\n            {\n                \"sizeInGB\": 10,\n                \"regularPrice\": 45,\n                \"agentPrice\": 40,\n                \"hidden\": false\n            },\n            {\n                \"sizeInGB\": 15,\n                \"regularPrice\": 65,\n                \"agentPrice\": 65,\n                \"hidden\": false\n            },\n            {\n                \"sizeInGB\": 20,\n                \"regularPrice\": 80,\n                \"agentPrice\": 80,\n                \"hidden\": false\n            },\n            {\n                \"sizeInGB\": 25,\n                \"regularPrice\": 100,\n                \"agentPrice\": 95,\n                \"hidden\": false\n            },\n            {\n                \"sizeInGB\": 30,\n                \"regularPrice\": 120,\n                \"agentPrice\": 115,\n                \"hidden\": false\n            },\n            {\n                \"sizeInGB\": 40,\n                \"regularPrice\": 160,\n                \"agentPrice\": 150,\n                \"hidden\": false\n            },\n            {\n                \"sizeInGB\": 50,\n                \"regularPrice\": 190,\n                \"agentPrice\": 185,\n                \"hidden\": false\n            },\n            {\n                \"sizeInGB\": 100,\n                \"regularPrice\": 385,\n                \"agentPrice\": 370,\n                \"hidden\": false\n            }\n        ],\n        \"callbundles\": [],\n        \"createdAt\": \"2025-09-18T04:42:16.218Z\",\n        \"updatedAt\": \"2026-02-13T07:51:55.464Z\",\n        \"__v\": 33\n    },\n    {\n        \"_id\": \"68f84205d84e58e9a5a3eee5\",\n        \"productName\": \"AT Fuse Call\",\n        \"bundles\": [],\n        \"callbundles\": [\n            {\n                \"callBundle\": 110,\n                \"regularPrice\": 7,\n                \"agentPrice\": 6,\n                \"hidden\": true\n            },\n            {\n                \"callBundle\": 110,\n                \"regularPrice\": 7,\n                \"agentPrice\": 6,\n                \"hidden\": true\n            },\n            {\n                \"callBundle\": 235,\n                \"regularPrice\": 14,\n                \"agentPrice\": 12,\n                \"hidden\": true\n            },\n            {\n                \"callBundle\": 300,\n                \"regularPrice\": 17,\n                \"agentPrice\": 15,\n                \"hidden\": true\n            },\n            {\n                \"callBundle\": 110,\n                \"regularPrice\": 7,\n                \"agentPrice\": 6,\n                \"hidden\": true\n            },\n            {\n                \"callBundle\": 235,\n                \"regularPrice\": 14,\n                \"agentPrice\": 12,\n                \"hidden\": true\n            },\n            {\n                \"callBundle\": 300,\n                \"regularPrice\": 17,\n                \"agentPrice\": 15,\n                \"hidden\": true\n            },\n            {\n                \"callBundle\": 535,\n                \"regularPrice\": 29,\n                \"agentPrice\": 26,\n                \"hidden\": true\n            },\n            {\n                \"callBundle\": 900,\n                \"regularPrice\": 48,\n                \"agentPrice\": 45,\n                \"hidden\": true\n            },\n            {\n                \"callBundle\": 1010,\n                \"regularPrice\": 52,\n                \"agentPrice\": 48,\n                \"hidden\": true\n            },\n            {\n                \"callBundle\": 1800,\n                \"regularPrice\": 90,\n                \"agentPrice\": 88,\n                \"hidden\": true\n            }\n        ],\n        \"createdAt\": \"2025-10-22T02:31:33.930Z\",\n        \"updatedAt\": \"2026-02-12T16:38:28.538Z\",\n        \"__v\": 7\n    }\n]"}],"_postman_id":"fb4ed9d3-dbea-4a42-bebe-a3831cebf00f"},{"name":"Fetch AFA Fee","id":"90a395f5-1078-4f55-9775-f560cddf3764","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Authorization","value":"ApiKey xxxx","type":"text"}],"url":"https://ghstorehub.com/api/order/afa-fee","description":"<p>StartFragment</p>\n<h1 id=\"🟦-get-apiorderafa-fee\">🟦 <strong>GET /api/order/afa-fee</strong></h1>\n<p>Retrieve the <strong>current MTN AFA registration fee</strong>.</p>\n<hr />\n<h2 id=\"📘-description\">📘 <strong>Description</strong></h2>\n<p>This endpoint returns the active MTN AFA premium fee (currently GH₵25).  </p>\n<p>Only authenticated users can access it.</p>\n<p>The fee is stored in the database and can be updated by an admin, so clients should <em>always</em> fetch it instead of hardcoding.</p>\n<hr />\n<h2 id=\"🔐-authentication-required\">🔐 <strong>Authentication Required</strong></h2>\n<p>You must send either:</p>\n<h3 id=\"bearer-token\"><strong>Bearer Token</strong></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>Authorization: Bearer &lt;JWT_TOKEN&gt;\n\n</code></pre><p>or</p>\n<h3 id=\"api-key\"><strong>API Key</strong></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>Authorization: ApiKey &lt;API_KEY&gt;\n\n</code></pre><p>Both formats are accepted by the authentication middleware.</p>\n<hr />\n<h2 id=\"🧾-request\">🧾 <strong>Request</strong></h2>\n<h3 id=\"method-get\"><strong>Method:</strong> <code>GET</code></h3>\n<h3 id=\"url\"><strong>URL:</strong></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>https://ghstorehub.com/api/order/afa-fee\n\n</code></pre><h3 id=\"body\"><strong>Body:</strong></h3>\n<p>None</p>\n<hr />\n<h2 id=\"✔️-successful-response-200-ok\">✔️ <strong>Successful Response (200 OK)</strong></h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"success\": true,\n  \"fee\": {\n    \"_id\": \"6925b49da9707531ba6b7d28\",\n    \"amount\": 25,\n    \"updatedBy\": \"68efba49392a6165ba0596bd\",\n    \"updatedAt\": \"2025-11-26T07:53:59.971Z\",\n    \"__v\": 0\n  }\n}\n\n</code></pre><h3 id=\"field-description\">Field Description</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>fee.amount</strong></td>\n<td>The current MTN AFA fee (e.g., GH₵25).</td>\n</tr>\n<tr>\n<td><strong>fee.updatedBy</strong></td>\n<td>Admin user ID who last updated the fee.</td>\n</tr>\n<tr>\n<td><strong>fee.updatedAt</strong></td>\n<td>Timestamp of the most recent update.</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h2 id=\"❌-error-responses\">❌ <strong>Error Responses</strong></h2>\n<h3 id=\"401--unauthorized-no-token-or-invalid-token\"><strong>401 – Unauthorized (No Token or Invalid Token)</strong></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"status\": \"error\",\n  \"message\": \"Access denied. No authorization header provided.\",\n  \"action\": \"REDIRECT\",\n  \"redirectTo\": \"/pages/sign-in.html\"\n}\n\n</code></pre><h3 id=\"403--suspended-user\"><strong>403 – Suspended User</strong></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"status\": \"error\",\n  \"message\": \"Your account has been suspended. Please contact support.\",\n  \"action\": \"REDIRECT\",\n  \"redirectTo\": \"/pages/sign-in.html\"\n}\n\n</code></pre><h3 id=\"500--server-error\"><strong>500 – Server Error</strong></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"success\": false,\n  \"message\": \"Server error while fetching AFA fee.\"\n}\n\n</code></pre><hr />\n<h2 id=\"📝-notes\">📝 Notes</h2>\n<ul>\n<li><p>This endpoint is meant to support frontend apps by returning the correct AFA price dynamically.</p>\n</li>\n<li><p>Admins can update the AFA fee from the admin dashboard.</p>\n</li>\n<li><p>Regular users and agents share the same fixed AFA fee (GH₵25).</p>\n</li>\n</ul>\n","urlObject":{"protocol":"https","path":["api","order","afa-fee"],"host":["ghstorehub","com"],"query":[],"variable":[]}},"response":[{"id":"be2d5d1c-eac0-4bdb-8adb-b01585ce558a","name":"200 OK","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"ApiKey xxxx","type":"text"}],"url":"https://ghstorehub.com/api/order/afa-fee"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"Server","value":"nginx/1.24.0 (Ubuntu)"},{"key":"Date","value":"Sun, 07 Dec 2025 04:29:22 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"155"},{"key":"Connection","value":"keep-alive"},{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"ETag","value":"W/\"9b-7B5Hd+fp1O0XsjiUsj2dyRgZ/qM\""}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"fee\": {\n        \"_id\": \"6925b49da9707531ba6b7d28\",\n        \"amount\": 25,\n        \"updatedBy\": \"68efba49392a6165ba0596bd\",\n        \"updatedAt\": \"2025-11-26T07:53:59.971Z\",\n        \"__v\": 0\n    }\n}"},{"id":"121663f4-a9e2-4855-bd3c-6d29232e89ab","name":"401 Unauthorized","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"ApiKey xxxx","type":"text","disabled":true}],"url":"https://ghstorehub.com/api/order/afa-fee"},"status":"Unauthorized","code":401,"_postman_previewlanguage":null,"header":[{"key":"Server","value":"nginx/1.24.0 (Ubuntu)"},{"key":"Date","value":"Sun, 07 Dec 2025 04:31:14 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"134"},{"key":"Connection","value":"keep-alive"},{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"ETag","value":"W/\"86-C0CQN0DpasM0WQEEQ19Y0mhGpNY\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"error\",\n    \"message\": \"Access denied. No authorization header provided.\",\n    \"action\": \"REDIRECT\",\n    \"redirectTo\": \"/pages/sign-in.html\"\n}"}],"_postman_id":"90a395f5-1078-4f55-9775-f560cddf3764"},{"name":"Register MTN AFA","id":"62ea7a8c-09f6-4173-9a1b-64c01e267d19","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Authorization","value":"ApiKey xxxxxx","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"name\": \"Nana Osei Adu-Gyamfi\", //Full Name (String)\r\n    \"phone\": \"0240940228\", // (String)\r\n    \"idType\": \"national-id\", //Accepted IDs are 'national-id' and 'voters-id'. Anything else will be rejected.\r\n    \"idNumber\": \"GHA-334737847-001\", //ID must start with 'GHA'\r\n    \"location\": \"East Legon\",\r\n    \"dob\": \"2025-11-03\", //YYYY-MM-DD FORMAT\r\n    \"occupation\": \"Maize Farmer\", //Occupation preferred is a type of farmer\r\n    \"paymentMethod\": \"wallet\",\r\n    \"amount\": 25,\r\n    \"network\": \"MTN AFA\",\r\n    \"reference\": \"1b72p0l322dj7\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://ghstorehub.com/api/order/afa-register","description":"<h1 id=\"🐦-post-apiorderafa-register\">🐦 <strong>POST /api/order/afa-register</strong></h1>\n<p>Register a customer for <strong>MTN AFA</strong> via wallet payment.</p>\n<hr />\n<h2 id=\"📘-description\">📘 <strong>Description</strong></h2>\n<p>This endpoint creates a new MTN AFA registration request for a user.</p>\n<p>The customer is registered with MTN’s AFA program using their personal details and a valid ID.</p>\n<p>All registrations are paid using <strong>wallet</strong> only.</p>\n<p>The AFA fee must be fetched from the AFA fee Endpoint to get the correct amount, otherwise the request with a wrong amount will be rejected.</p>\n<hr />\n<h2 id=\"🔐-authentication\">🔐 <strong>Authentication</strong></h2>\n<p>This endpoint <strong>requires authentication</strong> using one of the following:</p>\n<h3 id=\"jwt-bearer-token\">JWT (Bearer Token)</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>Authorization: Bearer &lt;JWT_TOKEN&gt;\n\n</code></pre><h3 id=\"api-key\">API Key</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>Authorization: ApiKey &lt;API_KEY&gt;\n\n</code></pre><hr />\n<h2 id=\"📝-request-body-json\">📝 <strong>Request Body (JSON)</strong></h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"name\": \"Nana Osei Adu-Gyamfi\",\n  \"phone\": \"0240940228\",\n  \"idType\": \"national-id\",\n  \"idNumber\": \"GHA-334737847-001\",\n  \"location\": \"East Legon\",\n  \"dob\": \"2025-11-03\",\n  \"occupation\": \"Maize Farmer\",\n  \"paymentMethod\": \"wallet\",\n  \"amount\": 25,\n  \"network\": \"MTN AFA\",\n  \"reference\": \"1b72p0l322dj7\"\n}\n\n</code></pre><hr />\n<h2 id=\"📌-field-descriptions\">📌 <strong>Field Descriptions</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>name</strong></td>\n<td>string</td>\n<td>✔️ Yes</td>\n<td>Full name of the customer.</td>\n</tr>\n<tr>\n<td><strong>phone</strong></td>\n<td>string</td>\n<td>✔️ Yes</td>\n<td>Must be exactly <strong>10 digits and must be an MTN number</strong> (e.g., <code>0241234567</code>).</td>\n</tr>\n<tr>\n<td><strong>idType</strong></td>\n<td>string</td>\n<td>✔️ Yes</td>\n<td>Must be either <code>\"national-id\"</code> or <code>\"voters-id\"</code>.</td>\n</tr>\n<tr>\n<td><strong>idNumber</strong></td>\n<td>string</td>\n<td>✔️ Yes</td>\n<td>Must start with <code>\"GHA\"</code> (e.g., <code>GHA-xxxxxxx</code>).</td>\n</tr>\n<tr>\n<td><strong>location</strong></td>\n<td>string</td>\n<td>✔️ Yes</td>\n<td>Customer’s residence or area.</td>\n</tr>\n<tr>\n<td><strong>dob</strong></td>\n<td>string</td>\n<td>✔️ Yes</td>\n<td>Date of birth in <code>YYYY-MM-DD</code> format.</td>\n</tr>\n<tr>\n<td><strong>occupation</strong></td>\n<td>string</td>\n<td>✔️ Yes</td>\n<td>Preferred to be a <strong>type of farmer</strong> (e.g., cocoa farmer, maize farmer).</td>\n</tr>\n<tr>\n<td><strong>paymentMethod</strong></td>\n<td>string</td>\n<td>✔️ Yes</td>\n<td>Must be <code>\"wallet\"</code>. No other options allowed.</td>\n</tr>\n<tr>\n<td><strong>amount</strong></td>\n<td>number</td>\n<td>✔️ Yes</td>\n<td>Must be fetched from AFA Fee Endpoint. Any other value apart from the amount from the AFA fee endpoint will be rejected.</td>\n</tr>\n<tr>\n<td><strong>network</strong></td>\n<td>string</td>\n<td>✔️ Yes</td>\n<td>Must be <code>\"MTN AFA\"</code>.</td>\n</tr>\n<tr>\n<td><strong>reference</strong></td>\n<td>string</td>\n<td>✔️ Yes</td>\n<td>Unique reference for the transaction.</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h2 id=\"✔️-successful-response-201-created\">✔️ <strong>Successful Response (201 Created)</strong></h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"message\": \"MTN AFA registration successful\",\n  \"registration\": {\n    \"userId\": \"68f5c8b2da0ebf1f9b8417e4\",\n    \"orderId\": \"AFA-72110-880\",\n    \"name\": \"Nana Osei Adu-Gyamfi\",\n    \"phone\": \"0240940228\",\n    \"idType\": \"national-id\",\n    \"idNumber\": \"GHA-334737847-001\",\n    \"location\": \"East Legon\",\n    \"dob\": \"2025-11-03T00:00:00.000Z\",\n    \"occupation\": \"Maize Farmer\",\n    \"paymentMethod\": \"wallet\",\n    \"amount\": 25,\n    \"reference\": \"1b72p0l322dj7\",\n    \"network\": \"MTN AFA\",\n    \"status\": \"pending\",\n    \"_id\": \"6934ff5b585182eb0f0daedc\",\n    \"createdAt\": \"2025-12-07T04:15:23.139Z\",\n    \"__v\": 0\n  }\n}\n\n</code></pre><hr />\n<h2 id=\"❌-error-responses\">❌ <strong>Error Responses</strong></h2>\n<h3 id=\"invalid-afa-fee--400-bad-request\">Invalid AFA Fee — <code>400 Bad Request</code></h3>\n<p>Amount <strong>MUST</strong> be fetched from the <strong>AFA Fee</strong> Endpoint.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"success\": false,\n  \"message\": \"Invalid AFA fee. Expected GH₵25, received GH₵1.\"\n}\n\n</code></pre><hr />\n<h3 id=\"invalid-id-type--400-bad-request\">Invalid ID Type — <code>400 Bad Request</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"success\": false,\n  \"message\": \"Invalid idType. Accepted values are 'national-id' or 'voters-id'.\"\n}\n\n</code></pre><hr />\n<h3 id=\"invalid-id-format--400-bad-request\">Invalid ID Format — <code>400 Bad Request</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"success\": false,\n  \"message\": \"Invalid ID number. MTN AFA registrations require an ID starting with 'GHA'.\"\n}\n\n</code></pre><hr />\n<h3 id=\"invalid-phone-format--400-bad-request\">Invalid Phone Format — <code>400 Bad Request</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"success\": false,\n  \"message\": \"Invalid phone number format. Phone must be a 10-digit MTN number.\"\n}\n\n</code></pre><hr />\n<h3 id=\"duplicate-reference--400-bad-request\">Duplicate Reference — <code>400 Bad Request</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"success\": false,\n  \"message\": \"Reference already exists\"\n}\n\n</code></pre><hr />\n<h3 id=\"wallet-payment-only--400-bad-request\">Wallet Payment Only — <code>400 Bad Request</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"success\": false,\n  \"message\": \"Invalid payment method. Only 'wallet' is allowed.\"\n}\n\n</code></pre><hr />\n<h3 id=\"insufficient-wallet-balance--400-bad-request\">Insufficient Wallet Balance — <code>400 Bad Request</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"success\": false,\n  \"message\": \"Insufficient wallet balance. Your balance is GH₵10, but AFA requires GH₵25.\"\n}\n\n</code></pre><hr />\n<h3 id=\"unauthenticated--401-unauthorized\">Unauthenticated — <code>401 Unauthorized</code></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"status\": \"error\",\n  \"message\": \"Access denied. No authorization header provided.\"\n}\n\n</code></pre><hr />\n<h2 id=\"🚀-notes\">🚀 <strong>Notes</strong></h2>\n<ul>\n<li><p>The fee is always dynamic from MTN AFA Endpoint.</p>\n</li>\n<li><p>ID must strictly begin with <code>\"GHA\"</code>.</p>\n</li>\n<li><p>AFA registrations are marked as <code>pending</code> for manual processing.</p>\n</li>\n<li><p>User must have enough wallet balance to proceed.</p>\n</li>\n<li><p><code>reference</code> must be unique.</p>\n</li>\n</ul>\n","urlObject":{"protocol":"https","path":["api","order","afa-register"],"host":["ghstorehub","com"],"query":[],"variable":[]}},"response":[{"id":"43a76cad-65a8-4eb5-9fe6-aa7c581b2325","name":"400 Bad Request","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"ApiKey xxxxx","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"name\": \"Nana Osei Adu-Gyamfi\",   //Full Name (String)\r\n    \"phone\": \"0240940228\",      // (String)\r\n    \"idType\": \"national-id\",     //Accepted IDs are 'national-id' and 'voters-id'. Anything else will be rejected.\r\n    \"idNumber\": \"GHA-334737847-001\",     //ID must start with 'GHA'\r\n    \"location\": \"East Legon\",\r\n    \"dob\": \"2025-11-03\",         //YYYY-MM-DD\r\n    \"occupation\": \"Maize Farmer\",       //Occupation preferred is a type of farmer\r\n    \"paymentMethod\": \"wallet\",          \r\n    \"amount\": 1,\r\n    \"network\": \"MTN AFA\",\r\n    \"reference\": \"1b72p0l322dj7\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://ghstorehub.com/api/order/afa-register"},"status":"Bad Request","code":400,"_postman_previewlanguage":null,"header":[{"key":"Server","value":"nginx/1.24.0 (Ubuntu)"},{"key":"Date","value":"Sun, 07 Dec 2025 04:14:11 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"81"},{"key":"Connection","value":"keep-alive"},{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"ETag","value":"W/\"51-/BLM9NQk6OtYc8nAqOi8RlQg4VU\""}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"message\": \"Invalid AFA fee. Expected GH₵25, received GH₵1.\"\n}"},{"id":"173aa3f4-ab54-4f67-ac22-232140909522","name":"201 Created","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"ApiKey xxxx","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"name\": \"Nana Osei Adu-Gyamfi\",   //Full Name (String)\r\n    \"phone\": \"0240940228\",      // (String)\r\n    \"idType\": \"national-id\",     //Accepted IDs are 'national-id' and 'voters-id'. Anything else will be rejected.\r\n    \"idNumber\": \"GHA-334737847-001\",     //ID must start with 'GHA'\r\n    \"location\": \"East Legon\",\r\n    \"dob\": \"2025-11-03\",         //YYYY-MM-DD\r\n    \"occupation\": \"Maize Farmer\",       //Occupation preferred is a type of farmer\r\n    \"paymentMethod\": \"wallet\",          \r\n    \"amount\": 25,\r\n    \"network\": \"MTN AFA\",\r\n    \"reference\": \"1b72p0l322dj7\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://ghstorehub.com/api/order/afa-register"},"status":"Created","code":201,"_postman_previewlanguage":null,"header":[{"key":"Server","value":"nginx/1.24.0 (Ubuntu)"},{"key":"Date","value":"Sun, 07 Dec 2025 04:15:23 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"498"},{"key":"Connection","value":"keep-alive"},{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"ETag","value":"W/\"1f2-pjnfIsAhKXnSBdu7dbbu31BIr0g\""}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"MTN AFA registration successful\",\n    \"registration\": {\n        \"userId\": \"68f5c8b2da0ebf1f9b8417e4\",\n        \"orderId\": \"AFA-72110-880\",\n        \"name\": \"Nana Osei Adu-Gyamfi\",\n        \"phone\": \"0240940228\",\n        \"idType\": \"national-id\",\n        \"idNumber\": \"GHA-334737847-001\",\n        \"location\": \"East Legon\",\n        \"dob\": \"2025-11-03T00:00:00.000Z\",\n        \"occupation\": \"Maize Farmer\",\n        \"paymentMethod\": \"wallet\",\n        \"amount\": 25,\n        \"reference\": \"1b72p0l322dj7\",\n        \"network\": \"MTN AFA\",\n        \"status\": \"pending\",\n        \"_id\": \"6934ff5b585182eb0f0daedc\",\n        \"createdAt\": \"2025-12-07T04:15:23.139Z\",\n        \"__v\": 0\n    }\n}"}],"_postman_id":"62ea7a8c-09f6-4173-9a1b-64c01e267d19"},{"name":"Create MTN Data Bundle Order","id":"51b72f39-20c7-49d6-b369-81a41d35b94d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Authorization","value":"ApiKey xxxxxx","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"network\": \"MTN Data\", \r\n    \"amount\": 4.5, \r\n    \"bundle\": \"1\", \r\n    \"phone\": \"0240940228\", \r\n    \"paymentMethod\": \"wallet\", \r\n    \"reference\": \"order-112\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://ghstorehub.com/api/order/create","description":"<h2 id=\"🟡-create-mtn-data-bundle-order\">🟡 Create MTN Data Bundle Order</h2>\n<p>Creates a new data bundle order for an MTN subscriber. This endpoint processes the purchase of a specified MTN data bundle and charges the specified payment method.</p>\n<h3 id=\"authentication\">Authentication</h3>\n<p>This request requires an API key passed in the <code>Authorization</code> header in the format:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>Authorization: ApiKey &lt;your_api_key&gt;\n\n</code></pre><h3 id=\"request-body\">Request Body</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>network</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>The network provider and bundle type. Use <code>\"MTN Data\"</code> for MTN data bundles.</td>\n</tr>\n<tr>\n<td><code>amount</code></td>\n<td>number</td>\n<td>Yes</td>\n<td>The cost of the data bundle in the local currency.</td>\n</tr>\n<tr>\n<td><code>bundle</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>The bundle plan identifier/code.</td>\n</tr>\n<tr>\n<td><code>phone</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>The recipient's phone number (MTN number) to receive the data bundle.</td>\n</tr>\n<tr>\n<td><code>paymentMethod</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>The payment method to use. E.g., <code>\"wallet\"</code>.</td>\n</tr>\n<tr>\n<td><code>reference</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>A unique reference string for tracking the order.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"example-request-body\">Example Request Body</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"network\": \"MTN Data\",\n    \"amount\": 4.5,\n    \"bundle\": \"1\",\n    \"phone\": \"0240940228\",\n    \"paymentMethod\": \"wallet\",\n    \"reference\": \"order-112\"\n}\n\n</code></pre>\n<h3 id=\"notes\">Notes</h3>\n<ul>\n<li><p>Ensure the <code>reference</code> value is unique per order to avoid duplicate processing.</p>\n</li>\n<li><p>The <code>phone</code> number must be a valid MTN number.</p>\n</li>\n<li><p>The wallet must have sufficient balance when using <code>\"wallet\"</code> as the payment method.</p>\n</li>\n</ul>\n","urlObject":{"protocol":"https","path":["api","order","create"],"host":["ghstorehub","com"],"query":[],"variable":[]}},"response":[{"id":"d6238588-a7cd-4eaa-ada7-95ae9fc260e9","name":"400 Bad Request","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"ApiKey xxxxx","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"network\": \"MTN Data\", \r\n    \"amount\": 4.5, \r\n    \"bundle\": \"1GB\", \r\n    \"phone\": \"0240940228\", \r\n    \"paymentMethod\": \"wallet\", \r\n    \"reference\": \"order-112\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://ghstorehub.com/api/order/create"},"status":"Bad Request","code":400,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"70"},{"key":"ETag","value":"W/\"46-1stJp6g8y29ly38heRhfEpV7EG4\""},{"key":"Date","value":"Sat, 18 Apr 2026 13:53:19 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"message\": \"Invalid bundle selected for this network\"\n}"},{"id":"ca3b794c-80a7-47c0-a098-c34d42f66dba","name":"201 Created","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"ApiKey dbe81582f1862965c0a159cd6ed7063acae0337bff1f1adf29463c4447545b81","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"network\": \"MTN Data\", \r\n    \"amount\": 4.5, \r\n    \"bundle\": \"1\", \r\n    \"phone\": \"0240940228\", \r\n    \"paymentMethod\": \"wallet\", \r\n    \"reference\": \"order-112\"\r\n}","options":{"raw":{"language":"json"}}},"url":"localhost:4000/api/order/create"},"status":"Created","code":201,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"110"},{"key":"ETag","value":"W/\"6e-Dw68EU0/BmZlw791uShxbUG6jyw\""},{"key":"Date","value":"Sat, 18 Apr 2026 14:06:54 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"message\": \"Order processing failed. Manual processing will begin soon. Status set to pending\"\n}"},{"id":"05bfe132-f6eb-4d79-b285-7bb47196f5ab","name":"403 Forbidden","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"ApiKey dbe81582f1862965c0a159cd6ed7063acae0337bff1f1adf29463c4447545b81","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"network\": \"MTN Data\", \r\n    \"amount\": 4.5, \r\n    \"bundle\": \"1\", \r\n    \"phone\": \"0240940228\", \r\n    \"paymentMethod\": \"paystack\", \r\n    \"reference\": \"order-112\"\r\n}","options":{"raw":{"language":"json"}}},"url":"localhost:4000/api/order/create"},"status":"Forbidden","code":403,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"88"},{"key":"ETag","value":"W/\"58-Ee+rNzenrPH/DtVA/ivwQovBLCg\""},{"key":"Date","value":"Sat, 18 Apr 2026 14:17:03 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"message\": \"Paystack payments are only allowed from authorized domains\"\n}"}],"_postman_id":"51b72f39-20c7-49d6-b369-81a41d35b94d"},{"name":"Create AT iShare Data Bundle Order","id":"a81a329f-00e5-4e3e-b69d-8df9fc3766e4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Authorization","value":"ApiKey xxxxx","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"network\": \"AT iShare Data\", \r\n    \"amount\": 4.5, \r\n    \"bundle\": \"1\", \r\n    \"phone\": \"0575392566\", \r\n    \"paymentMethod\": \"wallet\", \r\n    \"reference\": \"order-112\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://ghstorehub.com/api/order/create","description":"<h2 id=\"🔴🔵-create-at-ishare-data-bundle-order\">🔴🔵 Create AT iShare Data Bundle Order</h2>\n<p>Creates a new data bundle order for the <strong>AT iShare Data</strong> network. This endpoint processes the order and deducts the specified amount from the configured payment method.</p>\n<hr />\n<h3 id=\"request\">Request</h3>\n<p><strong>Method:</strong> <code>POST</code><br /><strong>URL:</strong> <code>https://ghstorehub.com/api/order/create</code></p>\n<hr />\n<h3 id=\"headers\">Headers</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Value</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>Authorization</code></td>\n<td><code>ApiKey xxxxx</code></td>\n<td>API key used to authenticate the request. Replace <code>xxxxx</code> with your actual API key.</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h3 id=\"request-body\">Request Body</h3>\n<p>The request body must be sent as <strong>raw JSON</strong>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>network</code></td>\n<td><code>string</code></td>\n<td>✅ Yes</td>\n<td>The network/bundle type to purchase. Use <code>\"AT iShare Data\"</code> for this endpoint.</td>\n</tr>\n<tr>\n<td><code>amount</code></td>\n<td><code>number</code></td>\n<td>✅ Yes</td>\n<td>The monetary amount for the bundle order (e.g., <code>4.5</code>).</td>\n</tr>\n<tr>\n<td><code>bundle</code></td>\n<td><code>string</code></td>\n<td>✅ Yes</td>\n<td>The bundle package identifier/code (e.g., <code>\"1\"</code>).</td>\n</tr>\n<tr>\n<td><code>phone</code></td>\n<td><code>string</code></td>\n<td>✅ Yes</td>\n<td>The recipient's phone number in local format (e.g., <code>\"0575392566\"</code>).</td>\n</tr>\n<tr>\n<td><code>paymentMethod</code></td>\n<td><code>string</code></td>\n<td>✅ Yes</td>\n<td>The payment method to use. Accepted value: <code>\"wallet\"</code>.</td>\n</tr>\n<tr>\n<td><code>reference</code></td>\n<td><code>string</code></td>\n<td>✅ Yes</td>\n<td>A unique reference string for tracking the order (e.g., <code>\"order-112\"</code>).</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h3 id=\"example-request-body\">Example Request Body</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"network\": \"AT iShare Data\",\n  \"amount\": 4.5,\n  \"bundle\": \"1\",\n  \"phone\": \"0575392566\",\n  \"paymentMethod\": \"wallet\",\n  \"reference\": \"order-112\"\n}\n\n</code></pre>\n<hr />\n<h3 id=\"response-examples\">Response Examples</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Status Code</th>\n<th>Name</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>201 Created</code></td>\n<td>Created</td>\n<td>The order was successfully created and processed.</td>\n</tr>\n<tr>\n<td><code>400 Bad Request</code></td>\n<td>Bad Request</td>\n<td>The request was malformed or missing required fields. Check the request body for errors.</td>\n</tr>\n<tr>\n<td><code>403 Forbidden</code></td>\n<td>Forbidden</td>\n<td>Authentication failed or the API key does not have permission to perform this action.</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["api","order","create"],"host":["ghstorehub","com"],"query":[],"variable":[]}},"response":[{"id":"4fac787e-7bdb-4126-ae2e-3fb5b0c40f01","name":"400 Bad Request","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"ApiKey xxxx","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"network\": \"AT iShare Data\", \r\n    \"amount\": 4.5, \r\n    \"bundle\": \"1GB\",        //invalid value for bundle\r\n    \"phone\": \"0575392566\", \r\n    \"paymentMethod\": \"wallet\", \r\n    \"reference\": \"order-112\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://ghstorehub.com/api/order/create"},"status":"Bad Request","code":400,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"70"},{"key":"ETag","value":"W/\"46-1stJp6g8y29ly38heRhfEpV7EG4\""},{"key":"Date","value":"Sat, 18 Apr 2026 13:53:19 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"message\": \"Invalid bundle selected for this network\"\n}"},{"id":"dea60fc0-c6e4-4276-88c0-c3cc9c01de9a","name":"201 Created","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"ApiKey xxxx","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"network\": \"MTN Data\", \r\n    \"amount\": 4.5, \r\n    \"bundle\": \"1\", \r\n    \"phone\": \"0240940228\", \r\n    \"paymentMethod\": \"wallet\", \r\n    \"reference\": \"order-112\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://ghstorehub.com/api/order/create"},"status":"Created","code":201,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"110"},{"key":"ETag","value":"W/\"6e-Dw68EU0/BmZlw791uShxbUG6jyw\""},{"key":"Date","value":"Sat, 18 Apr 2026 14:06:54 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"message\": \"Order processing failed. Manual processing will begin soon. Status set to pending\"\n}"},{"id":"c7467251-eace-4434-889f-7554c263a229","name":"403 Forbidden","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"ApiKey xxxx","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"network\": \"AT iShare Data\", \r\n    \"amount\": 4.5, \r\n    \"bundle\": \"1\", \r\n    \"phone\": \"0575392566\", \r\n    \"paymentMethod\": \"paystack\",   //paystack not allowed via api\r\n    \"reference\": \"order-112\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://ghstorehub.com/api/order/create"},"status":"Forbidden","code":403,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"88"},{"key":"ETag","value":"W/\"58-Ee+rNzenrPH/DtVA/ivwQovBLCg\""},{"key":"Date","value":"Sat, 18 Apr 2026 14:17:03 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"message\": \"Paystack payments are only allowed from authorized domains\"\n}"}],"_postman_id":"a81a329f-00e5-4e3e-b69d-8df9fc3766e4"},{"name":"Create Telecel Data Bundle Order","id":"2c172766-7f6c-438a-a699-ce978d5679ac","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Authorization","value":"ApiKey xxxxx","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"network\": \"Telecel Data\", \r\n    \"amount\": 23, \r\n    \"bundle\": \"5\", \r\n    \"phone\": \"0505242512\", \r\n    \"paymentMethod\": \"wallet\", \r\n    \"reference\": \"order-112\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://ghstorehub.com/api/order/create","description":"<h2 id=\"🔴-create-telecel-data-bundle-order\">🔴 Create Telecel Data Bundle Order</h2>\n<p>Creates a new Telecel data bundle order on the GHStoreHub platform. This endpoint processes a data bundle purchase for a specified phone number using the chosen payment method.</p>\n<hr />\n<h2 id=\"authentication\">Authentication</h2>\n<p>This endpoint requires an <strong>API Key</strong> passed in the <code>Authorization</code> request header.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Header</th>\n<th>Value</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>Authorization</code></td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h2 id=\"request-body\">Request Body</h2>\n<p>The request body must be sent as <strong>raw JSON</strong> with the <code>Content-Type: application/json</code> header.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>network</code></td>\n<td><code>string</code></td>\n<td>✅ Yes</td>\n<td>The network provider for the data bundle. Use <code>\"Telecel Data\"</code> for Telecel.</td>\n</tr>\n<tr>\n<td><code>amount</code></td>\n<td><code>number</code></td>\n<td>✅ Yes</td>\n<td>The monetary amount for the data bundle order.</td>\n</tr>\n<tr>\n<td><code>bundle</code></td>\n<td><code>string</code></td>\n<td>✅ Yes</td>\n<td>The data bundle size/plan identifier (e.g., <code>\"5\"</code> for a 5GB bundle).</td>\n</tr>\n<tr>\n<td><code>phone</code></td>\n<td><code>string</code></td>\n<td>✅ Yes</td>\n<td>The recipient's phone number to receive the data bundle.</td>\n</tr>\n<tr>\n<td><code>paymentMethod</code></td>\n<td><code>string</code></td>\n<td>✅ Yes</td>\n<td>The payment method to use for the order (e.g., <code>\"wallet\"</code>).</td>\n</tr>\n<tr>\n<td><code>reference</code></td>\n<td><code>string</code></td>\n<td>✅ Yes</td>\n<td>A unique reference string to identify and track the order (e.g., <code>\"order-112\"</code>).</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"example-request-body\">Example Request Body</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"network\": \"Telecel Data\",\n    \"amount\": 23,\n    \"bundle\": \"5\",\n    \"phone\": \"0505242512\",\n    \"paymentMethod\": \"wallet\",\n    \"reference\": \"order-112\"\n}\n\n</code></pre>\n<hr />\n<h2 id=\"response-codes\">Response Codes</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Status Code</th>\n<th>Meaning</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>201 Created</code></td>\n<td>The order was successfully created. The data bundle has been queued for delivery to the specified phone number.</td>\n</tr>\n<tr>\n<td><code>400 Bad Request</code></td>\n<td>The request was malformed or contained invalid/missing parameters. Check the request body for errors.</td>\n</tr>\n<tr>\n<td><code>403 Forbidden</code></td>\n<td>Authentication failed or the API key does not have permission to perform this action. Verify your API key is valid and active.</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["api","order","create"],"host":["ghstorehub","com"],"query":[],"variable":[]}},"response":[{"id":"0862ac31-a637-4fce-b54e-1ad8f07b315b","name":"201 Created","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"ApiKey xxx","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"network\": \"Telecel Data\",\r\n    \"amount\": 23,\r\n    \"bundle\": \"5\",\r\n    \"phone\": \"0502485745\",\r\n    \"paymentMethod\": \"wallet\",\r\n    \"reference\": \"order-112\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://ghstorehub.com/api/order/create"},"status":"Created","code":201,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"110"},{"key":"ETag","value":"W/\"6e-Dw68EU0/BmZlw791uShxbUG6jyw\""},{"key":"Date","value":"Sat, 18 Apr 2026 14:06:54 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"message\": \"Order processing failed. Manual processing will begin soon. Status set to pending\"\n}"},{"id":"3a8ab792-5896-4185-a51d-3de331a36226","name":"403 Forbidden","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"ApiKey xxxx","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"network\": \"Telecel Data\", \r\n    \"amount\": 23, \r\n    \"bundle\": \"5\", \r\n    \"phone\": \"0505856525\", \r\n    \"paymentMethod\": \"paystack\", \r\n    \"reference\": \"order-112\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://ghstorehub.com/api/order/create"},"status":"Forbidden","code":403,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"88"},{"key":"ETag","value":"W/\"58-Ee+rNzenrPH/DtVA/ivwQovBLCg\""},{"key":"Date","value":"Sat, 18 Apr 2026 14:17:03 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"message\": \"Paystack payments are only allowed from authorized domains\"\n}"},{"id":"539669f7-8695-40dc-bf67-8a13027ce3f7","name":"400 Bad Request","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"ApiKey dbe81582f1862965c0a159cd6ed7063acae0337bff1f1adf29463c4447545b81","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"network\": \"Telecel Data\", \r\n    \"amount\": 4.5, \r\n    \"bundle\": \"5\", \r\n    \"phone\": \"0502523252\", \r\n    \"paymentMethod\": \"wallet\", \r\n    \"reference\": \"order-112\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://ghstorehub.com/api/order/create"},"status":"Bad Request","code":400,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"142"},{"key":"ETag","value":"W/\"8e-bMx7lBbA3ucpwujWyl5sl24IctU\""},{"key":"Date","value":"Sat, 18 Apr 2026 14:22:51 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"message\": \"Invalid amount. The correct price for this bundle is GHS 23.00. Please refresh and try again.\",\n    \"correctAmount\": 23\n}"}],"_postman_id":"2c172766-7f6c-438a-a699-ce978d5679ac"},{"name":"Create AT Big Time Bundle Order","id":"655f3b1a-e564-47c9-aaf5-b0a18213c02b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Authorization","value":"ApiKey xxxxx","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"network\": \"AT Big Time Data\", \r\n    \"amount\": 75, \r\n    \"bundle\": \"30\", \r\n    \"phone\": \"0575392566\", \r\n    \"paymentMethod\": \"wallet\", \r\n    \"reference\": \"order-112\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://ghstorehub.com/api/order/create","description":"<h2 id=\"🔴🔵-create-at-big-time-bundle-order\">🔴🔵 Create AT Big Time Bundle Order</h2>\n<p>Creates a new data bundle order for the <strong>AT Big Time Data</strong> network via the GHStoreHub API.</p>\n<hr />\n<h3 id=\"endpoint\">Endpoint</h3>\n<p><strong>POST</strong> <code>https://ghstorehub.com/api/order/create</code></p>\n<hr />\n<h3 id=\"headers\">Headers</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Value</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>Authorization</code></td>\n<td><code>ApiKey xxxxx</code></td>\n<td>Your API key for authenticating requests. Replace <code>xxxxx</code> with your actual API key.</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h3 id=\"request-body-json\">Request Body (JSON)</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>network</code></td>\n<td><code>string</code></td>\n<td>The network/bundle type to order. Use <code>\"AT Big Time Data\"</code> for this bundle.</td>\n</tr>\n<tr>\n<td><code>amount</code></td>\n<td><code>number</code></td>\n<td>The cost/price of the bundle in the applicable currency (e.g., <code>75</code>).</td>\n</tr>\n<tr>\n<td><code>bundle</code></td>\n<td><code>string</code></td>\n<td>The bundle size or plan identifier (e.g., <code>\"30\"</code> for a 30-unit bundle).</td>\n</tr>\n<tr>\n<td><code>phone</code></td>\n<td><code>string</code></td>\n<td>The recipient's phone number to which the bundle will be credited.</td>\n</tr>\n<tr>\n<td><code>paymentMethod</code></td>\n<td><code>string</code></td>\n<td>The payment method to use. Accepted value: <code>\"wallet\"</code>.</td>\n</tr>\n<tr>\n<td><code>reference</code></td>\n<td><code>string</code></td>\n<td>A unique reference string for tracking this order (e.g., <code>\"order-112\"</code>).</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Example Request Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"network\": \"AT Big Time Data\",\n  \"amount\": 75,\n  \"bundle\": \"30\",\n  \"phone\": \"0575392566\",\n  \"paymentMethod\": \"wallet\",\n  \"reference\": \"order-112\"\n}\n\n</code></pre>\n<hr />\n<h3 id=\"response-codes\">Response Codes</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Status Code</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>201 Created</code></td>\n<td>The bundle order was successfully created.</td>\n</tr>\n<tr>\n<td><code>400 Bad Request</code></td>\n<td>The request was malformed or missing required fields. Check your request body for errors.</td>\n</tr>\n<tr>\n<td><code>403 Forbidden</code></td>\n<td>Authentication failed or the API key is invalid/unauthorized. Verify your <code>Authorization</code> header.</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["api","order","create"],"host":["ghstorehub","com"],"query":[],"variable":[]}},"response":[{"id":"b3596036-12e1-4d54-b511-012b939d8607","name":"403 Forbidden","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"ApiKey xxxx","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"network\": \"AT Big Time Data\", \r\n    \"amount\": 75, \r\n    \"bundle\": \"30\", \r\n    \"phone\": \"0575392566\", \r\n    \"paymentMethod\": \"paystack\", \r\n    \"reference\": \"order-112\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://ghstorehub.com/api/order/create"},"status":"Forbidden","code":403,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"88"},{"key":"ETag","value":"W/\"58-Ee+rNzenrPH/DtVA/ivwQovBLCg\""},{"key":"Date","value":"Sat, 18 Apr 2026 14:17:03 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"message\": \"Paystack payments are only allowed from authorized domains\"\n}"},{"id":"c7aab287-283f-4a1b-b887-ee07dd10fa7a","name":"400 Bad Request","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"ApiKey xxxx","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"network\": \"AT Big Time Data\", \r\n    \"amount\": 4.5, \r\n    \"bundle\": \"30\", \r\n    \"phone\": \"0575392566\", \r\n    \"paymentMethod\": \"wallet\", \r\n    \"reference\": \"order-112\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://ghstorehub.com/api/order/create"},"status":"Bad Request","code":400,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"142"},{"key":"ETag","value":"W/\"8e-/DYXqr7m/LsMqZvqzjsXUAADE34\""},{"key":"Date","value":"Sat, 18 Apr 2026 14:40:33 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"message\": \"Invalid amount. The correct price for this bundle is GHS 75.00. Please refresh and try again.\",\n    \"correctAmount\": 75\n}"},{"id":"9f715a96-a2a2-4031-95f8-9919627468d2","name":"201 Created","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"ApiKey xxxx","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"network\": \"AT Big Time Data\", \r\n    \"amount\": 75, \r\n    \"bundle\": \"30\", \r\n    \"phone\": \"0575392566\", \r\n    \"paymentMethod\": \"wallet\", \r\n    \"reference\": \"order-112\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://ghstorehub.com/api/order/create"},"status":"Created","code":201,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"110"},{"key":"ETag","value":"W/\"6e-Dw68EU0/BmZlw791uShxbUG6jyw\""},{"key":"Date","value":"Sat, 18 Apr 2026 14:41:20 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"message\": \"Order processing failed. Manual processing will begin soon. Status set to pending\"\n}"}],"_postman_id":"655f3b1a-e564-47c9-aaf5-b0a18213c02b"},{"name":"Create AT Fuse Call Bundle Order","id":"6746cd81-c8bb-4c75-8380-20d760ba9615","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Authorization","value":"ApiKey xxxxx","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"network\": \"AT Fuse Call\", \r\n    \"amount\": 6, \r\n    \"bundle\": \"110\",   // Example: 110 mins\r\n    \"phone\": \"0575392566\", \r\n    \"paymentMethod\": \"wallet\", \r\n    \"reference\": \"order-112\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://ghstorehub.com/api/order/create","description":"<h2 id=\"🔵🔴-📞-create-at-fuse-call-bundle-order\">🔵🔴 📞 Create AT Fuse Call Bundle Order</h2>\n<p>Creates a call bundle order via the <strong>AT Fuse</strong> integration. This endpoint submits a new order request and returns a confirmation upon successful creation.</p>\n<hr />\n<h2 id=\"authentication\">Authentication</h2>\n<p>This endpoint requires an <strong>ApiKey</strong> passed in the <code>Authorization</code> header.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>Authorization: ApiKey &lt;your-api-key&gt;\n\n</code></pre><hr />\n<h2 id=\"request\">Request</h2>\n<ul>\n<li><p><strong>Method</strong>: <code>POST</code></p>\n</li>\n<li><p><strong>URL</strong>: <code>https://ghstorehub.com/api/order/create</code></p>\n</li>\n<li><p><strong>Content-Type</strong>: <code>application/json</code></p>\n</li>\n</ul>\n<p>The request body must be a valid <strong>JSON</strong> object containing the necessary order details for the AT Fuse call bundle.</p>\n<hr />\n<h2 id=\"responses\">Responses</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Status Code</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>201 Created</code></td>\n<td>The call bundle order was successfully created.</td>\n</tr>\n<tr>\n<td><code>400 Bad Request</code></td>\n<td>The request was malformed or contained invalid/missing parameters.</td>\n</tr>\n<tr>\n<td><code>403 Forbidden</code></td>\n<td>Authentication failed or the provided API key does not have permission to perform this action.</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["api","order","create"],"host":["ghstorehub","com"],"query":[],"variable":[]}},"response":[{"id":"46d061d7-9df3-463c-a38d-d7d492c0d820","name":"403 Forbidden","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"ApiKey xxxxxx","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"network\": \"AT Fuse Call\", \r\n    \"amount\": 4.5, \r\n    \"bundle\": \"1\", \r\n    \"phone\": \"0575392566\", \r\n    \"paymentMethod\": \"paystack\", \r\n    \"reference\": \"order-112\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://ghstorehub.com/api/order/create"},"status":"Forbidden","code":403,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"88"},{"key":"ETag","value":"W/\"58-Ee+rNzenrPH/DtVA/ivwQovBLCg\""},{"key":"Date","value":"Sat, 18 Apr 2026 14:17:03 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"message\": \"Paystack payments are only allowed from authorized domains\"\n}"},{"id":"46ad7cad-709e-4016-a31e-184f95f6e7a3","name":"400 Bad Request","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"ApiKey xxxx","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"network\": \"AT Fuse Call\", \r\n    \"amount\": 4.5, \r\n    \"bundle\": \"110\", \r\n    \"phone\": \"0575392566\", \r\n    \"paymentMethod\": \"wallet\", \r\n    \"reference\": \"order-112\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://ghstorehub.com/api/order/create"},"status":"Bad Request","code":400,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"85"},{"key":"ETag","value":"W/\"55-miMc+EHQpZJJ+lL77OARtaq1210\""},{"key":"Date","value":"Sat, 18 Apr 2026 14:47:26 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"message\": \"Selected bundle is not currently available for purchase\"\n}"},{"id":"f0059233-9ef2-42d7-a8af-7a6417e7f5b8","name":"400 Bad Request","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"ApiKey xxxx","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"network\": \"AT Fuse Call\", \r\n    \"amount\": 4.5, \r\n    \"bundle\": \"110\", \r\n    \"phone\": \"0575392566\", \r\n    \"paymentMethod\": \"wallet\", \r\n    \"reference\": \"order-112\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://ghstorehub.com/api/order/create"},"status":"Bad Request","code":400,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"140"},{"key":"ETag","value":"W/\"8c-oD1w33Kv70OPkFuP9i7TjApUAR4\""},{"key":"Date","value":"Sat, 18 Apr 2026 14:53:58 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"message\": \"Invalid amount. The correct price for this bundle is GHS 6.00. Please refresh and try again.\",\n    \"correctAmount\": 6\n}"},{"id":"35977ff0-ab1f-4fa0-bd2c-0f9c352da52e","name":"201 Created","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"ApiKey xxxxx","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"network\": \"AT Fuse Call\", \r\n    \"amount\": 6, \r\n    \"bundle\": \"110\", \r\n    \"phone\": \"0575392566\", \r\n    \"paymentMethod\": \"wallet\", \r\n    \"reference\": \"order-112\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://ghstorehub.com/api/order/create"},"status":"Created","code":201,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"110"},{"key":"ETag","value":"W/\"6e-Ji3OkY9uI2Eda0AvRpdlqaAtMqk\""},{"key":"Date","value":"Sat, 18 Apr 2026 14:56:34 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"message\": \"Order placed successfully. It will be processed manually.\",\n    \"manualProcessing\": true\n}"}],"_postman_id":"6746cd81-c8bb-4c75-8380-20d760ba9615"},{"name":"Check Order Status Using Order ID","id":"300e5b3c-2acf-421f-8dce-08f253e8a4ca","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Authorization","value":"ApiKey xxxx","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"network\": \"AT iShare Data\", \r\n    \"amount\": 4.5, \r\n    \"bundle\": \"1\", \r\n    \"phone\": \"0240940228\", \r\n    \"paymentMethod\": \"wallet\", \r\n    \"reference\": \"order-112\"\r\n}"},"url":"https://ghstorehub.com/api/order/check/:orderId","urlObject":{"protocol":"https","path":["api","order","check",":orderId"],"host":["ghstorehub","com"],"query":[],"variable":[{"type":"any","value":"ORD-MNME0S0E-IV5ZVD","key":"orderId"}]}},"response":[{"id":"8cefc7cc-2513-43e4-bbd6-c4c1ba06baf0","name":"200 OK","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"ApiKey xxxx","type":"text"}],"url":{"raw":"https://ghstorehub.com/api/order/check/:orderId","protocol":"https","host":["ghstorehub","com"],"path":["api","order","check",":orderId"],"variable":[{"key":"orderId","value":"ORD-MNME0S0E-IV5ZVD"}]}},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"190"},{"key":"ETag","value":"W/\"be-aRARclZvb48SquF0+8OPesOhCxo\""},{"key":"Date","value":"Sat, 18 Apr 2026 14:52:57 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"order\": {\n        \"orderId\": \"ORD-MNME0S0E-IV5ZVD\",\n        \"status\": \"completed\",\n        \"amount\": 5,\n        \"phoneNumber\": \"024****228\",\n        \"bundle\": \"1\",\n        \"network\": \"MTN Data\",\n        \"createdAt\": \"2026-04-05T23:23:30.649Z\"\n    }\n}"}],"_postman_id":"300e5b3c-2acf-421f-8dce-08f253e8a4ca"}],"variable":[{"key":"apikeyValue","value":"","type":"default"}]}