Sell Amazon, Apple,
Xbox & 50+ gift
card brands
for instant Naira
One REST API to accept physical cards, e-codes, and digital receipts from 50+ major gift card brands and convert them to Nigerian Naira. Payouts reach bank accounts within minutes.
POST https://api.sogo.africa/v1/gift-cards/sell Authorization: Bearer sogo_sk_live_•••••••••••••••• Content-Type: application/json Idempotency-Key: 550e8400-e29b-41d4-a716-446655440000 { "slug": "amazon", "card_country": "US", "card_type": "ecode", "card_currency": "USD", "card_amount": 100, "additional_info": "AQ-AMZN-TEST-CODE-1234" }
201 Created 112ms { "message": "Your gift card trade has been submitted. Our team will review it shortly.", "data": { "id": "e2cd33a2-df98-4c91-9e7f-b6eb5051a8f9", "reference": "SBXGC24J4P21F", "card_name": "Amazon Gift Card", "card_country": "US", "card_type": "ecode", "sub_type": null, "card_amount": 100, "card_currency": "USD", "payout_amount": { "raw": 163400.0, "formatted": "NGN 163,400.00", "currency": "NGN" }, "status": "pending", "created_at": "2026-05-24T10:30:00.000000Z" } }
50+ of the world's most traded gift card brands
From US retail giants to gaming platforms and prepaid cards - if your users hold it, Sogo can convert it to Naira.
Amazon
Apple / iTunes
Google Play
Xbox
PlayStation
Steam
Roblox
Razer Gold
Sephora
Nike
Walmart
Target
Best Buy
eBay
GameStop
Foot Locker
Nordstrom
Macy's
lululemon
OffGamers
Visa
Amex
Vanilla
Green Dot
NetSpend
Dick's SportingFrom catalogue to settled Naira in four calls
Build a complete gift card trading flow in under an hour using the three dedicated endpoints.
Fetch the catalogue
Call GET /v1/gift-cards/sell/catalog to retrieve all supported brands, accepted card types, denominations, and submission requirements.
Check live rates
Call GET /v1/gift-cards/sell/rates to get the current Naira exchange rate for the specific brand and denomination your user holds.
Submit the card
Send POST /v1/gift-cards/sell with the card details and your idempotency key. The card enters processing immediately.
Receive webhook
Sogo fires a transaction.completed webhook when the card is verified and Naira is credited to your user's wallet.
Gift Cards API endpoints
Three endpoints cover the complete gift card trading workflow, from catalogue lookup to card submission.
Authentication
All gift cards endpoints require a secret key (sogo_sk_live_xxxx or sogo_sk_test_xxxx for sandbox). Pass it as a Bearer token: Authorization: Bearer sogo_sk_live_xxxx. Public keys are not accepted for this API.
Returns the complete catalogue of supported gift card brands. Each brand entry includes its unique slug, display name, accepted denominations, accepted currencies, card types (ecode, physical, digital_receipt), and any brand-specific submission instructions or restrictions.
No query parameters required. Response is cached and refreshed regularly.
GET https://api.sogo.africa/v1/gift-cards/sell/catalog Authorization: Bearer sogo_sk_live_••••••••••••••••
200 OK 68ms { "data": [ { "slug": "amazon", "name": "Amazon", "currencies": ["USD", "GBP", "EUR", "CAD"], "denominations": [10, 25, 50, 100, 200], "card_types": ["ecode", "physical"], "requires_pin": false, "is_active": true }, // ... 49+ more brands ] }
Returns current Naira payout rates for all brands, denominations, and currencies. Rates are updated in real time and reflect current market conditions. Always fetch fresh rates immediately before presenting a quote to your users.
| Parameter | Type | Required | Description |
|---|---|---|---|
| slug | string | optional | Filter to a single gift card brand by slug (e.g. amazon, apple). Omit to get all brands. |
GET https://api.sogo.africa/v1/gift-cards/sell/rates?slug=amazon Authorization: Bearer sogo_sk_live_••••••••••••••••
200 OK 54ms { "data": [ { "slug": "amazon", "name": "Amazon", "rates"{ "USD"{ "ecode"{ "NGN": 1634.00 "physical"{ "NGN"{ "cash_receipt": 1650.00, "debit_receipt": 1640.00, "no_receipt": 1630.00 } } } } } ] }
Submit a gift card for trading. The card is validated, the Naira rate is locked in at the moment of submission, and the transaction enters pending status. Completion is confirmed via webhook when the card is verified and the payout is processed.
| Parameter | Type | Required | Description |
|---|---|---|---|
| slug | string | required | Brand slug from the catalogue (e.g. amazon, apple, xbox). |
| card_country | string | required | Country code for the card (e.g. US, GB). Must be supported by the brand. |
| card_type | string | required | ecode or physical. |
| sub_type | string | conditional | Variant type for physical cards (e.g. cash_receipt, debit_receipt, no_receipt). |
| card_currency | string | required | ISO-4217 currency of the card (e.g. USD, GBP). |
| card_amount | numeric | required | Face value of the card in card_currency (major units). |
| additional_info | string | conditional | Required for ecode. The gift card redemption code. |
| images | array | conditional | Required for physical. Upload 1-5 JPEG/PNG images of the card. Use multipart/form-data. |
| payout_currency | string | optional | Desired payout currency. Defaults to NGN if omitted. |
| specific_country | string | conditional | Specific country name within Europe. Required when card_country is EU. |
POST https://api.sogo.africa/v1/gift-cards/sell Authorization: Bearer sogo_sk_live_•••••••••••••••• Content-Type: application/json Idempotency-Key: 550e8400-e29b-41d4-a716-446655440000 { "slug": "amazon", "card_country": "US", "card_type": "ecode", "card_currency": "USD", "card_amount": 100, "additional_info": "AQ-AMZN-TEST-CODE-1234" }
201 Created 118ms { "message": "Your gift card trade has been submitted. Our team will review it shortly.", "data": { "id": "e2cd33a2-df98-4c91-9e7f-b6eb5051a8f9", "reference": "SBXGC24J4P21F", "card_name": "Amazon Gift Card", "card_country": "US", "card_type": "ecode", "sub_type": null, "card_amount": 100, "card_currency": "USD", "payout_amount": { "raw": 163400.0, "formatted": "NGN 163,400.00", "currency": "NGN" }, "status": "pending", "created_at": "2026-05-24T10:30:00.000000Z" } }
// PHP example - sell an Amazon $100 gift card $client = new \GuzzleHttp\Client; $response = $client->post('https://api.sogo.africa/v1/gift-cards/sell', [ 'headers' => [ 'Authorization' => 'Bearer ' . getenv('SOGO_SECRET_KEY'), 'Content-Type' => 'application/json', 'Idempotency-Key' => \Ramsey\Uuid\Uuid::uuid4()->toString(), ], 'json' => [ 'slug' => 'amazon', 'card_country' => 'US', 'card_type' => 'ecode', 'card_currency' => 'USD', 'card_amount' => (float) $request->card_amount, 'additional_info' => $request->additional_info, ], ]); $data = json_decode($response->getBody(), true)['data']; // Save $data['reference'] - you'll need it to match the webhook
// Node.js - sell a gift card import { randomUUID } from 'crypto'; const res = await fetch('https://api.sogo.africa/v1/gift-cards/sell', { method: 'POST', headers: { Authorization: `Bearer ${process.env.SOGO_SECRET_KEY}`, 'Content-Type': 'application/json', 'Idempotency-Key': randomUUID(), }, body: JSON.stringify({ slug: 'amazon', card_country: 'US', card_type: 'ecode', card_currency: 'USD', card_amount: parseFloat(req.body.cardAmount), additional_info: req.body.additionalInfo, }), }); const { data } = await res.json(); // Save data.reference to match the incoming webhook
Stay informed at every step
Sogo fires signed webhook events to your registered endpoint as each gift card transaction progresses. Never poll for status again.
Card has been verified and Naira credited. The payout_amount field in the payload confirms the exact NGN amount settled to your wallet balance. Use this to notify your user and update your ledger.
Card verification was unsuccessful - possible reasons include invalid code, card already redeemed, or denomination mismatch. When a trade is rejected, Sogo cancels the transaction and dispatches a transaction.cancelled webhook with the failure_reason.
Signature verification is mandatory. Every delivery includes an X-Sogo-Signature-256 header. Always verify with hash_hmac('sha256', $rawBody, $webhookSecret) before processing.
Failed deliveries are retried up to 5 times on a progressive schedule: 1 min, 5 min, 30 min, 2 hrs, 8 hrs.
What you can build with the Gift Cards API
The Gift Cards API powers everything from consumer-facing trading apps to enterprise bulk processing platforms.
Gift Card Trading Marketplace
Build a peer-to-peer or B2C platform where users submit gift cards and receive instant Naira. The API handles rates, verification, and payout.
Fintech Super-App
Add gift card trading as a feature inside your existing fintech, neobank, or wallet app. One integration, unlimited card brands for your users.
Automated Bulk Processing
Handle high volumes of gift card submissions programmatically. Ideal for businesses buying gift cards in bulk from employees or loyalty reward redemptions.
Agent & Reseller Networks
Empower agents to accept gift cards from customers at competitive Naira rates. The API provides live rates so agents always quote accurately.
Loyalty & Rewards Platforms
Let users redeem earned points or cashback in the form of gift cards that are instantly converted to Naira and deposited to their linked bank account.
POS & Retail Integration
Add gift card acceptance to physical retail terminals or e-commerce checkout flows. Customers pay with gift cards; you receive Naira instantly.
Start accepting gift cards today
Get your API keys in under two minutes. Test every brand, rate, and webhook event against our full sandbox environment before going live.