Thailand

Learn about the dLocal supported payment methods in Thailand.

Market specifications

Take a look of all the payment methods available.

Country reference Cards supported Alternative Payment Method supported

Cards

Find all the information about the card supported capabilities.

Capabilities Process Card Payments

Alternative Payments

Learn how to integrate cash, bank transfer or wallet payment.

Alipay Rabbit LINE Pay WeChat Pay Thai QR Payment TrueMoney ShopeePay Big C K PLUS


Market specifications

Do you want to know more information about Thailand's market? Go to the APAC: The world’s leader in eCommerce market sales article.

Country reference

country codecurrency codedocument namedocument formatdocument required?
THTHBThai Identity Card13 digitsYes

Cards supported

payment_method_idBrand IDNamepayment_method_typeDetailsAllowed FlowsLogo
CARDVIVisaCARDCredit Card ​DIRECT REDIRECT
CARDVDVisa Debit ​CARDDebit Card ​DIRECT REDIRECT
CARDMCMastercardCARDCredit Card ​DIRECT REDIRECT
CARDMDMastercard Debit ​CARDDebit Card ​DIRECT REDIRECT
CARDUPUnionPayCARDCredit Card ​DIRECT REDIRECT
CARDDCDiners ClubCARDCredit Card ​DIRECT REDIRECT
CARDJCJCBCARDCredit Card ​DIRECT REDIRECT

ℹ️

To offer all the card options that may be available in your integration, send the payment_method_id as CARD.

Alternative Payment Method supported

payment_method_idNamepayment_method_typeDetailsAllowed FlowsLogo
APAlipayWALLETWalletREDIRECT
LPRabbit LINE PayWALLETWalletREDIRECT
WCWeChat PayWALLETWalletREDIRECT
TQThai QR PaymentWALLETWalletDIRECT REDIRECT
TMTrueMoneyWALLETWalletDIRECT REDIRECT
SOShopeePayWALLETWalletREDIRECT
TKBig CTICKETCash PaymentsREDIRECT
KGK PLUSBANK_TRANSFERBank TransferREDIRECT


Cards

Capabilities

Visa CreditVisa DebitMastercard CreditMastercard DebitUnionPayDiners ClubJCB
RefundsYesYesYesYesYesYesYes
RecurringYesNoYesNoYesYesNo
Chargeback optionYesYesYesYesYesYesYes
Chargeback Dispute optionYesYesYesYesYesYesYes
DescriptorCan be personalized, depending on provider.Can be personalized, depending on provider.Can be personalized, depending on provider.Can be personalized, depending on provider.Can be personalized, depending on provider.Can be personalized, depending on provider.Can be personalized, depending on provider.

How to process Card Payments?

Learn how to process payments with credit and debit cards with dLocal in our Card Payments section.



Alternative Payment Method

Wallets in Thailand are on the rise, with TrueMoney being the leader thanks to their all-in-one app that lets customers securely make cashless and cardless payments for all their everyday needs, including mobile top-ups, bill payments, online and offline purchases, and more.

RabbitLinePay supports train ticket payments, making it very popular among local Transit System users. AliPay, WeChat Pay, ShopeePay, and Thai QR Payment are popular options in Thailand.
Some cash payment methods, such as BigC have wide acceptance in the country.

Alipay

Capabilities

Alipay
Max. expiration time supported10 minutes
Notification delayImmediate
RefundsYes
FlowREDIRECT

UX Flow

The screenshots illustrate a generic Alipay redirect flow on a browser.

The screenshots illustrate a generic Alipay redirect flow on a browser.

Request parameters

PropertyTypeDescriptionMandatory?
amountNumberAmount to be charged.Yes
currencyStringTHB

Transaction currency in ISO 4217.
Yes
countryStringTH

Transaction country in ISO 3166.
Yes
payment_method_idStringAP

