1. Developers
AXS Developer Hub
  • Getting Started
    • Overview
    • Account Setup
    • Merchant Branding
    • Payment Link
  • Developers
    • Payment Link Integration
    • QR Code Integration
    • Transaction Query
    • Card on File
    • Void and Refund
  • Point of Sale
    • PayCube
    • Function & Response Codes
  • Plugins
    • WooCommerce
    • PrestaShop
  • Appendix
    • Test Cards
    • Reserved Amounts
  1. Developers

Void and Refund

Overview#

The Void and Refund APIs empower merchants and platform operators to handle post-payment adjustments reliably and securely.
These APIs cover payment transactions from both AXS Checkout and Terminal (Voided / Refunded transaction will not be reflected in the terminal history page).
It is compulsory to issue Client ID and Secret for all merchants' MID to use this feature.

Start Integrating#

Void / Refund Payment#

VOID
Merchant can issue Void for a payment transaction performed within the day by 23:59:59.
No partial amount void is allowed.
Endpoint:
UAT - GET https://merchant.uat.pay.axs.com.sg/bff/api/ext/payment/void?data=<JWE compact serialization>
PROD - GET https://merchant.axsasia.com/bff/api/ext/payment/void?data=<JWE compact serialization>
REFUND
Merchant can issue Refund for a payment transaction performed after the end of the day – 23:59:59, up to 30 calendar days.
Multiple partial refund is supported. Total refund amount must not exceed Sales amount. Additional fees may apply.
Endpoint:
UAT - GET https://merchant.uat.pay.axs.com.sg/bff/api/ext/payment/refund?data=<JWE compact serialization>
PROD - GET https://merchant.axsasia.com/bff/api/ext/payment/refund?data=<JWE compact serialization>
AXS uses JSON Web Encryption (JWE) to encrypt the request parameters. Do refer below for the JWE header info:
alg PBES2-HS512+A256KW
enc A256GCM
p2s Salt (UUID)
p2c Iteration (fixed value: 1000)
kid Client ID

Request Parameters#

Parameters
Required
Remarks
originalTransactionRefUnique transaction reference (transactionRef) received in the webhook / transaction query from successful payment.
refundAmountAmount to be refunded in cent. Can be full / partial amount.
*Mandatory for Refund only.
Sample Request Data
{ "originalTransactionRef": "1007202520250801153518" }
OR
{ "originalTransactionRef": "1007202520250801153518", "refundAmount": "1" }
Sample Code
Sample Final URL

Response Parameters#

Parameters
Required
Remarks
transactionRefUnique transaction reference for the Void / Refund record.
originalTransactionRefUnique transaction reference (transactionRef) sent in request.
statusSUCCESS / FAIL
reasonFail reason.
Sample Response Data
{
"originalTransactionRef":"1007202520250801153518",
"transactionRef":"1400745230292348928",
"status":"SUCCESS",
"reason":""
}

Error Message#

When the status = FAIL, there will be error message provided in reason field.
Sample of the error messages as below.
Void request failed. Please refresh and try again.
Void request failed. Transaction cannot be voided.
Refund request failed. Transaction cannot be refunded.
Refund request failed. Transaction cannot be refunded, exceeds 30 days.
Refund request failed. Refund amount XXX is more than refundable amount YYY, id = ZZZ
Previous
Card on File
Next
PayCube
Built with