- METHOD TYPEBank Transfer
 - PAYMENTS
 - PAYOUTS
 - REFUNDS
 - RECURRING
 
Introduction
The Online Banking Thailand APM allows customers of Siam Commercial Bank (SCB), Krungthai Bank (KTB), Bangkok Bank (BBL), and Krungsri (Bay / Bank of Ayudhya) to make online payments.
Supported Countries
- Thailand
 
Supported Currencies
- THB
 
Payment (Deposit) Flow
Press tab to open…
Follow these steps to perform a payment using Nuvei REST API integration:
1. Generate a sessionToken
Press here for details.
2. Send a /payment Request
Perform the payment by sending a /payment request with its mandatory parameters including:
userTokenIdamountcurrencypaymentOption.alternativePaymentMethodclass containing:paymentMethod: “apmgw_Online_Banking_Thailand“
deviceDetailsclass containing:ipAddressbillingAddressclass containing:firstName,lastName,country,emailuserDetailsclass containing:firstName,lastName,phone,email
The request can also include paymentOption.alternativePaymentMethod.obt_bank. For valid obt_bank values, submit a /getMerchantPaymentMethods request.
Example /payment Request
{
  "sessionToken": "<sessionToken from getSessionToken>",
  "merchantId": "<your merchantId>",
  "merchantSiteId": "<your merchantSiteId>",
  "clientRequestId": "<unique request ID in merchant system>",
  "amount": "200",
  "currency": "THB",
  "userTokenId": "<unique customer identifier in merchant system>",
  "clientUniqueId": "<unique transaction ID in merchant system>",
  "paymentOption": {
    "alternativePaymentMethod": {
      "paymentMethod":"apmgw_Online_Banking_Thailand",
      "obt_bank": "558"
    }
  },
  "deviceDetails": {
    "ipAddress": "<customer's IP address>"
  },
  "billingAddress": {
    "firstName": "John",
    "lastName": "Smith",
    "country": "TH",
    "email": "[email protected]"
  },
  "userDetails": {
    "firstName": "John",
    "lastName": "Smith"
    "email": "[email protected]",
    "phone": "955552448"
  },
  "timeStamp": "<YYYYMMDDHHmmss>",
  "checksum": "<calculated checksum>"
}
After the transaction is processed, Nuvei sends a Direct Merchant Notification (DMN) that includes the result of the transaction to urlDetails.notificationUrl, which Nuvei recommends including in the /payment request.
Follow these steps to perform a payment using Nuvei Web SDK integration.
1. Initiate a Session
Before you can submit payment using the client-side Nuvei Web SDK, you need to send the /openOrder API call.
2. Initialize the Web SDK
Instantiate the Web SDK with the sessionToken received from the server call to /openOrder.
3. Create an APM Payment
Send a createPayment() request with its mandatory parameters including:
paymentOption.alternativePaymentMethodclass containing:paymentMethod: “apmgw_Online_Banking_Thailand“
deviceDetailsclass containing:ipAddressbillingAddressclass containing:firstName,lastName,country,emailuserDetailsclass containing:firstName,lastName,phone,email
The request can also include paymentOption.alternativePaymentMethod.obt_bank. For valid obt_bank values, submit a getApms() request.
Example createPayment() Request
sfc.createPayment({
  sessionToken: "<sessiontoken>",
  paymentOption: {
    alternativePaymentMethod: {
      paymentMethod: "apmgw_Online_Banking_Thailand",
      obt_bank: "558"
      }     
  },
  deviceDetails:{
    ipAddress:"<customer's IP address>"
  },
  billingAddress: {
    firstName: "John",
    lastName: "Smith",
    country: "TH",
    email: "[email protected]"
  },
  userDetails: {
    firstName: "John",
    lastName: "Smith",
    email: "[email protected]",
    phone:"955552448"
  },
}, function (res) {
    console.log(res);
});
After the transaction is processed, Nuvei sends a Direct Merchant Notification (DMN) that includes the result of the transaction to urlDetails.notificationUrl, which Nuvei recommends including in the /openOrder request.
- REST API
 - 
				            
Follow these steps to perform a payment using Nuvei REST API integration:
1. Generate a
sessionTokenPress here for details.
2. Send a
/paymentRequestPerform the payment by sending a
/paymentrequest with its mandatory parameters including:userTokenIdamountcurrencypaymentOption.alternativePaymentMethodclass containing:paymentMethod: “apmgw_Online_Banking_Thailand“
deviceDetailsclass containing:ipAddressbillingAddressclass containing:firstName,lastName,country,emailuserDetailsclass containing:firstName,lastName,phone,email
The request can also include
paymentOption.alternativePaymentMethod.obt_bank. For validobt_bankvalues, submit a/getMerchantPaymentMethodsrequest.Example
/paymentRequest{ "sessionToken": "<sessionToken from getSessionToken>", "merchantId": "<your merchantId>", "merchantSiteId": "<your merchantSiteId>", "clientRequestId": "<unique request ID in merchant system>", "amount": "200", "currency": "THB", "userTokenId": "<unique customer identifier in merchant system>", "clientUniqueId": "<unique transaction ID in merchant system>", "paymentOption": { "alternativePaymentMethod": { "paymentMethod":"apmgw_Online_Banking_Thailand", "obt_bank": "558" } }, "deviceDetails": { "ipAddress": "<customer's IP address>" }, "billingAddress": { "firstName": "John", "lastName": "Smith", "country": "TH", "email": "[email protected]" }, "userDetails": { "firstName": "John", "lastName": "Smith" "email": "[email protected]", "phone": "955552448" }, "timeStamp": "<YYYYMMDDHHmmss>", "checksum": "<calculated checksum>" }After the transaction is processed, Nuvei sends a Direct Merchant Notification (DMN) that includes the result of the transaction to
urlDetails.notificationUrl, which Nuvei recommends including in the/paymentrequest. - Web SDK
 - 
				            
