Frequently Asked Questions

These are the most common questions developers and partners ask about the Buy Gift Card API.

1. How do I know which gift cards are available for purchase?

Use the GET /giftcard-trade/buy/config endpoint. It returns a complete list of available cards, their price range, and supported currencies.

Sample Response:

{
  "status": "success",
  "data": {
    "cards": [
      {
        "sku": "AMAZON_US_25",
        "name": "Amazon US",
        "denomination": 25,
        "currency": "USD",
        "price_ngn": 12500,
        "price_ghs": 85,
        "stock_available": true
      }
    ],
    "paymentMethodsAll": ["NGN", "GHS", "BITCOINS", "USDT"]
  }
}

2. Can I pay using crypto?

No, crypto options like BITCOINS and USDT are not available over the API. Check the paymentMethodsAll field to confirm which methods are active at the moment.


3. How long does it take to receive the gift card?

Most transactions complete instantly.


4. What happens after I buy a gift card?

Once payment is confirmed:

  • A webhook event (giftcard-trade.buy.approved) will be sent to your server.
  • The response contains card details (PIN, code). You can also query it manually using the transaction reference.

5. Why was my transaction rejected?

A transaction may be rejected if:

  • The payment failed.
  • The card went out of stock before confirmation.
  • Invalid or incomplete data was provided.

Always check your webhook payload or history logs for the rejection reason.


6. Can I get a refund for a failed or canceled buy?

If a transaction fails and payment has already been deducted, the amount is automatically refunded to your Prestmit wallet. No manual action is required.


7. Can I buy multiple gift cards in one request?

Currently, each API request handles one SKU at a time. But you can buy multiple quantities. To buy multiple gift cards (different SKUs), you can programmatically send parallel or batched requests.


8. How can I test my integration?

Use your Sandbox API Key and endpoints under the test environment. This allows you to simulate buys, receive test webhooks, and confirm your flow before production launch.


9. What currencies can I buy in?

You can buy in Naira (NGN) or Cedis (GHS). Crypto and other fiat options may be added in future updates.


10. How do I handle duplicate webhooks?

Webhooks can sometimes be retried due to network issues. Always use the reference field as a unique identifier. If it already exists in your database, ignore the duplicate.

Example Duplicate Handling:

// Check if transaction already exists
if (await Transaction.findOne({ reference: webhook.data.reference })) {
  return res.status(200).json({ message: 'Duplicate webhook ignored' });
}

// Process new transaction
await Transaction.create({
  reference: webhook.data.reference,
  status: webhook.data.status,
  // ... other fields
});

What’s Next

Next... Let's look at the overview of wallets and payouts over the Prestmit API.