ID of the selected payment method.
Yes
payment_method_flowStringREDIRECTYes
payer.nameStringName of the payer.Yes
payer.emailStringEmail of the payer.Yes
payer.documentNumberDocument of the payer.Yes
order_idNumberID of the capture given by the merchant in their system. Think of it as an external ID of the capture.No
notification_urlStringNotifications will be sent in every change of status of a payment to the notification_url specified by the merchant.No

Examples

{
    "amount": 500,
    "currency": "THB",
    "country": "TH",
    "payment_method_id": "AP",
    "payment_method_flow": "REDIRECT",
    "payer": {
        "name": "Jane Doe",
        "email": "[email protected]",
        "document": "1234567890123",
        "address": {
            "country": "TH",
            "state": "Bangkok",
            "city": "Bangkok",
            "zip_code": "8858",
            "street": "Main St.",
            "number": "540"
        }
    },
    "order_id": "345453483kqws0",
    "description": "Tshirt",
    "notification_url": "http://merchantsite.com/notification/new",
    "callback_url": "http://merchantsite.com/success_page"
}
{
    "id": "R-4-14873a88-efc3-dert-a3c2-57fcf4fa969b",
    "amount": 500,
    "currency": "THB",
    "payment_method_id": "AP",
    "payment_method_type": "BANK_TRANSFER",
    "payment_method_flow": "REDIRECT",
    "country": "TH",
    "created_date": "2023-01-30T17:54:43.000+0000",
    "status": "PENDING",
    "status_detail": "The payment is pending.",
    "status_code": "100",
    "order_id": "345453483kqws0",
    "description": "Tshirt",
    "notification_url": "http://merchantsite.com/notification/new",
    "redirect_url": "https://pay.dlocal.com/gmf-apm/payments-redirect/M-e3dc8341-9dda-45rt-bbda-9b598d6936bd"
}

Rabbit LINE Pay

Capabilities

Rabbit LINE Pay
Max. expiration time supported10 minutes
Notification delayImmediate
RefundsYes
FlowREDIRECT

UX Flow

The screenshots illustrate a generic Rabbit LINE Pay redirect flow.

The screenshots illustrate a generic Rabbit LINE Pay redirect flow.

Request parameters

PropertyTypeDescriptionMandatory?
amountNumberAmount to be charged.Yes
currencyStringTHB

Transaction currency in ISO 4217.
Yes
countryStringTH

Transaction country in ISO 3166.
Yes
payment_method_idStringLP

ID of the selected payment method.
Yes
payment_method_flowStringREDIRECTYes
payer.nameStringName of the payer.Yes
payer.emailStringEmail of the payer.Yes
payer.documentNumberDocument of the payer.Yes
order_idNumberID of the capture given by the merchant in their system. Think of it as an external ID of the capture.No
notification_urlStringNotifications will be sent in every change of status of a payment to the notification_url specified by the merchant.No

Examples

{
    "amount": 500,
    "currency": "THB",
    "country": "TH",
    "payment_method_id": "LP",
    "payment_method_flow": "REDIRECT",
    "payer": {
        "name": "Jane Doe",
        "email": "[email protected]",
        "document": "1234567890123",
        "address": {
            "country": "TH",
            "state": "Bangkok",
            "city": "Bangkok",
            "zip_code": "8858",
            "street": "Main St.",
            "number": "540"
        }
    },
    "order_id": "345453483kqws0",
    "description": "Tshirt",
    "notification_url": "http://merchantsite.com/notification/new",
    "callback_url": "http://merchantsite.com/success_page"
}
{
    "id": "R-4-987ce1d4-30d7-4rt5-8a48-ca9d0f169e48",
    "amount": 500,
    "currency": "THB",
    "payment_method_id": "LP",
    "payment_method_type": "TICKET",
    "payment_method_flow": "REDIRECT",
    "country": "TH",
    "created_date": "2023-01-30T17:57:28.000+0000",
    "status": "PENDING",
    "status_detail": "The payment is pending.",
    "status_code": "100",
    "order_id": "345453483kqws0",
    "description": "Tshirt",
    "notification_url": "http://merchantsite.com/notification/new",
    "redirect_url": "https://pay.dlocal.com/gmf-apm/payments-redirect/M-12bb2c26-6193-hgts-931d-c20709899a5e"
}

