Touch 'n Go
Last updated: December 11, 2024
Information
Touch 'n Go is also available through Flow. Flow enables you to accept payments on your website using Checkout.com's global network of payment methods with a single integration.
Touch 'n Go provides a mobile payment service that enables customers to perform one-time purchases, or sign up for a recurring payment.
Touch 'n Go is a part of Ant Financial’s e-wallet network, which enables it to be used in countries outside of the local market, as long as the regions are covered by Ant’s partners.
When accepting payments with Touch 'n Go, you need to display the Alipay+ and Touch 'n Go logos on your payment interface. To ensure that the logos match Alipay's requirements, refer to their Brand display guidelines for online payments and Brand display guidelines for cashier payments.
Information
To enable Touch 'n Go payments on your account, contact your Account Manager or [email protected].
Model | Collecting |
---|---|
Payment flow | Redirect |
Payment method type | Wallet |
Auto-capture payment | |
Authorization | |
Capture | |
Refund | |
Partial refund | |
Chargeback | |
Recurring payment |
Merchant country | Settlement currency | Currency code |
---|---|---|
Hong Kong | Hong Kong Dollar |
|
Singapore | Singapore Dollar |
|
Consumer country | Processing currency | Currency code |
---|---|---|
Malaysia | Malaysian Ringgit |
|
Hong Kong Dollar |
| |
Singapore Dollar |
|
Information
Payment processing in Singapore with SGD is in beta.
Touch 'n Go has a two-step process:
For the full API specification, see the API reference.
post
https://api.checkout.com/payments
You can process Touch 'n Go payments in its local currency (MYR) or in the currencies associated with your entity. Use the currency
field in your payment request to specify the processing currency.
If a customer ID or email is not provided in the request, we automatically create a customer profile and return the customer ID in the response.
1{2"amount": 1100,3"currency": "MYR",4"source": {5"type": "tng"6},7"processing": {8"terminal_type": "APP",9"os_type": "IOS"10},11"success_url": "https://example.com/payments/success",12"failure_url": "https://example.com/payments/failure",13"payment_type": "Regular",14"reference": "ORD-5023-4E89",15"capture": true,16"customer": {17"email": "[email protected]"18},19"shipping": {20"address": {21"country": "GB"22}23},24"items": [25{26"reference": "1st item reference",27"name": "1st item name",28"unit_price": 1029}30],31"processing_channel_id": "pc_ekaubqrravqupfxde7kxvd2t3i"32}
If you receive a 202 Success
response with a payment id
and a status
field set to Pending
, your request was successful.
1{2"id": "pay_sxzrgliy2w3e5gpnby3chlswwq",3"status": "Pending",4"reference": "ORD-5023-4E89",5"customer": {6"id": "cus_2g4ehcpm6phexgkzahlwxvbgne",7"email": "[email protected]",8"name": "John Smith"9},10"_links": {11"self": {12"href": "https://api.checkout.com/payments/pay_sxzrgliy2w3e5gpnby3chlswwq"13},14"redirect": {15"href": "https://psp.ac.alipay.com/page/simulation-wallet/acwallet/alipayconnectcode.html?code=281666040095AHvh5AIKT0a3kv8X6Zzv3kiv&pspName=TNG&loadMode=2"16}17}18}
Redirect your customer to the redirect
link’s href
in the response. This will allow the customer to authorize the payment, before they are transferred to your predefined success or failure URL.
You can set up recurring payments for a subscription-based service. This allows you to make pre-authorized fund deductions from a customer’s account.
To request a recurring payment, your payment request should have payment_type
set to recurring
.
To get a detailed view of all required and optional fields, see our API reference.
post
https://api.checkout.com/payments
1{2"amount": 1100,3"currency": "EUR",4"source": {5"type": "tng"6},7"processing": {8"terminal_type": "WEB"9},10"success_url": "https://example.com/payments/success",11"failure_url": "https://example.com/payments/failure",12"payment_type": "Recurring",13"reference": "ORD-5023-4E89",14"capture": "true",15"customer": {16"email": "[email protected]",17"name": "John Smith"18},19"shipping": {20"address": {21"country": "GB"22}23},24"items": [25{26"reference": "1st item reference",27"name": "1st item name",28"unit_price": 1029}30],31"processing_channel_id": "pc_ekaubqrravqupfxde7kxvd2t3i"32}
If you receive a 202 Success
response with a payment id
and a status
field set to Pending
, your request was successful.
1{2"id": "pay_4z3h7526xn6evko3vnybrmnu4e",3"status": "Pending",4"reference": "ORD-5023-4E89",5"customer": {6"id": "cus_2g4ehcpm6phexgkzahlwxvbgne",7"email": "[email protected]",8"name": "John Smith"9},10"source": {11"id": "src_gnyde6bvifsukobwjb2vkwkbni",12"type": "tng"13},14"_links": {15"self": {16"href": "https://api.checkout.com/payments/pay_4z3h7526xn6evko3vnybrmnu4e"17},18"redirect": {19"href": "https://g.alipayplus.com/page/aplus-linker/acwallet/qrcode.html?url=alipayconne"20}21}22}
1{2"amount": 44,3"currency": "EUR",4"source": {5"type": "id",6"id": "src_inmwstthmjyfcskeir3gcqtyj4"7},8"payment_type": "Recurring",9"reference": "ORD-5023-4E89-1234",10"customer": {11"name": "John Smith",12"email": "[email protected]"13},14"shipping": {15"address": {16"country": "GB"17}18},19"items": [20{21"reference": "1st item reference",22"name": "1st item name",23"unit_price": 43,24"quantity": 125}26],27"processing_channel_id": "pc_ekaubqrravqupfxde7kxvd2t3i"28}
If you receive a 202 Success
response with a payment id
and a status
field set to Pending
, your request was successful.
1{2"id": "pay_xljv6f7ye4lebinkv7i7pho634",3"status": "Pending",4"reference": "ORD-5023-4E89-1234",5"customer": {6"id": "cus_mzrvode5g2jubm4bgbaad2usbu",7"email": "[email protected]",8"name": "John Smith"9},10"source": {11"id": "src_inmwstthmjyfcskeir3gcqtyj4",12"type": "tng"13},14"_links": {15"self": {16"href": "https://api.checkout.com/payments/pay_xljv6f7ye4lebinkv7i7pho634"17}18}19}
You can retrieve details about an existing Touch 'n Go payment by using the payment id
found in the payment response.
Use the details below to set up your request.
For the full API specification, see the API reference.
get
https://api.checkout.com/payments/{id}
1{2"id": "pay_sxzrgliy2w3e5gpnby3chlswwq",3"requested_on": "2022-09-02T07:15:58.894077Z",4"source": {5"type": "tng"6},7"items": [8{9"name": "1st item name",10"unit_price": 10,11"reference": "1st item reference"12}13],14"amount": 1100,15"currency": "EUR",16"payment_type": "Regular",17"reference": "ORD-5023-4E89",18"status": "Captured",19"approved": true,20"balances": {21"total_authorized": 1100,22"total_voided": 0,23"available_to_void": 0,24"total_captured": 1100,25"available_to_capture": 0,26"total_refunded": 0,27"available_to_refund": 110028},29"customer": {30"id": "cus_mzrvode5g2jubm4bgbaad2usbu",31"email": "[email protected]",32"name": "John Smith"33},34"shipping": {35"address": {36"country": "GB"37}38},39"processing": {40"partner_customer_id": "210220900020124540718"41},42"_links": {43"self": {44"href": "https://api.checkout.com/payments/pay_7domcpi745nu5bdhm5rtrblbem"45},46"actions": {47"href": "https://api.checkout.com/payments/pay_7domcpi745nu5bdhm5rtrblbem/actions"48},49"refund": {50"href": "https://api.checkout.com/payments/pay_7domcpi745nu5bdhm5rtrblbem/refunds"51}52}53}
Touch 'n Go supports both partial and full refunds. You can refund a payment through the Dashboard or using the Refund API.
post
https://api.checkout.com/payments/{id}/refunds
1{2"amount": 203}
1{2"action_id": "act_c4x2vjvnx4uelb4io72fa4e57a",3"_links": {4"payment": {5"href": "https://api.checkout.com/payments/pay_fzzdurog3squjj2ityho7x3o64"6}7}8}
You may receive the following webhooks when using Touch 'n Go.
Webhook | Description |
---|---|
| Sent when a merchant initiates the payment request. |
| Sent when a payment request has been successfully initiated and payment is pending for capture. |
| Sent when the payment has been successfully captured. |
| Sent when a payment request has been rejected. |
| Sent when the refund of the payment has been (fully or partially) accepted. |
| Sent when the payment has been (fully or partially) refunded. |
| Sent when a refund has been declined. |
View all of our webhook notifications.
Before you begin testing, you'll need to contact your Account Manager or Implementation Engineer to:
- Activate Touch 'n Go payments in the sandbox environment.
- Get credentials to access the Alipay+ Linker app.
To start testing once you've completed merchant onboarding to Touch 'n Go:
- Sign in to the sandbox environment using the username and password provided by your Account Manager.
- Create a Touch 'n Go sandbox transaction by following the Request a payment instructions.
- Use the testing credentials to know what to do next depending on the device you are using.
When requesting a Touch 'n Go payment, there are specific steps to follow depending on the device being used and the processing.terminal_type
specified in the payment request.
Device | processing.terminal_type | After selecting redirect link |
---|---|---|
Computer |
| Select Pay Now |
Application |
| Select Pay Now |
Computer |
| For this method, make sure you have set up Touch 'n Go as an e-wallet under Common Settings in the Alipay+ Linker app. To choose the correct e-wallet, select TEST_WALLET.
|
Application |
|
|