For the complete documentation index, see llms.txt. This page is also available as Markdown.

Recharge Card

Startbutton's 'Re-charge' feature allows you to charge your customer's card for subsequent transactions after the first charge has been successfully authenticated and completed.

Enable Card Re-Charge

Contact the Startbutton team support@startbutton.africa to access this feature. With a single API, you can initiate a card re-charge on domestic and international cards.

Complete First Charge

Initializing a first charge is required to ensure the card is valid and can be charged for subsequent transactions — see Accept Payments — Overview for your customer's first transaction with the card.

The minimum recommended amount for the first charge is NGN 50.00 / GHS 0.10. Lower amounts aren't guaranteed to work on all card brands or banks.

Store Card Authorization Code

Once the first transaction is successful, retrieve the webhook payload (see Overview & Verification) or the Transaction Statuses. Store the authorizationCode returned — this is used to charge the card subsequently. Avoid saving an authorizationCode multiple times.

Sample webhook payload (Recharge enabled):

{
  "event": "collection.completed",
  "data": {
    "merchantId": "64459778bf350cc65485986c",
    "paymentPartner": { "id": "644a50bb188729db2115443b", "name": "Paystack", "currency": "NGN" },
    "transaction": {
      "_id": "648ca8aba0fa641316284dc3",
      "transType": "collection",
      "status": "processing",
      "toAmount": 200000,
      "toCurrency": "NGN",
      "merchantId": "64459778bf350cc65485986c",
      "transactionReference": "69f146f0487b",
      "customerEmail": "test@customer.com",
      "paymentCode": "d316a59258c21bd06d23288ce8cedc679686bef8a9907e89bc6e630fb2a1e32f639d4bee4deeb8aaf3e8dada44867a0650e32d60feae47f2a99099f96d176d1b00434876b29e8a03a728312bec3cfc429b7ac26fc73021ab13551e104e2f2680",
      "isRecurrent": "false",
      "createdAt": "2023-06-16T18:23:39.716Z",
      "updatedAt": "2023-06-16T18:23:41.837Z",
      "__v": 0
    },
    "authorizationCode": "f2e4a43dc7bxxx"
  }
}

Sample webhook payload (Recharge disabled):

Post Re-Charge Request

For subsequent card charges, send the authorizationCode and amount.

Header
Value

Authorization

Bearer SECRET_KEY (see Authentication)

Content-Type

application/json

See Environments & Base URLs before making requests.

Endpoint: POST {{baseurl}}/transaction/recurrent

Sample request:

Sample response:

Webhooks

See Overview & Verification to understand webhooks and getting transaction status.

isRecurrent is true in the webhook when the card is charged via the Recharge endpoint.

Last updated