Sogo Logo Developer
Get Started
Gift Cards Trading API

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.

sell-gift-card.http
Request
Response
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+ Brands supported
Instant Naira payout
3 API endpoints
E-codes & Physical Card types accepted

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 Sporting
+24 more brands

From catalogue to settled Naira in four calls

Build a complete gift card trading flow in under an hour using the three dedicated endpoints.

1

Fetch the catalogue

Call GET /v1/gift-cards/sell/catalog to retrieve all supported brands, accepted card types, denominations, and submission requirements.

2

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.

3

Submit the card

Send POST /v1/gift-cards/sell with the card details and your idempotency key. The card enters processing immediately.

4

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.

GET
/v1/gift-cards/sell/catalog
Scope: gift_cards:read

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.

catalog.http
Request
Response
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
  ]
}
GET
/v1/gift-cards/sell/rates
Scope: gift_cards:read

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.

ParameterTypeRequiredDescription
slugstringoptionalFilter to a single gift card brand by slug (e.g. amazon, apple). Omit to get all brands.
rates.http
Request
Response
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
            }
          }
        }
      }
    }
  ]
}
POST
/v1/gift-cards/sell
Scope: gift_cards:write  ·  Idempotency-Key required

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.

ParameterTypeRequiredDescription
slugstringrequiredBrand slug from the catalogue (e.g. amazon, apple, xbox).
card_countrystringrequiredCountry code for the card (e.g. US, GB). Must be supported by the brand.
card_typestringrequiredecode or physical.
sub_typestringconditionalVariant type for physical cards (e.g. cash_receipt, debit_receipt, no_receipt).
card_currencystringrequiredISO-4217 currency of the card (e.g. USD, GBP).
card_amountnumericrequiredFace value of the card in card_currency (major units).
additional_infostringconditionalRequired for ecode. The gift card redemption code.
imagesarrayconditionalRequired for physical. Upload 1-5 JPEG/PNG images of the card. Use multipart/form-data.
payout_currencystringoptionalDesired payout currency. Defaults to NGN if omitted.
specific_countrystringconditionalSpecific country name within Europe. Required when card_country is EU.
sell.http
Request
Response
PHP
Node
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.

transaction.completed

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.

transaction.cancelled

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.

Sandbox is free - no approval needed

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.