WeChat Pay

Capabilities

WeChat Pay
Max. expiration time supported10 minutes
Notification delayImmediate
RefundsYes
FlowREDIRECT

UX Flow

The screenshots illustrate a generic WeChat Pay redirect flow through QR Code.

The screenshots illustrate a generic WeChat Pay redirect flow through QR Code.

Request parameters

PropertyTypeDescriptionMandatory?
amountNumberAmount to be charged.Yes
currencyStringTHB

Transaction currency in ISO 4217.
Yes
countryStringTH

Transaction country in ISO 3166.
Yes
payment_method_idStringWC

ID of the selected payment method.
Yes
payment_method_flowStringREDIRECTYes
payer.nameStringName of the payer.Yes
payer.emailStringEmail of the payer.Yes
payer.documentNumberDocument of the payer.Yes
order_idNumberID of the capture given by the merchant in their system. Think of it as an external ID of the capture.No
notification_urlStringNotifications will be sent in every change of status of a payment to the notification_url specified by the merchant.No

Examples

{
    "amount": 500,
    "currency": "THB",
    "country": "TH",
    "payment_method_id": "WC",
    "payment_method_flow": "REDIRECT",
    "payer": {
        "name": "Jane Doe",
        "email": "[email protected]",
        "document": "1234567890123",
        "address": {
            "country": "TH",
            "state": "Bangkok",
            "city": "Bangkok",
            "zip_code": "8858",
            "street": "Main St.",
            "number": "540"
        }
    },
    "order_id": "345453483kqws0",
    "description": "Tshirt",
    "notification_url": "http://merchantsite.com/notification/new",
    "callback_url": "http://merchantsite.com/success_page"
}
{
    "id": "R-4-d3f930cc-d619-4c19-g65t-382b7207637d",
    "amount": 500,
    "currency": "THB",
    "payment_method_id": "WC",
    "payment_method_type": "BANK_TRANSFER",
    "payment_method_flow": "REDIRECT",
    "country": "TH",
    "created_date": "2023-01-30T17:58:35.000+0000",
    "status": "PENDING",
    "status_detail": "The payment is pending.",
    "status_code": "100",
    "order_id": "345453483kqws0",
    "description": "Tshirt",
    "notification_url": "http://merchantsite.com/notification/new",
    "redirect_url": "https://pay.dlocal.com/gmf-apm/payments-redirect/M-d169e072-6d8f-4rtg-b771-fd11b41563e4"
}

Thai QR Payment

Capabilities

Thai QR Payment
Max. expiration time supported30 minutes
Notification delayImmediate
RefundsYes
FlowDIRECT
REDIRECT

UX Flow

The screenshots illustrate a generic Thai QR Payment redirect flow.

The screenshots illustrate a generic Thai QR Payment redirect flow.

Request parameters

PropertyTypeDescriptionMandatory?
amountNumberAmount to be charged.Yes
currencyStringTHB

Transaction currency in ISO 4217.
Yes
countryStringTH

Transaction country in ISO 3166.
Yes
payment_method_idStringTQ

ID of the selected payment method.
Yes
payment_method_flowStringDIRECT or REDIRECTYes
payer.nameStringName of the payer.Yes
payer.emailStringEmail of the payer.Yes
payer.documentNumberDocument of the payer.Yes
order_idNumberID of the capture given by the merchant in their system. Think of it as an external ID of the capture.No
notification_urlStringNotifications will be sent in every change of status of a payment to the notification_url specified by the merchant.No

Examples

