Startbutton Product API
  • Startbutton API doc
    • Get Started
    • Accept Payments
    • Server-to-Server Integration
      • S2S Integration for Virtual Accounts
        • S2S Virtual account (NGN)
        • S2S Virtual account (GHS)
        • S2S EFT (ZAR)
      • S2S Integration for Mobile Money
        • S2S MoMo (KES and GHS)
        • S2S MoMo (TZS and UGX)
        • S2S MoMo (RWF)
        • S2S MoMo XOF and XAF
    • Re-charge Card
    • Subscriptions
    • Payment Links
    • Currency Conversion
    • Get Wallet Balance
    • Transfer
      • Bank List
    • Security Measures.
      • IP Whitelisting
    • Webhook
    • Transaction Status
    • Get FX Rate
    • Under and Overpayments
    • Refunds
      • Refund Transaction Status (TSQ)
    • Available Currencies
    • FAQs
  • Advanced Security
    • Signed Payload for Transfer Requests.
Powered by GitBook
On this page
  1. Startbutton API doc

Refunds

This feature allows you to refund a single collection. You can refund transactions made via Bank Transfers and Cards for NGN and GHS currencies.

We currently do not support REFUNDS for Mobile Money transactions.

To Initiate Refunds for a transaction:

Authorization
Set value to Bearer SECRET_KEY

Content-type

Set value to application/json

The secret key can be gotten from the 'Settings' page on your Startbutton dashboard.

Post a request to the URL below, where the base URL is determined by the environment you are in.

BaseUrls

PROD : https://api.startbutton.tech

DEV/ Staging: https://api-dev.startbutton.tech

POST - {{baseurl}}/transaction/refunds

You can initiate refunds for all your collection transactions made via bank_transfer or transfer

Param
Required?
Description

transactionReference

Yes

This is the original transaction reference of the transaction you wish to refund. This can be gotten from your collection Tab under the "Transaction Ref" column.

reason

optional

This is to provide a reason for the refund.

amount

Yes

This is the amount you'd like to refund. Note: Refunds can be partially or fully initiated.

This means that for a NGN2000 transaction, you can refund the whole sum or part of the entire sum.

amount should be in fractional unit.

Sample code:

{
  "transactionReference": "79xxxxxxxxx",
  "amount": 500
}
{
  "transactionReference": "79xxxxxxxxx",
  "reason":"Test refund",
  "amount": 500
}
  1. The amount is not required to be in fractional units.

  2. The original transaction reference can be obtained from the dashboard transaction detail or the Webhook notification.

  3. Your available balance must be sufficient to cater to the refund being initiated.

  4. A fee is attached to any processed refund.

Sample responses:

{
    "success": true,
    "message": "Refund initiated successfully!"
}
{
    "success": false,
    "message": {
        "reason": "Bank account to send refund not found!",
        "type": "BANK_ACCOUNT"
    },
    "data": 400
}
{
    "success": false,
    "message": "Refund amount is greater than the transaction amount!",
    "data": 400
}
{
    "success": false,
    "message": "User has insufficient balance.",
    "data": 400
}

When a refund is processed, you receive an email- informing you if the refund was successfulorfailed.

PreviousUnder and OverpaymentsNextRefund Transaction Status (TSQ)

Last updated 2 months ago