AXS Developer Hub
  1. Developers
AXS Developer Hub
  • Getting Started
    • Overview
    • Account Setup
    • Payment Link
    • Merchant Branding
  • Point of Sale
    • PayCube
    • Function & Response Codes
  • Developers
    • Payment Link Integration
    • QR Code Integration
    • Transaction Query
  • Plugin
    • WooCommerce
  • Appendix
    • Test Cards
    • Reserved Amounts
  1. Developers

Payment Link Integration

Overview#

This section enabled developers to integrate AXS Payment Link with their app/web to start collecting payments via redirection to AXS Hosted Payment Page (HPP).
If you prefer to generate QR code for customer-facing kiosk where users can easily scan a code to initiate payments using various banking apps, please click HERE.
Prerequisites: Do complete your Merchant Branding and get your Payment Link ready as the base URL.
Choose Link Type - Redirect to Payment Page when generating payment link.

Generating Client ID and Secret#

Before integrating with AXS Checkout, it is essential to understand how AXS authenticate you and how the data is protected.
AXS uses Client ID and Secret to authenticate you and encrypt your payload to keep your data safe.
Follow the steps to generate Client ID and Secret:
1
Navigate to Developer page
2
Click 'Create' button on top right corner to create new credential
You may input the application name that is easy to recognise and represent your application.
Client ID and Secret should be kept confidential and only stored on your servers. Do not store them on your mobile or web client

Start Integrating#

Starts your integration into your application in 3 steps:
1. Generate Complete Payment Link
Generate a complete payment link with user's payment information.
2. Redirect to Checkout Page
Once the complete payment link is ready, redirect user to AXS Checkout page.
3. Handle Webhook
After the payment is processed, webhook will be sent for payment notifications.

Step 1: Generate Complete Payment Link#

This is the first step of the payment flow. Once you have the base payment link, client id and secret, follow this instruction to generate a complete payment link.

Endpoint#

UAT
Production
https://checkout.svc.uat.pay.axs.com.sg/hpp/checkout/{merchantLinkId}?data={JWE encrypted parameters}
AXS uses JSON Web Encryption (JWE) to encrypt the request parameters.

Request Parameters#

Parameters
Required
Remarks
clientIdThe Client ID generated in Merchant Portal
amountPayment amount in cents.
1. Example: 100 = $1.00
2. Max amount = $9,999,999.00
3. Amount preset in Merchant Portal will be used if not specify
currencyDefault is "SGD"
Currently only support SGD.
merchantRefMerchant's unique merchant reference.
Max 40 characters.
scheme- Available values: credit_card, paynow, alipay, wechatpay.
- Accepts multiple values separated by comma.
- If not specified, default will be all available schemes.
terminalIdMerchant's input information.
To be displayed in Merchant Portal.
webhookUrlThis URL will overwrite preset URL in Merchant Branding.
successUrlThis URL will overwrite preset URL in Merchant Branding.
failUrlThis URL will overwrite preset URL in Merchant Branding.
Sample Request Data
{"clientId": "5fc53a20-e563-4f45-8dcc-4fd1f20f649c", "amount": "1023", "currency": "SGD", "merchantRef": "Ref123", "scheme": "", "terminalId": "Terminal-1", "webhookUrl": "https://webhook.site/fc1903f3-09a3-4141-af96-63c2ad029373", "successUrl": "https://axs.com.sg?session=243556", "failUrl": "https://axs.com.sg?session=243556"}
Sample Code
Sample Final URL

Step 2: Redirect to Checkout Page#

After the complete payment link is generated, navigate your user to the URL, and AXS will take care of the rest of the flow.
image.png

Step 3: Handle Webhook#

Once the payment is completed, the user will be navigated back to the “successUrl/failUrl” that was configured in the Merchant Branding or during the payment request in Step 1, along with the status.
From backend, there is also a webhook notification from AXS' server to your server about the payment confirmation.
Please be advised to mark your order as paid ONLY after the webhook is received and validated.

Webhook Parameters#

The following fields are sent with the webhook request:
Parameters
Required
Remarks
amountPayment amount in dollar. Example: 101.01
currencyDefault is "SGD"
Currently only support SGD.
transactionRefAXS' unique transaction reference. Example: 1448241333514969089
merchantRefMerchant's unique merchant reference from Step 1.
statusPayment status:
SUCCESS - Payment successful.
DECLINED - Payment declined. Applicable to card payment.
EXPIRED - QR code expired. Applicable to QR payment.
Use the reserved amounts provided to simulate.
responseCodePayment response code.
Example: 00 - payment successful
Other codes - unsuccessful
paymentSchemePayment scheme.
Available value: VISA / MASTERCARD / PAYNOW / ALIPAY / WECHATPAY
paymentDateTimePayment date time in (ISO 8601) standard.
Example: 2025-12-10T09:14:01.201466Z
After received webhook from AXS, decrypt the JWE payload using the same secret key used for encryption in Step 1.
Sample Response Data
{"amount":"10.23","currency":"SGD","transactionRef":"1428191406936641536","merchantRef":"Ref123","status":"SUCCESS","responseCode":"00","paymentScheme":"VISA","paymentDateTime":"2026-01-16T01:22:46.010508Z"}
Sample Code
Congrats! You have now successfully completed the integration to AXS Checkout HPP.
Previous
Function & Response Codes
Next
QR Code Integration
Built with