{
    "amount": 500,
    "currency": "THB",
    "country": "TH",
    "payment_method_id": "TQ",
    "payment_method_flow": "DIRECT",
    "payer": {
        "name": "Jane Doe",
        "email": "[email protected]",
        "document": "1234567890123",
        "address": {
            "country": "TH",
            "state": "Bangkok",
            "city": "Bangkok",
            "zip_code": "8858",
            "street": "Main St.",
            "number": "540"
        }
    },
    "order_id": "345453483kqws0",
    "description": "Tshirt",
    "notification_url": "http://merchantsite.com/notification/new",
    "callback_url": "http://merchantsite.com/success_page"
}
{
    "id": "D-4-c747d044-7771-44de-5t53-94a9b3fded29",
    "amount": 500,
    "currency": "THB",
    "payment_method_id": "TQ",
    "payment_method_type": "TICKET",
    "payment_method_flow": "DIRECT",
    "country": "TH",
    "bank_transfer": {},
    "ticket": {
        "type": "CUSTOM",
        "expiration_date": "2023-02-05T16:59:00.000+0000",
        "id": "1100356090707",
        "barcode": "00020101021230810016A00000067701011201150107536000315080214KB0000016689500320API1675101655190221631690016A00000067701011301030040214KB0000016689500420API1675101655190221653037645403507777TH6304B0DC",
        "provider_name": "mcp",
        "provider_logo": "https://static.dlocal.com/images/providers/OxPay-Logo.png",
        "image_url": "https://pay.dlocal.com/gmf-apm/payments/M-8bfa90fc-9098-4eca-9b26-ba40bfb7e797",
        "amount": 500,
        "currency": "THB"
    },
    "created_date": "2023-01-30T18:00:53.000+0000",
    "status": "PENDING",
    "status_detail": "The payment is pending.",
    "status_code": "100",
    "order_id": "345453483kqws0",
    "notification_url": "http://merchantsite.com/notification/new"
}

TrueMoney

Capabilities

TrueMoney
Max. expiration time supported3 minutes
Notification delayImmediate
RefundsYes
FlowDIRECT
REDIRECT

UX Flow

The screenshots illustrate a generic TrueMoney redirect flow through QR Code.

The screenshots illustrate a generic TrueMoney redirect flow through QR Code.

Request parameters

PropertyTypeDescriptionMandatory?
amountNumberAmount to be charged.Yes
currencyStringTHB

Transaction currency in ISO 4217.
Yes
countryStringTH

Transaction country in ISO 3166.
Yes
payment_method_idStringTM

ID of the selected payment method.
Yes
payment_method_flowStringDIRECT or REDIRECTYes
payer.nameStringName of the payer.Yes
payer.emailStringEmail of the payer.Yes
payer.documentNumberDocument of the payer.Yes
order_idNumberID of the capture given by the merchant in their system. Think of it as an external ID of the capture.No
notification_urlStringNotifications will be sent in every change of status of a payment to the notification_url specified by the merchant.No

Examples

{
    "amount": 500,
    "currency": "THB",
    "country": "TH",
    "payment_method_id": "TM",
    "payment_method_flow": "REDIRECT",
    "payer": {
        "name": "Jane Doe",
        "email": "[email protected]",
        "document": "1234567890123",
        "address": {
            "country": "TH",
            "state": "Bangkok",
            "city": "Bangkok",
            "zip_code": "8858",
            "street": "Main St.",
            "number": "540"
        }
    },
    "order_id": "345453483kqws0",
    "description": "Tshirt",
    "notification_url": "http://merchantsite.com/notification/new",
    "callback_url": "http://merchantsite.com/success_page"
}
{
    "id": "R-4-d3f930cc-54tr-4c19-g65t-382b7207637d",
    "amount": 500,
    "currency": "THB",
    "payment_method_id": "TM",
    "payment_method_type": "WALLET",
    "payment_method_flow": "REDIRECT",
    "country": "TH",
    "created_date": "2023-01-30T17:58:35.000+0000",
    "status": "PENDING",
    "status_detail": "The payment is pending.",
    "status_code": "100",
    "order_id": "345453483kqws0",
    "description": "Tshirt",
    "notification_url": "http://merchantsite.com/notification/new",
    "redirect_url": "https://pay.dlocal.com/gmf-apm/payments-redirect/M-d169e072-4re5-4rtg-b771-fd11b41563e4"
}

ShopeePay

Capabilities