Follow these steps to perform a payment using Nuvei Web SDK integration.
1. Initiate a Session
Before you can submit payment using the client-side Nuvei Web SDK, you need to send the
/openOrderAPI call.2. Initialize the Web SDK
Instantiate the Web SDK with the
sessionTokenreceived from the server call to/openOrder.3. Create an APM Payment
Send a
createPayment()request with its mandatory parameters including:paymentOption.alternativePaymentMethodclass containing:paymentMethod: “apmgw_Online_Banking_Thailand“
deviceDetailsclass containing:ipAddressbillingAddressclass containing:firstName,lastName,country,emailuserDetailsclass containing:firstName,lastName,phone,email
The request can also include
paymentOption.alternativePaymentMethod.obt_bank. For validobt_bankvalues, submit agetApms()request.Example
createPayment()Requestsfc.createPayment({ sessionToken: "<sessiontoken>", paymentOption: { alternativePaymentMethod: { paymentMethod: "apmgw_Online_Banking_Thailand", obt_bank: "558" } }, deviceDetails:{ ipAddress:"<customer's IP address>" }, billingAddress: { firstName: "John", lastName: "Smith", country: "TH", email: "[email protected]" }, userDetails: { firstName: "John", lastName: "Smith", email: "[email protected]", phone:"955552448" }, }, function (res) { console.log(res); });After the transaction is processed, Nuvei sends a Direct Merchant Notification (DMN) that includes the result of the transaction to
urlDetails.notificationUrl, which Nuvei recommends including in the/openOrderrequest. - Payment Page
 
Example Payment DMN with Status=APPROVED
...'ppp_status=OK&Status=APPROVED&ExErrCode=0&ErrCode=0&errApmCode=0&errApmDescription=&errScCode=0&errScDescription=&Reason=&ReasonCode=0&PPP_TransactionID=43304091&userid=ScMigrationTest3uuu&merchant_unique_id=97c10831-d399-48d7-8ea5-41f89619d2fa6&customData=&productId=test_name_1&first_name=John&last_name=Smith&email=john.smith%40email.com¤cy=THB&customField1=&customField2=a2db82db-8186-44bb-a6d9-cb9f8f7ea25e&customField3=&customField4=&customField5=&customField6=&customField7=&customField8=&customField9=&customField10=&customField11=&customField12=&customField13=&customField14=&customField15=&invoice_id=&address1=&address2=&country=Thailand&state=&city=&zip=&phone1=955552448&phone2=&phone3=&client_ip=186.72.119.106&nameOnCard=&cardNumber=&bin=&noCVV=&acquirerId=&acquirerBank=Smart2Pay-PI&expMonth=&expYear=&Token=&tokenId=&AuthCode=&AvsCode=&Cvv2Reply=&shippingCountry=TH&shippingState=&shippingCity=&shippingAddress=&shippingZip=&shippingFirstName=John&shippingLastName=Smith&shippingPhone=955552448&shippingCell=&shippingMail=john.smith%40email.com&total_discount=0.00&total_handling=0.00&total_shipping=0.00&total_tax=0.00&buyButtonProductBundleId=&merchant_site_id=3111&merchant_status=&action=&requestVersion=&message=APPROVED&merchantLocale=en_US&unknownParameters=&payment_method=apmgw_Online_Banking_Thailand&ID=&merchant_id=4972436454212160565&responseTimeStamp=2024-07-02.14%3A12%3A42&buyButtonProductId=&webMasterId=&appliedPromotions=&uniqueCC=&transactionType=Sale&externalEmail=&cardCompany=&eci=&user_token_id=Siltokenuuu&user_token=auto&userPaymentOptionId=2153273671&TransactionID=2610000000000038320&externalTransactionId=27189104&APMReferenceID=E945E71B0DD9973DAC28B66C45386FCB&orderTransactionId=24621581&totalAmount=1600.00&dynamicDescriptor=&item_name_1=&item_number_1=&item_amount_1=1600.00&item_quantity_1=1&item_discount_1=0.00&item_handling_1=0.00&item_shipping_1=0.00&feeAmount=&amountWithoutFee=&houseNumber=&customCurrency=&externalToken_blockedCard=&externalToken_cardAcquirerId=&externalToken_cardAcquirerName=&externalToken_cardBin=&externalToken_cardBrandId=&externalToken_cardBrandName=&externalToken_cardExpiration=&externalToken_cardLength=&externalToken_cardMask=&externalToken_cardName=&externalToken_cardTypeId=&externalToken_cardTypeName=&externalToken_clubName=&externalToken_creditCompanyId=&externalToken_creditCompanyName=&externalToken_extendedCardType=&externalToken_Indication=&externalToken_tokenValue=&externalToken_tokenProvider=&ECIRaw=&cryptogram=&maskedNetworkTokenNumber=&upoRegistrationDate=20240702&type=DEPOSIT&clientRequestId=&relatedTransactionId=&apmPayerInfo=%7B%22StatusInfo%22%3A%22%7B+StatusCode%3A+%2C+info%3A+%2C+originalAmount%3A+1600.0000%2C+ProcessedAmount%3A+1600%2C+originalCurrency%3A+THB%2C+ProcessedCurrency%3A+THB+%7D%22%7D&sessionId=3c6675ceff1bc0bf9a7dd8bb88e0&responsechecksum=5d905d06b2ef814dbb502218f653f732&advanceResponseChecksum=e59095110e9a024509fadfa70e67e7dc',