ShopeePay
Max. expiration time supported20 minutes
Notification delayImmediate
RefundsYes
FlowREDIRECT

UX Flow

The screenshots illustrate a generic ShopeePay redirect flow through QR Code.

The screenshots illustrate a generic ShopeePay redirect flow through QR Code.

Request parameters

PropertyTypeDescriptionMandatory?
amountNumberAmount to be charged.Yes
currencyStringTHB

Transaction currency in ISO 4217.
Yes
countryStringTH

Transaction country in ISO 3166.
Yes
payment_method_idStringSO

ID of the selected payment method.
Yes
payment_method_flowStringREDIRECTYes
payer.nameStringName of the payer.Yes
payer.emailStringEmail of the payer.Yes
payer.documentNumberDocument of the payer.Yes
order_idNumberID of the capture given by the merchant in their system. Think of it as an external ID of the capture.No
notification_urlStringNotifications will be sent in every change of status of a payment to the notification_url specified by the merchant.No

Examples

{
    "amount": 500,
    "currency": "THB",
    "country": "TH",
    "payment_method_id": "SO",
    "payment_method_flow": "REDIRECT",
    "payer": {
        "name": "Jane Doe",
        "email": "[email protected]",
        "document": "1234567890123",
        "address": {
            "country": "TH",
            "state": "Bangkok",
            "city": "Bangkok",
            "zip_code": "8858",
            "street": "Main St.",
            "number": "540"
        }
    },
    "order_id": "345453483kqws0",
    "description": "Tshirt",
    "notification_url": "http://merchantsite.com/notification/new",
    "callback_url": "http://merchantsite.com/success_page"
}
{
    "id": "R-4-89b01b6a-e859-4ecf-56ty-f790ccaee1a9",
    "amount": 500,
    "currency": "THB",
    "payment_method_id": "SO",
    "payment_method_type": "TICKET",
    "payment_method_flow": "REDIRECT",
    "country": "TH",
    "created_date": "2023-01-30T18:39:22.000+0000",
    "status": "PENDING",
    "status_detail": "The payment is pending.",
    "status_code": "100",
    "order_id": "u345453483kqws0",
    "description": "Tshirt",
    "notification_url": "http://merchantsite.com/notification/new",
    "redirect_url": "https://pay.airpay.in.th/h5pay/pay?type=start&app_id=11002330&key=k1QAba529f90f3093b63&order_id=1100356113652&return_url=aHR0cDovL21lcmNoYW50LmNvbS9zdWNjZXNzX3BhZ2U%2FYW1vdWwJmNsaWVudF9pZD0xMTAwMjMzMCZyZWZlcmVuY2VfaWQ9MTEwMDM1NjExMzY1MiZyZXN1bHRfY29kZT0yMDEmc2lnbmF0dXJlPXlYOXJPVFpIOExJajJmazlYbHJZbzBHZE9nWXNTQVNna1RjVWhYb213R2slM0Q%3D&source=web"
}

Big C

Allow consumers to pay by cash or credit card for their online grocery purchases, and then go to the takeaway point or have it delivered.

Capabilities

Big C
Max. expiration time supported5 minutes
Notification delayImmediate
RefundsYes
FlowREDIRECT

Request parameters

PropertyTypeDescriptionMandatory?
amountNumberAmount to be charged.Yes
currencyStringTHB

Transaction currency in ISO 4217.
Yes
countryStringTH

Transaction country in ISO 3166.
Yes
payment_method_idStringTK

ID of the selected payment method.
Ye
payment_method_flowStringREDIRECTYes
payer.nameStringName of the payer.Yes
payer.emailStringEmail of the payer.Yes
payer.documentNumberDocument of the payer.Yes
order_idNumberID of the capture given by the merchant in their system. Think of it as an external ID of the capture.No
notification_urlStringNotifications will be sent in every change of status of a payment to the notification_url specified by the merchant.No

Examples

{
    "amount": 1000,
    "currency": "THB",
    "country": "TH",
    "payment_method_id": "TK",
    "payment_method_flow": "REDIRECT",
    "payer": {
        "name": "Jane Doe",
        "email": "[email protected]",
        "document": "1234567890123",
        "address": {
            "country": "TH",
            "state": "Bangkok",
            "city": "Bangkok",
            "zip_code": "8858",
            "street": "Main St.",
            "number": "540"
        }
    },
    "order_id": "345453483kqws0",
    "description": "Tshirt",
    "notification_url": "http://merchantsite.com/notification/new",
    "callback_url": "http://merchantsite.com/success_page"
}
{
    "id": "R-4-c794a7be-yht6-4cf3-9f67-8a2e45ee5942",
    "amount": 1000,
    "currency": "THB",
    "payment_method_id": "TK",
    "payment_method_type": "TICKET",
    "payment_method_flow": "REDIRECT",
    "country": "TH",
    "created_date": "2023-01-30T18:44:36.000+0000",
    "status": "PENDING",
    "status_detail": "The payment is pending.",
    "status_code": "100",
    "order_id": "345453483kqws0",
    "description": "Tshirt",
    "notification_url": "http://merchantsite.com/notification/new",
    "redirect_url": "https://pay.dlocal.com/gmf-apm/payments-redirect/M-63319f4a-7uy6-4612-8c6e-be7e98fcff55"
}

Example ticket

Example Big C built with the information in the example above.

Example Big C built with the information in the example above.

K PLUS

K PLUS is a mobile banking application developed by Kasikorn Bank, accessible on both iOS and Android platforms.

Seamlessly integrated with the K Bank accounts, K PLUS empowers customers to effortlessly process payments for their orders, offering a convenient and secure transaction experience.

Capabilities

K PLUS
Max. expiration time supported5 days
Notification delayImmediate
RefundsYes
FlowREDIRECT

UX Flow

The screenshots illustrate a generic K PLUS redirect flow.

The screenshots illustrate a generic K PLUS redirect flow.

Request parameters

PropertyTypeDescriptionMandatory?
amountNumberAmount to be charged.Yes
currencyStringTHB

Transaction currency in ISO 4217.
Yes
countryStringTH

Transaction country in ISO 3166.
Yes
payment_method_idStringKG

ID of the selected payment method.
Yes
payment_method_flowStringREDIRECTYes
payer.nameStringName of the payer.Yes
payer.emailStringEmail of the payer.Yes
payer.documentNumberDocument of the payer.Yes
order_idNumberID of the capture given by the merchant in their system. Think of it as an external ID of the capture.No
notification_urlStringNotifications will be sent in every change of status of a payment to the notification_url specified by the merchant.No

Examples

{
    "amount": 100,
    "currency": "THB",
    "country": "TH",
    "payment_method_id": "KG",
    "payment_method_flow": "REDIRECT",
    "payer": {
        "name": "Jane Doe",
        "email": "[email protected]",
        "document": "1234567890123",
        "address": {
            "country": "TH",
            "state": "Bangkok",
            "city": "Bangkok",
            "zip_code": "8858",
            "street": "Main St.",
            "number": "540"
        }
    },
    "order_id": "#¡345453483kqws0",
    "description": "Tshirt",
    "notification_url": "http://merchantsite.com/notification/new",
    "callback_url": "http://merchantsite.com/success_page",
}
{
    "id": "R-4-e0d51abe-b05e-4re4-b7a2-5eb3508dcca5",
    "amount": 100,
    "currency": "THB",
    "payment_method_id": "KG",
    "payment_method_type": "BANK_TRANSFER",
    "payment_method_flow": "REDIRECT",
    "country": "TH",
    "created_date": "2023-07-17T21:27:15.000+0000",
    "status": "PENDING",
    "status_detail": "The payment is pending.",
    "status_code": "100",
    "order_id": "345453483kqws0",
    "description": "Tshirt",
    "notification_url": "http://merchantsite.com/notification/new",
    "redirect_url": "https://pay.dlocal.com/gmf-apm/payments-redirect/M-2484adb6-683e-4782-bb6c-f5d88e63d1d0"
}