這是用戶在 2024-12-17 13:22 為 https://bo.bigpayz.net/apidocv1.asp 保存的雙語快照頁面,由 沉浸式翻譯 提供雙語支持。了解如何保存?

API Doc API 文檔

API Endpoint API 端點
https://<'host'>

This API allows Merchants to provide Users with the ability pay with their Internet Banking credentials.
此 API 允許商家為用戶提供使用其網路銀行憑證進行支付的能力。

API  API

This API is organized around REST, it is designed to have predictable, resource-oriented URLs and to use HTTP response codes to indicate API errors.
此 API 是基於 REST 組織的,旨在擁有可預測的、以資源為導向的 URL,並使用 HTTP 響應代碼來指示 API 錯誤。

We use built-in HTTP features, like HTTP authentication and HTTP verbs, which can be understood by off-the-shelf HTTP clients, and we support cross-origin resource sharing to allow you to interact securely with our API from a client-side web application (though you should remember that you should never expose your secret API key in any public website’s client-side code).
我們使用內建的 HTTP 功能,如 HTTP 認證和 HTTP 動詞,這些功能可以被現成的 HTTP 客戶端理解,我們支持跨來源資源共享,以便您可以從客戶端網頁應用程式安全地與我們的 API 互動(不過您應該記住,您永遠不應該在任何公共網站的客戶端代碼中暴露您的秘密 API 金鑰)。

JSON will be returned in all responses from the API, including errors.
API 所有回應將以 JSON 格式返回,包括錯誤。

Authentication  身份驗證 ¶

You authenticate to this API by providing your API keys in the request. You can manage your API keys from your account. You can have multiple API keys active at one time. Your API keys carry many privileges, so be sure to keep them secret!
您通過在請求中提供您的 API 金鑰來對此 API 進行身份驗證。您可以從您的帳戶管理您的 API 金鑰。您可以同時擁有多個活動的 API 金鑰。您的 API 金鑰擁有許多特權,因此請務必保密!

Authentication to the API occurs via HTTP Basic Auth. Provide your API key as the basic auth username. You do not need to provide a password.
通過 HTTP 基本身份驗證對 API 進行身份驗證。將您的 API 密鑰作為基本身份驗證用戶名提供。您不需要提供密碼。

Authorization: Basic NWZiUnBoUWl1ZEVBTEZoVUM0QnEyTzBselBPTElhS0Q6

Transaction  交易 ¶

This is the API for initiating a transaction, and checking the status
這是用於啟動交易和檢查狀態的 API


Payin V2

This is the API for initiating a Payin, checking the status, and get sender bank
這是用於啟動支付、檢查狀態和獲取發送者銀行的 API


Start  開始 ¶

Initiate a transaction. 啟動交易。

POST https://<'host'>/Payin/DepositV2
{"MerchantCode":
"multimerchant5", "ReturnURL":"http:/example.com/thankyou", "FailedReturnURL":"http:/example.com/retry", "HTTPPostURL":"http:/example.com/invoice/1234", "Amount":"99.00", "Currency":"MYR", "ItemID":"inv-3422", "ItemDescription":"top up for account", "PlayerId":"Jon Doe", "Hash":"ee5ff3b4a4868c151ea62494820295129b4e0b8cabdb51c1850b3159fd280566", "BankCode":"CIMB", "SenderVerification":1, "ClientFullName":"Jonny Sohn"}
{"MerchantCode":"multimerchant5", "ReturnURL":"http:/example.com/thankyou", "FailedReturnURL":"http:/example.com/retry", "HTTPPostURL":"http:/example.com/invoice/1234", "Amount":"99.00", "Currency":"MYR", "ItemID":"inv-3422", "ItemDescription":"帳戶充值", "PlayerId":"Jon Doe", "Hash":"ee5ff3b4a4868c151ea62494820295129b4e0b8cabdb51c1850b3159fd280566", "BankCode":"CIMB", "SenderVerification":1, "ClientFullName":"Jonny Sohn"}
Requests
Responses200100104201901
Headers 標頭
Content-Type: application/json
Body 正文
{
  "transaction": 009-212-20-750,
  "status": 0,
  "token": "7e014436dfc6846259c10b4053e10ef1491afb8ca5039f831017bfa54134fae1",
  "redirect_to": "redirectlink=https://<'host'>?TOKEN=7e014436dfc6846259c10b4053e10ef1491afb8ca5039f831017bfa54134fae1",
  "Amount": 99.00,
  "Currency": "MYR"
}
Schema 架構
{
  "type": "object",
  "properties": {
    "transaction": {
      "type": "integer"
    },
    "status": {
      "enum": [
        0,
        1,
        -1,
        -2,
        -3
      ],
      "enumNames": [
        "initiated",
        "accepted",
        "rejected",
        "error",
        "pending"
      ]
    },
    "token": {
      "type": "string"
    },
    "redirect_to": {
      "type": "url"
    },
    "Amount": {
      "type": "float"
    },
    "Currency": {
      "type": "ISO-4217"
    }
  }
}

DepositV2
POSTPayin/Depositv2{MerchantCode,ReturnURL,FailedReturnURL,HTTPPostURL,Amount,Currency,ItemID,ItemDescription,PlayerId,Hash,BankCode,SenderVerification,ClientFullName}

URI Parameters URI 參數
HideShow 顯示
MerchantCode
string(20) (required) Example: merchant01
string(20) (必填) 例子:merchant01

Merchant Username 商戶用戶名

ReturnURL
string(250) (required) Example: http://example.com/thankyou
string(250) (必填) 例如:http://example.com/thankyou

the URL of the page where you want the client to be redirected after a successful transaction
成功交易後,您希望客戶被重定向到的頁面網址

FailedReturnURL
string(250) (required) Example: http://example.com/retry
string(250) (必填) 例子: http://example.com/retry

the URL of the page where you want the client to be redirected after a failed transaction
交易失敗後,您希望客戶被重定向到的頁面網址

HTTPPostURL
string(250) (required) Example: http://example.com/invoice/1234
string(250) (必填) 例子: http://example.com/invoice/1234

a URL on the merchant’s website where we will automatically POST the transaction status
商家網站上的一個 URL,我們將自動發送交易狀態至該 URL

Amount 金額
string (required) Example: 45.99
string (必填) 例子:45.99

Amount to debit from the client’s bank account
從客戶的銀行帳戶中扣除的金額

Currency 貨幣
ISO-4217 (required) Example: MYR
ISO-4217 (必填) 例子:MYR

The preferred currency for the transaction
交易的首選貨幣

ItemID
string(50) (required) Example: inv-3422
string(50) (必填) 例子:inv-3422

merchant provided transaction unique identifier and cannot resubmit same unique identifier
商家提供的交易唯一識別碼,且不能重新提交相同的唯一識別碼

ItemDescription 項目描述
string(50) (required) Example: top up for account #1234
string(50) (必填) 例如:為帳戶 #1234 充值

merchant provided description of the transaction
商家提供的交易描述

PlayerId
string(50) (required) Example: Jon Doe
string(50) (必填) 例子:Jon Doe

the client’s player name
客戶的玩家名稱

Hash
string (required) Example: a24a49b8e5757d339878dae8f5d5e6126d74d73c40929ca3af4253446f94113e

hash_hmac() with sha256 of ‘MerchantCode + ItemID + Currency + Amount’ signed with your API Key

BankCode
string(4) (optional) Example: PUBB

the client’s selected bank

SenderVerification
integer (optional) For MYR Currency Only Example: 1

verify sender name(0 not verify[default]), 1 verify)

Note:

If would like to verify bank account name, please pass "SenderVerification" parameter. Kindly ensure that user key in same as bank displayed. Otherwise, this might cause high rejected payin transaction.
For example, player provide name = Mohd. Ali, bank shows Mohammed Ali.

ClientFullName
string(50) (optional) For MYR Currency Only Example: Jonny Sohn

the client’s bank account name)


Status

Get a transaction’s status

GET & POST : https://<'host'>/payin/transinfo?token=7e014436dfc6846259c10b4053e10ef1491afb8ca5039f831017bfa54134fae
Requests
Headers
Authorization: Basic NWZiUnBoUWl1ZEVBTEZoVUM0QnEyTzBselBPTElhS0Q6
Responses200
Headers
Content-Type: application/json
Body
{
    "transaction": "009-216-20-798",
    "status": 0,
"status_description": "error-Transaction not found", "token": "7e014436dfc6846259c10b4053e10ef1491afb8ca5039f831017bfa54134fae1", "Amount": 99, "itemDescription": "Item",
"itemID": "Item123", "BusinessAcct": "7654785499", "Currency": "MYR", "bank_name": "CIMB Bank Berhad", "bank_code": "CIMB", "bank_account": "CIMB-6oSQmltP", "src_bank_account": "888999000", "bank_reference": "CIMB653472", "created_at": "03/31/2019 16:38:28 PM" "updated_at": "03/31/2019 16:40:28 PM" }
Schema
{
    "type": "object",
    "properties": {
        "transaction": {
            "type": "string"
        },
        "status": {
            "enum": [0,1,2,-1,-2,-3],
            "enumNames": ["initiated","accepted","processing","rejected","error","pending"]
        },
"status_description": { "type": "string" }, "token": { "type": "string" }, "Amount": { "type": "float" },
"itemDescription": { "type": "string" }, "itemID": { "type": "string" }, "BusinessAcct": { "type": "string" }, "Currency": { "type": "ISO-4217" }, "bank_name": { "type": "string" }, "bank_code": { "type": "string" }, "bank_account": { "type": "string" }, "src_bank_account": { "type": "string" }, "bank_reference": { "type": "string" }, "created_at": { "type": "datetime" }, "updated_at": { "type": "datetime" } }
}

Status
GET & POSTtransinfo?token=7e014436dfc6846259c10b4053e10ef1491afb8ca5039f831017bfa54134fae

URI Parameters
HideShow
token
string(250) (required) Example: 2daa41c4ada464aebc545622ed920108

the unique token given in transaction response


Callback

Automatic callback to Merchant’s provided endpoint (HTTPPostURL) with transaction status.

Our servers will make an HTTP POST request to the HTTPPostURL provided by the merchant during a transaction start

POST  HTTPPostURL
contract=
20108&apikey=NWZiUnBoUWl1ZEVBTEZoVUM0QnEyTzBselBPTElhS0Q6&transaction=009-216-20-798&status=2&status_message=rejected&decline_reason=Session timed out.&ItemID=inv-3422&ItemDescription=top up for account #1234&Amount=45.99&Currency=MYR&ClientName=Jon Doe&bank_name=CIMB&bank_account=CIMB-6oSQmltP&BusinessAcct=7654785499&src_bank_account=888999000&bank_reference=CIMB653472&signature2=7794254614e495ad3e771520dff2e4a9b5bb5b0b7fb366b098ec263b6ba87aec&created_at=03/31/2019 16:38:28 PM&updated_at=03/31/2019 16:40:28 PM&sender_name=Jon Doe
Requests
Headers
Accept: application/x-www-form-urlencoded
Content-Type: application/x-www-form-urlencoded
Responses200
PAYIN CALLBACK - Require Response Base on format below.
Headers
Content-Type: application/json
Body
{
  "error_code": 0,
  "message": "Operation Success"
}
                                    
Schema
{
  "type": "object",
    "properties": {
        "error_code": {
            "enum": [0,1,2,3,4],
            "enumNames": ["Operation Success",
                "Invalid/Incorrect Transaction",
                "Duplicate Transaction",
                "Invalid Parameter",
                "Operation Failed"]
        },
        "message": {
            "type": "string"
        }
    }
}
                                    

CallBack
POSTcontract=20108&apikey=NWZiUnBoUWl1ZEVBTEZoVUM0QnEyTzBselBPTElhS0Q6&transaction=009-216-20-798&status=2&status_message=rejected&decline_reason=Session timed out.&ItemID=inv-3422&ItemDescription=top up for account #1234&Amount=45.99&Currency=MYR&ClientName=Jon Doe&bank_name=CIMB&bank_account=CIMB-6oSQmltP&BusinessAcct=7654785499&src_bank_account=888999000&bank_reference=CIMB653472&signature2=7794254614e495ad3e771520dff2e4a9b5bb5b0b7fb366b098ec263b6ba87aec&created_at=03/31/2019 16:38:28 PM&updated_at=03/31/2019 16:40:28 PM&sender_name=Jon Doe

URI Parameters
HideShow
contract
integer (required) Example: 20108

a unique identifier for the contract involved

apikey
integer (required) Example: h74ku4Xh/8+8YGL4d6BGP3thGdtWIIEk4VfgSua1rb0=

the unique internal id of your API key

transaction
integer (required) Example: 44522

unique transaction identifier

status
enum (required) Example: 1

[1 (Success/Accepted), 2 (Rejected), 3 (Approved)]

status_message
string(250) (required) Example: Rejected

[“Success”, “Accepted”, “Rejected”, “ERROR”]

ItemID
string(50) (required) Example: inv-3422

merchant provided transaction identifier

ItemDescription
string(50) (required) Example: top up for account #1234

merchant provided description of the transaction

Amount
string (required) Example: 45.99

Amount to debit from the client’s bank account

Currency
ISO-4217 (required) Example: MYR

the transaction’s currency

ClientName
string(50) (required) Example: Jon Doe

the client’s full name

bank_name
string(10) (optional) Example: CIMB

the name of the transfer’s originating bank

bank_account
string(250) (optional) Example: CIMB-6oSQmltP

the bank account number where the funds were transfered

BusinessAcct
integer (optional) Example: 7654785499

internal id of the bank account where the funds were transfered

src_bank_account
string(250) (optional) Example: 888999000

bank account number of the paying user

bank_reference
string(250) (optional) Example: CIMB653472

bank transaction reference number

signature2
string(250) (required) Example: 7794254614e495ad3e771520dff2e4a9b5bb5b0b7fb366b098ec263b6ba87aec

hash_hmac() with sha256 of ‘transaction_id + status code + Currency + Amount + created_at’ signed with your API Key

created_at
MM/dd/yyyy H:i:s AM/PM (required) 

Example: 03/31/2019 16:38:28 PM

creation date at the timezone of the API key’s owner

updated_at
MM/dd/yyyy H:i:s AM/PM (required) 

Example: 03/31/2019 16:40:28 PM

last update at the timezone of the API key’s owner

sender_name
string(250) (optional) Example: Jon Doe

the sender's full name


Get Deposit Bank

Get the Available Payment Bank

POST https://<'host'>/Payin/DepositSenderBank/
{"MerchantCode":
"multimerchant5", "Currency": "MYR","APIKey": "343gh4400pf234jdnB34Jfk@134r"}
Responses0 409107901
Headers
Content-Type: application/json
Body
{
  "error_code": 0,
  "message": OperationSuccess,    
  "Bank": [{"BankCode":"CIMB","BankName":"CIMB Name"},{"BankCode":"PUBB","BankName":"Public Bank"}]

}
Schema
{
  "type": "object",
  "properties": {
    "error_code": {
      "type": "int"
    },
    "message": {
      "type": "string"
    },
    "Bank": {
      "type": "string"
    }
  }
}

DepositSenderBank
POST/Payin/DepositSenderBank{MerchantCode,Currency,APIKey}

URI Parameters
HideShow
MerchantCode
string(20) (required) Example: multimerchant5

Merchant Username

Currency
string(3) (required) Example: MYR

The preferred currency for the transaction

APIKey
string (required) Example: h74ku4Xh/8+8YGL4d6BGP3thGdtWIIEk4VfgSua1rb0=

the unique internal id of your API key


BANK CODE

Name Code Currency
Affin Bank AFBB MYR
Alliance Bank ABMB MYR
Ambank AMBB MYR
Bank Islam Malaysia BIMB MYR
Bank Kerjasama Rakyat BKRM MYR
Bank Simpanan National BSNB MYR
CIMB Bank Berhad CIMB MYR
Hong Leong Bank Berhad HLBB MYR
Maybank Berhad MB2U MYR
Public Bank Berhad PUBB MYR
RHB Bank Berhad RHBB MYR
City Union Bank CUBL INR
Federal Bank LTD FEDB INR
HDFC Bank HDFC INR
IDFC Bank IDFC INR
IndusInd Bank IDSB INR
Kotak Mahindra Bank KTKB INR
Indian bank INDB INR
ICICI Bank Limited ICBB INR
Bangkok Bank BKKB THB
Bank of Ayudhya (Krungsri) KSAB THB
Kasikorn Bank KSKB THB
Bank for Investment and Development of Vietnam BIDV VND
Eximbank EXMB VND
Asia Commercial Bank ACBB VND
VietcomBank VCBB VND
VietinBank VTBB VND

Payout

This is the API for initiating a Payout, checking the status, and checking balance

Start

Initiate a payout.

POST https://<'host'>/Payout/Withdrawal
{"merchant_code":
"multimerchant5", "ref_id":
5805, "player_username":"user001", "player_ip":"210.195.142.240", "currency_code": "MYR", "amount":"1.00", "bank_code":"BSNB", "beneficiary_account": "1413941000031234", "beneficiary_name":"Jimmy Hardy", "hash":"3e5ff3b4a4868c151ea62494820295129b4e0b8cabdb51c1850b3159fd280566", "ifsc": "SBIN003311", "account_type": 1, "address": "Coffeeshop_ABC", "email": "abc@yahoo.com", "mobile": "012123456789", "beneficiary_verification": 1}
Requestsexample 1
Responses0204302
Headers
Content-Type: application/json
Body
{
  "error_code": 0,
  "error_message": "Operation success",
  "invoice_number": "000-MY01-126-20-140",
  "currency_code": "MYR",
  "merchant_balance": 9620.0

}
Schema
{
  "type": "object",
  "properties": {
    "error_code": {
      "type": "integer"
    },    
    "error_message": {
      "type": "string"
    },
    "invoice_number": {
      "type": "string"
    },
    "merchant_balance": {
      "type": "float"
    } 
    
  }
}

Withdraw
POSTPayout/Withdrawal{merchant_code,ref_id,player_username,player_ip,currency_code,amount,bank_code,beneficiary_account,beneficiary_name,hash,ifsc,account_type,address,email,mobile,beneficiary_verification}

URI Parameters
HideShow
merchant_code
string(20) (required) Example: multimerchant5

Merchant Username

ref_id
string(50) (required) Example: 5805

Merchant provided transaction identifier

player_username
string(40) (required) Example: user001

the client’s full name

player_ip
string(50) (required) Example: 210.195.142.240

the client’s ip

currency_code
string(3) (required) Example: MYR

The preferred currency for the transaction

amount
string (required) Example: 45.99

Amount to debit to the client’s bank account

bank_code
string(4) (required) Example: BSNB

the client’s bank code

beneficiary_account
string(50) (required) Example: 14139410000301234

the client’s bank account number

beneficiary_name
string(100) (required) Example: Jimmy Hardy

the client’s bank account name

hash
string (required) Example: a24a49b8e5757d339878dae8f5d5e6126d74d73c40929ca3af4253446f94113e

hash_hmac() with sha256 of ‘merchant_code + ref_id + player_username + player_ip + currency_code + amount + bank_code + beneficiary_account + beneficiary_name’ signed with your API Key

account_type
integer (optional) Example: 1

the client’s bank account type (1 Saving, 2 current )

ifsc
string(11) (required for INR transaction only) Example: SBIN003311

the client’s ifsc

address
string(200) (optional) Example: Coffeeshop_ABC

the client’s address

email
string(50) (optional) Example: abc@yahoo.com

the client’s email

mobile
string(15) (optional) Example: 012123456789

the client’s mobile

beneficiary_verification
integer (optional) Example: 1

verify beneficiary name(0 not verify[default]), 1 verify)

Note:

System default is checking bank account number only. If would like to verify bank account name, please pass "beneficiary_verification" parameter. Kindly ensure that user key in same as bank displayed to payout correctly. Otherwise, this might cause high rejected payout transaction.
For example, player provide name = Mohd. Ali, bank shows Mohammed Ali.


Status

Check the transaction’s status

POST https://<'host'>/Payout/CheckStatus
{"merchant_code":
"multimerchant5", "ref_id":"5805", "hash":"3e5ff3b4a4868c151ea62494820295129b4e0b8cabdb51c1850b3159fd280566"}
Requestsexample 1
Responses0422401
Headers
Content-Type: application/json
Body
{
    "error_code": 0,
    "error_message": OperationSuccess,
    "invoice_number": "000-MY01-126-20-148",
    "status_code": 1,
    "status_message": "Success",
    "currency_code": "MYR",
    "amount": 19.00,
    "submission_date": "2020-05-05T10:54:11.5908783Z",
    "payment_date": "2020-05-05T10:54:11.5908783Z",
    "beneficiary_bank_code": "CIMB",
    "beneficiary_account": "888999000",
    "beneficiary_name": "Bobby pang"
}

For Other Code & Description Refer to Following
Payout Response Code
                                    
Schema
{
  "type": "object",
    "properties": {
        "error_code": {
            "type": "integer"
        },
        "error_message": {
            "type": "string"
        },
        "invoice_number": {
            "type": "string"
        },
        "status_code": {
            "type": "integer", 
            "codes": [-1, 0, 1, 2, 3]
        },
        "status_message": {
            "type": "string", 
            "message": ["In Process", "Pending", "Success", "Rejected", "Manual Approve"]
        },
        "currency_code": {
            "type": "string"
        },
        "amount": {
            "type": "float"
        },
        "submission_date": {
            "type": "datetime"
        },
        "payment_date": {
            "type": "datetime"
        },
        "beneficiary_bank_code": {
            "type": "string"
        },
        "beneficiary_account": {
            "type": "string"
        },        
        "beneficiary_name": {
            "type": "string"
        }
    }
}

Status
POST/Payout/CheckStatus{merchant_code,ref_id,hash}

URI Parameters
HideShow
merchant_code
string(20) (required) Example: multimerchant5

Merchant Username

ref_id
string(50) (required) Example: abc123

Merchant provided transaction identifier

hash
string (required) Example: a24a49b8e5757d339878dae8f5d5e6126d74d73c40929ca3af4253446f94113e

hash_hmac() with sha256 of ‘merchant_code + ref_id’ signed with your API Key


CallBack

Automatic callback to Merchant’s provided endpoint with transaction status.

Our servers will make an HTTP POST request to the CallBackURL provided by the merchant during account registration.

POST CallBackUrl/
InvoiceNo=000-MY01-126-20-140&BeneficiaryAccount=1413941000030123&BeneficiaryBankCode=BSNB&BeneficiaryName=David Joe&SubmissionDate=2021-01-31T12:59:01.389699Z&Status=1&StatusMessage=Success&Reference=6223300199&MerchantCode=merchant001&RefId=abc123&Currency=MYR&Amount=45.9&PaymentDate=1/31/2020 12:52:38 PM&Signature=9ead452b7c5fe31cc2124c9d2b3dfa26836504ff27273cb511caceda65314c4f
Requests
Headers
Content-Type: application/x-www-form-urlencoded
Responses200
PAYOUT CALLBACK - Require Response Base on format below.
Headers
Content-Type: application/json
Body
{
  "error_code": 0,
  "message": "Operation Success"
}
                                
Schema
{
  "type": "object",
    "properties": {
        "error_code": {
            "enum": [0,1,2,3,1001,1002],
            "enumNames": ["Operation Success",
                "Invalid/Incorrect Transaction",
                "Duplicate Transaction",
                "Invalid Parameter",
                "Operation Failed (Retry)",
                "System Maintenance (Retry)"]
        },
        "message": {
            "type": "string"
        }
    }
}
                                

CallBack
POSTInvoiceNo=000-MY01-126-20-140&BeneficiaryAccount=1413941000030123&BeneficiaryBankCode=BSNB&BeneficiaryName=David Joe&SubmissionDate=2021-01-31T12:59:01.389699Z&Status=1&StatusMessage=Success&Reference=6223300199&MerchantCode=merchant001&RefId=abc123&Currency=MYR&Amount=45.9&PaymentDate=1/31/2020 12:52:38 PM&Signature=9ead452b7c5fe31cc2124c9d2b3dfa26836504ff27273cb511caceda65314c4f

URI Parameters
HideShow
InvoiceNo
string (required) Example: 000-MY01-126-20-140

An unique identifier for the contract involved

BeneficiaryAccount
string (required) Example: 1413941000030123

The client’s bank account number

BeneficiaryBankCode
string (required) Example: BSNB

The client’s bank code

BeneficiaryName
string (required) Example: David Joe

The client’s bank account name

SubmissionDate
Y-m-d H:i:s Timezone (required) 

Example: 2021-01-31T12:59:01.389699Z

Submission Date at the timezone of the API key’s owner

Status
enum (optional) Example: 1

[0, 1, 2, 3]

StatusMessage
string (required) Example: Success

["Pending", "Success", "Reject", "Approved"]

MerchantCode
string (required) Example: merchant001

Merchant Username

RefId
string (required) Example: abc123

Merchant provided transaction identifier

Currency
ISO-4217 (required) Example: MYR

The transaction’s currency

Amount
float (required) Example: 45.99

Amount credit to beneficiary bank account

PaymentDate
MM/dd/YYYY H:i:s AM/PM (required) 

Example: 1/31/2020 12:52:38 PM

Payment date at the timezone of the API key’s owner

Signature
string (required) Example: 9ead452b7c5fe31cc2124c....

hash_hmac() with sha256 of ‘InvoiceNo + Status + Currency + Amount + PaymentDate’ signed with your API Key


Get Balance

Get the Merchant’s provided latest balance.

POST https://<'host'>/Payout/GetBalance/
{"merchant_code":
"multimerchant5", "hash": "46fbf35f69354e9779756f98c104b77eb98c9b236245e8660911866af93154d3"}
Responses0
Headers
Content-Type: application/json
Body
{
  "error_code": 0,
  "error_message": OperationSuccess,    
  "info": [{"CurrencyCode":"INR","RunningBalance":50.00},{"CurrencyCode":"MYR","RunningBalance":9614.00}]

}
Schema
{
  "type": "object",
  "properties": {
    "error_code": {
      "type": "int"
    },
    "error_message": {
      "type": "string"
    },
    "info": {
      "type": "string"
    }
  }
}

Get Balance
POST/Payout/GetBalance{merchant_code,hash}

URI Parameters
HideShow
merchant_code
string(20) (required) Example: multimerchant5

Merchant Username

hash
string (required) Example: a24a49b8e5757d339878dae8f5d5e6126d74d73c40929ca3af4253446f94113e

hash_hmac() with sha256 of ‘merchant_code’ signed with your API Key


BANK CODE

Name IFSC Code Currency
Affin Bank - AFBB MYR
AGROBANK - AGRO MYR
Alliance Bank Malaysia Berhad - ABMB MYR
Ambank - AMBB MYR
Bank Islam Malaysia - BIMB MYR
Bank Kerjasama Rakyat - BKRM MYR
Bank Muamalat - BMMB MYR
Bank Of America - BOFA MYR
Bank Of China - BOCM MYR
Bank Simpanan National - BSNB MYR
CIMB Bank Berhad - CIMB MYR
GX Bank Berhad - GXSP MYR
Hong Leong Bank Berhad - HLBB MYR
HSBC Bank - HSBC MYR
Maybank Berhad - MB2U MYR
OCBC Bank - OCBC MYR
Public Bank Berhad - PUBB MYR
RHB Bank Berhad - RHBB MYR
Standard Chartered Bank - STCB MYR
Touch N Go - TNGO MYR
UNITED OVERSEAS BANK - UOBB MYR
Airtel Payments Bank AIRP AIRP INR
Allahabad Bank ALLA ALHB INR
Andhra Bank ANDB ADRB INR
Andhra Pragathi Grameena Bank APGB APGB INR
Au Small Finance Bank AUBL ASFB INR
Axis Bank UTIB AXSB INR
Bandhan Bank BDBL BDHN INR
Bank Of Baroda BARB BOBB INR
Bank of India BKID BOIB INR
Bank of Maharashtra MAHB BOMB INR
Canara Bank CNRB CNRB INR
Central Bank of India CBIN CBIB INR
City Union Bank CIUB CUBL INR
Deutsche Bank DEUT DSHB INR
HDFC Bank HDFC HDFC INR
Federal Bank LTD FDRL FEDB INR
ICICI Bank ICIC ICBB INR
IDBI Bank IBKL IDBI INR
IDFC Bank IDFB IDFC INR
Indian Bank IDIB INDB INR
IndusInd Bank INDB IDSB INR
India Post Payment Bank IPOS IPPB INR
Jammu and Kashmir Bank Limited JAKA JAKB INR
Karnataka Bank Limited KARB KBLB INR
Kotak Mahindra Bank KKBK KTKB INR
Lakshmi Vilas Bank DBSS LXVB INR
Punjab National Bank PUNB PNBB INR
PAYTM Payments Bank LTD PYTM PTMB INR
South Indian Bank SIBL SINB INR
State Bank of India SBIN SBOI INR
Ujjivan Small Finance Bank UJVN UJVB INR
Union Bank of India UBIN UBOI INR
Yes Bank YESB YESB INR
Bangkok Bank - BKKB THB
Bank for Agriculture and Agricultural Cooperatives - BAAC THB
Bank of Ayudhya (Krungsri) - KSAB THB
CIMB Thai Bank - CIMT THB
Government Savings Bank - GSBA THB
Kasikorn Bank - KSKB THB
Kiatnakin Bank - KKBB THB
Krung Thai Bank - KTBA THB
Siam Commercial Bank - SCBB THB
Standard Chartered Bank (Thai) - SCBT THB
TISCO Bank - TISC THB
TMBThanachart Bank - TMBB THB
United Overseas Bank (Thai) - UOBT THB
AGRIBANK - AGRB VND
Asia Commercial Bank - ACBB VND
Bank for Investment and Development of Vietnam - BIDV VND
DongA Bank - DABB VND
Eximbank - EXMB VND
Ho Chi Minh City Development Joint Stock Commercial Bank - HDBB VND
National Citizen Commercial Joint Stock Bank - NCBB VND
Ocean Commercial One Member Limited Liability Bank - OCNB VND
SacomBank - SACB VND
Saigon Hanoi Commercial Joint Stock Bank - SHBB VND
TechcomBank - TCBB VND
Tien Phong Commercial Joint Stock Bank - TPBB VND
VietcomBank - VCBB VND
VietinBank - VTBB VND
Vietnam International Commercial Joint Stock Bank - VIBB VND
Vietnam Maritime Commercial Joint Stock Bank - MSBB VND

Prompt Pay THB

This is the API for initiating a Prompt pay QR scan, checking the status, and callback function

Start

Initiate a prompt pay.

POST QRScanDeposit/
{"merchant_code":
"merchant001", "ref_id": "abc123", "player_username": "David Joe", "player_ip": "123.456.789.01", "currency_code": "THB", "amount": "45.00", "client_url": "www.google.com", "hash": "9ead452b7c5fe31cc2124c9d2b3dfa26836504ff27273cb511caceda65314c4f", "lang": "th", "view": "1"}
Responses200
Headers
Content-Type: application/json
Body
{
  "error_code": 0,
  "error_message": "Operation Success",
  "invoice_number": "000-MY01-126-20-140",
  "currency_code": "MYR",
  "amount": 45.01,
  "token": "P4tXjYTFfa9gzPPhLNVOpJq2dgve%2FDAk0OCHylJ",
  "redirect_to": "https://<'host'>/QRPay/QRImage?TOKEN=P4tXjYTFfa9gzPPhLNVOpJq2dgve%2FDAk0OCHylJ"
}
                                
Schema
{
  "type": "object",
    "properties": {
        "error_code": {
            "enum": [0,1,102,103,104,105,201,205,206,207,209,210,211,214,216,301],
            "enumNames": ["Operation Success",
                "Invalid parameter(s)",
                "Invalid hash",
                "Invalid IP",
                "Amount less than or equal to zero",
                "Decimal point must be zero",
                "Duplicate Reference Id",
                "Minimum deposit limit is x.xx",
                "Bank is unavailable at the moment",
                "Failed to Access Bank",
                "Unavailable at the moment",
                "Merchant's Bank Account Not Available",
                "Maximum deposit limit is x.xx",
                "Bank Is Under Maintenance",
                "Your account is blacklisted. Please contact administrator. ",
                "Failed to Save Transaction"]
        },
        "error_message": {
      "type": "string"
    },
    "invoice_number": {
      "type": "string"
    },
        "currency_code": {
      "type": "string"
    },
        "amount": {
      "type": "decimal"
    },
        "token": {
      "type": "string"
    },
    "redirect_to": {
      "type": "string"
    }
    }
}
                                

QRScanDeposit
POSTBankBot/QRScanDeposit/{?merchant_code, ref_id, player_username, player_ip, currency_code, amount, client_url, hash, lang, view}

URI Parameters
HideShow
merchant_code
string (required) Example: merchant001

Merchant Username

ref_id
string (required) Example: abc123

Merchant provided transaction identifier(Unique Key)

player_username
string (required) Example: David Joe

The client’s player user name

player_ip
string (required) Example: 123.456.789.01

The client’s player ip

currency_code
ISO-4217 (required) Example: THB

The transaction’s currency

amount
string (required) Example: 45.00

Amount credit to beneficiary bank account. Decimal point must be zero.

client_url
string (optional) Example: www.google.com

The client’s page url

hash
string (required) Example: 56c7e1f...

hash_hmac() with sha256 of ‘merchant_code + ref_id + player_username + player_ip + currency_code + amount + client_url’ signed with your API Key

lang
string (optional) Example: en/th

The language which will display in the QR Page. en = English, th = Thai

view
string (optional) Example: 1/2

The type of payment page to be shown. Option: 1(Default) = PromptPay , 2 = TrueMoneyWallet


Status

Check the transaction’s status

POST https://<'host'>/BankBot/CheckPromptPayStatus
{"merchant_code":
"multimerchant5", "ref_id":"5805", "hash":"3e5ff3b4a4868c151ea62494820295129b4e0b8cabdb51c1850b3159fd280566"}
Requestsexample 1
Responses0
Headers
Content-Type: application/json
Body
{
    "error_code": 0,
    "error_message": OperationSuccess,
    "invoice_number": "000-MY01-126-20-148",
    "status_code": 0,
    "status_message": "Pending",
    "currency_code": "MYR",
    "amount": 19.00,
    "submission_date": "2020-05-05T10:54:11.5908783Z",
    "payment_date": "2020-05-05T10:54:11.5908783Z",
    "beneficiary_bank_code": "CIMB",
    "beneficiary_account": "888999000",
    "beneficiary_name": "Amy lim"
}
Schema
{
  "type": "object",
    "properties": {
        "error_code": {
            "type": "integer"
        },
        "error_message": {
            "type": "string"
        },
        "invoice_number": {
            "type": "string"
        },
        "status_code": {
            "type": "integer"
            "Enum": "0,1,2,3,4"
        },
        "status_message": {
            "type": "string"
            "EnumName": "Pending,Success,Rejected,Manual Approved,TimeOut"
        },
        "currency_code": {
            "type": "string"
        },
        "amount": {
            "type": "float"
        },
        "submission_date": {
            "type": "datetime"
        },
        "payment_date": {
            "type": "datetime"
        },
        "beneficiary_bank_code": {
            "type": "string"
        },
        "beneficiary_account": {
            "type": "string"
        },        
        "beneficiary_name": {
            "type": "string"
        }
    }
}

Status
POST/BankBot/CheckPromptPayStatus{merchant_code,ref_id,hash}

URI Parameters
HideShow
merchant_code
string(20) (required) Example: multimerchant5

Merchant Username

ref_id
string(50) (required) Example: abc123

Merchant provided transaction identifier

hash
string (required) Example: a24a49b8e5757d339878dae8f5d5e6126d74d73c40929ca3af4253446f94113e

hash_hmac() with sha256 of ‘merchant_code + ref_id’ signed with your API Key


CallBack

Automatic callback to Merchant’s provided endpoint with transaction status.

Our servers will make an HTTP POST request to the CallBackURL provided by the merchant during account registration.

No retry if callback failed.

POST CallBackUrl/{"InvoiceNo": "000-TH02-288-20-001", "ReceiverBank": "BKKB", "ReceiverAccount": "1413941000030123", "Currency": "THB", "Amount": "45.00", "OriginalAmount": 45.00, "PaymentDate": "01/31/2020 12:59:59", "MerchantCode": "merchant001", "RefId": "abc123", "Status": 1, "Signature": "9ead452b7c5fe31cc2124c9d2b3dfa26836504ff27273cb511caceda65314c4f", "StatusMessage":"Success", "DeclineReason":""}
Requests
Headers
Content-Type: application/json
Responses200
PROMPTPAY CALLBACK - Require Response Base on format below.
Headers
Content-Type: application/json
Body
{
  "error_code": 0,
  "message": "Operation Success"
}
                                    
Schema
{
  "type": "object",
    "properties": {
        "error_code": {
            "enum": [0,1,2,3,4],
            "enumNames": ["Operation Success",
                "Invalid/Incorrect Transaction",
                "Duplicate Transaction",
                "Invalid Parameter",
                "Operation Failed"]
        },
        "message": {
            "type": "string"
        }
    }
}
                                    

CallBack
POSTCallBackUrl/{?InvoiceNo, ReceiverBank, ReceiverAccount, Currency, Amount, OriginalAmount, PaymentDate, MerchantCode, RefId, Status, Signature, StatusMessage, DeclineReason}

URI Parameters
HideShow
InvoiceNo
string (required) Example: 000-MY01-126-20-140

An unique identifier for the contract involved

ReceiverBank
string (required) Example: BSNB

The client’s bank code

ReceiverAccount
string (required) Example: 1413941000030123

The client’s bank account number

Currency
ISO-4217 (required) Example: MYR

The transaction’s currency

Amount
string (required) Example: 45.99

Amount credit to Receiver bank account

OriginalAmount
float (required) Example: 45.99

Original amount credit to Receiver bank account

PaymentDate
MM/dd/yyyy H:i:s Timezone (required) 

Example: 01/31/2020 12:59:59

Payment date at the timezone of the API key’s owner

MerchantCode
string (required) Example: merchant001

Merchant Username

RefId
string (required) Example: abc123

Merchant provided transaction identifier

Status
integer (required) Example: 1

Latest transaction status

[0 = "Pending", 1 = "Success", 2 = "Rejected", 3 = "Manual Approve"]

Signature
string (required) Example: 56c7e1f...

hash_hmac() with sha256 of ‘InvoiceNo + ReceiverBank + ReceiverAccount + Currency + Amount + PaymentDate’ signed with your API Key

StatusMessage
string (required) Example: Success

The status message of the transaction status

DeclineReason
string (required) Example: Transaction rejected. Please provide bank slip to customer service if payment is done.

The reason of transaction being rejected.


Autobot (THB)

Autobot is an sms alert scanning and credit to player.

When merchant's phone number receive SCB SMS alert, PayJom will receive the sms content and callback to merchant site. Merchant required to validate the data and return status response to PayJom.

Merchant must have:

  • SCB bank account, promptpay ID and must registered on SMS alert.
  • provide callback URL to Payjom.
  • installed sms forwarder app by follow this installation guideline
  • customer's bank account number set up at merchant site in order to credit to customer correctly
  • if sms content does not have payer bank account name or bank account number, merchant has to manual callback to merchant site by entering the member ID or bank account number at Back Office.

Ideal mapping Criteria:

  • Member must have bank account name and account number setup.
  • Transaction shall be Credited to member if merchant site found only one member account with same bank account number (last 6 digits).
  • Transaction shall be Credited based on last login if member has more than 1 member account with same bank account info.
  • Transaction shall be Credited if member is Active status.
  • Transaction shall be Pending status if member has more than 1 member account with different bank account name and same bank account number(last 6 digits).
  • Transaction shall be Rejected if does not found any last 6 digits of bank account number.

Get QR Code

Get QR Code

POST BankBot/GetQRScanImage
{"promptpay_id":"1234567890", "merchant_code":"merchant001", "hash":"8abbdd279e158833b59091df57656df65d389f7c1a7a360f8b79ce6884d17127"}
Responses200
Headers
Content-Type: application/json
Body
{
  "error_code": 0,
  "error_message": "Operation Success",
  "qr_image": "http://<'host'>/265da2cddc12658c758bb9e608b70c64.png"
}
                                
Schema
{
  "type": "object",
    "properties": {
        "error_code": {
            "enum": [-1,0,102,204],
            "enumNames": ["Operation failed",
                "Operation success",
                "Invalid hash",
                "Invalid PromptPay Id"]
        },
        "error_message": {
            "type": "string"
        },
        "qr_image": {
            "type": "string"
        }
    }
}
                                

Get QR Code
POSTBankBot/GetQRScanImage {promptpay_id, merchant_code, hash}

URI Parameters
HideShow
promptpay_id
string (required) Example: 1234567890

PromptPay ID

merchant_code
string (required) Example: merchant001

Merchant Username

hash
string (required) Example: 8abbdd279e158833b59091df57656df65d389f7c1a7a360f8b79ce6884d17127

hash_hmac() with sha256 of ‘merchant_code + promptpay_id’ signed with your API Key

CallBack

Automatic callback to Merchant’s provided endpoint with transaction status.

Our servers will make an HTTP POST request to the CallBackURL provided by the merchant during account registration.

Merchant must response acccording to our response code and format.

If response code with 1001 (Operation Failed) & 1002 (System Maintenance), server will retry and POST request to CallBackURL provided.

POST <'CallBackUrl'>
{"MerchantCode":"merchant001", "RefId":"ee0aa67d934cea9a8f8fd56efcf67030", "Currency":"THB", "Amount":"45.99", "PaymentDate":"2020-01-31T23:59:00", "Signature":"74965689c3070db4425c9685f26d5f0484efe82d000c29a6c81d92693060bc9d", "ApiKey":"hHEZEYH00k7xwoO0qpc8Tclev9OEEaWy7h/09pU2S+8=", "ReceiverBank":"SCBB", "ReceiverAccount":"1581609627", "ReceiverAccountName":"Joe Smitt", "SenderBank":"SCBB", "SenderAccount":"345302", "SenderAccountName":"David Joe", "SenderUsername":"David Joe", "Description":"Payout110022", "BankReference":"110022"}
Responses200
Headers
Content-Type: application/json
Body
{
  "error_code": 0,
  "message": "Operation Success"
}
                                
Schema
{
  "type": "object",
    "properties": {
        "error_code": {
            "enum": [0,1,2,3,4,5,1001,1002],
            "enumNames": ["Operation Success",
                "Invalid/Incorrect Transaction",
                "Duplicate Transaction",
                "Invalid Parameter",
                "Transaction Is Process",
                "Agent Disable",
                "Operation Failed (Retry)",
                "System Maintenance (Retry)"]
        },
        "message": {
            "type": "string"
        }
    }
}
                                

CallBack
POST<'CallBackUrl'> {MerchantCode, RefId, Currency, Amount, PaymentDate, Signature, ApiKey, ReceiverBank, ReceiverAccount, ReceiverAccountName, SenderBank, SenderAccount, SenderAccountName, SenderUsername, Description, BankReference}

URI Parameters
HideShow
MerchantCode
string (required) Example: merchant001

Merchant Username

RefId
string (required) Example: ee0aa67d934cea9a8f8fd56efcf67030

Merchant provided transaction identifier

Currency
ISO-4217 (required) Example: MYR

The transaction’s currency

Amount
float (required) Example: 45.99

Amount credit to beneficiary bank account

Signature
string (required) Example: 74965689c3070db4425c9685f26d5f0484efe82d000c29a6c81d92693060bc9d

hash_hmac() with sha256 of ‘RefId + SenderBank + SenderAccount + Currency + Amount + PaymentDate’ signed with your API Key

ApiKey
string (required) Example: hHEZEYH00k7xwoO0qpc8Tclev9OEEaWy7h/09pU2S+8=

The unique internal id of your API key

ReceiverBank
string (required) Example: SCBB

The receiver’s bank code

ReceiverAccount
string (required) Example: 1581609627

The receiver’s bank account number

ReceiverAccountName
string (required) Example: Joe Smitt

The receiver’s bank account name

SenderBank
string (optional) Example: SCBB

The sender’s bank code

SenderAccount
string (required) Example: 345302

The sender’s bank account number

SenderAccountName
string (optional) Example: David Joe

The sender’s bank account name

SenderUsername
string (optional) Example: David Joe

The sender’s user name

Description
string (optional) Example: Payout110022

Description of the transaction

BankReference
string (optional) Example: 110022

Bank transaction reference number

PaymentDate
Y-m-d H:i:s Timezone (required) 

Example: 2020-01-31T23:59:00

Payment date at the timezone of the API key’s owner


UPI INR

This is the API for initiating a UPI QR scan (redirect/direct), checking the status, callback function, and update UTR number

Start

Initiate a UPI pay.

POST QRScanDeposit/
{"merchant_code":
"merchant002", "ref_id":"abc123", "player_username":"Nicolas Teach", "player_ip":"192.168.0.202", "currency_code":"INR", "amount":"45.00", "client_url":"www.yoururl.com", "hash":"9ead452b7c5fe31cc2124c9d2b3dfa26836504ff27273cb522dadeda65314c4f"}
Responses200
Headers
Content-Type: application/json
Body
{
  "error_code": 0,
  "error_message": "Operation Success",
  "invoice_number": "000-IN01-136-20-150",
  "currency_code": "INR",
  "amount": "45.01",
  "token": "Cj7XjYTFfa9gzPPhLNVOpJq2dgve%2FDAk0OCAbHya",
  "redirect_to": "https://<'host'>/QRPay/QRImage?TOKEN=Cj7XjYTFfa9gzPPhLNVOpJq2dgve%2FDAk0OCAbHya",
  "redirect_to2": "https://<'host'>/QRPay/QRImage?TOKEN=Cj7XjYTFfa9gzPPhLNVOpJq2dgve%2HOI8978UEHkjnfk"
}
                                
Schema
{
  "type": "object",
    "properties": {
        "error_code": {
            "enum": [0,1,102,103,104,105,201,205,206,207,209,210,211,214,216,301],
            "enumNames": ["Operation Success",
                "Invalid parameter(s)",
                "Invalid hash",
                "Invalid IP",
                "Amount less than or equal to zero",
                "Decimal point must be zero",
                "Duplicate Reference Id",
                "Minimum deposit limit is x.xx",
                "Bank is unavailable at the moment",
                "Failed to Access Bank",
                "Unavailable at the moment",
                "Merchant's Bank Account Not Available",
                "Maximum deposit limit is x.xx",
                "Bank Is Under Maintenance",
                "Your account is blacklisted. Please contact administrator. ",
                "Failed to Save Transaction"]
        },
        "error_message": {
      "type": "string"
    },
    "invoice_number": {
      "type": "string"
    },
        "currency_code": {
      "type": "string"
    },
        "amount": {
      "type": "decimal"
    },
        "token": {
      "type": "string"
    },
    "redirect_to": {
      "type": "string"
    },
    "redirect_to2": {
      "type": "string"
    }
    }
}
                                

QRScanDeposit
POSTBankBot/QRScanDeposit/{?merchant_code, ref_id, player_username, player_ip, currency_code, amount, client_url, hash, lang}

URI Parameters
HideShow
merchant_code
string (required) Example: merchant002

Merchant Username

ref_id
string (required) Example: abc123

Merchant provided transaction identifier(Unique Key)

player_username
string (required) Example: Nicolas Teach

The client’s player user name

player_ip
string (required) Example: 192.168.0.202

The client’s player ip

currency_code
ISO-4217 (required) Example: INR

The transaction’s currency

amount
string (required) Example: 45.00

Amount credit to beneficiary bank account. Decimal point must be zero.

client_url
string (optional) Example: www.yoururl.com

The client’s page url

hash
string (required) Example: 56c7e1f...

hash_hmac() with sha256 of ‘merchant_code + ref_id + player_username + player_ip + currency_code + amount + client_url’ signed with your API Key

lang
string (optional) Example: en/ta

The language which will display in the QR Page. en = English, ta = Tamil


Direct

Initiate a Direct UPI pay without redirect link.

POST UPIDeposit/
{"merchant_code":
"merchant002", "ref_id":"abc123", "player_username":"Nicolas Teach", "player_ip":"192.168.0.202", "currency_code":"INR", "amount":"45.00", "client_url":"www.yoururl.com", "hash":"9ead452b7c5fe31cc2124c9d2b3dfa26836504ff27273cb522dadeda65314c4f", "sender_name":"Joe Doe", "lang":"en"}
Responses200
Headers
Content-Type: application/json
Body
{
    "error_code": 0,
    "error_message": "Operation Success",
    "invoice_number": "000-IN01-136-20-150",
    "currency_code": "INR",
    "amount": "45.01",
    "upi_id": "test@upi",
    "ref_id": "abc123",
    "account_name": "test",
    "qr_image": "upi%3a%2f%2fpay%3fcu%3dINR%26pa%3dtest%40upi%26pn%3dtest%26am%3d45.01%26tn%3d928IN0306024845%26tr%3d000IN0113620150",
    "upi_remark": "Kindly fill in UTR with 12 digits number. If you didn't fill in UTR, the deposit transaction will be 100% fail.",
    "upi_remark2": "29-Feb-2024 12:32 PM GMT+5.30"
}
Schema
{
    "type": "object",
    "properties": {
        "error_code": {
            "enum": [0,1,102,103,104,105,108,201,205,206,207,209,210,211,214,216,301],
            "enumNames": ["Operation Success",
                "Invalid parameter(s)",
                "Invalid hash",
                "Invalid IP",
                "Amount less than or equal to zero",
                "Decimal point must be zero",
                "Invalid Merchant provider",
                "Duplicate Reference Id",
                "Minimum deposit limit is x.xx",
                "Bank is unavailable at the moment",
                "Failed to Access Bank",
                "Unavailable at the moment",
                "Merchant's Bank Account Not Available",
                "Maximum deposit limit is x.xx",
                "Bank Is Under Maintenance",
                "Your account is blacklisted. Please contact administrator. ",
                "Failed to Save Transaction"]
                },
                "message": {
                "type": "string"
            },
            "invoice_number": {
                "type": "string"
            },
            "currency_code": {
                "type": "string"
            },
            "amount": {
                "type": "decimal"
            },
            "upi_id": {
                "type": "string"
            },
            "ref_id": {
                "type": "string"
            },
            "account_name": {
                "type": "string"
            },
            "qr_image": {
                "type": "string"
            },
            "upi_remark": {
                "type": "string"
            },
            "upi_remark2": {
                "type": "string"
            }
            }
        }
                                

UPIDeposit
POSTBankBot/UPIDeposit/{?merchant_code, ref_id, player_username, player_ip, currency_code, amount, client_url, hash, sender_name, lang}

URI Parameters
HideShow
merchant_code
string (required) Example: merchant002

Merchant Username

ref_id
string (required) Example: abc123

Merchant provided transaction identifier(Unique Key)

player_username
string (required) Example: Nicolas Teach

The client’s player user name

player_ip
string (required) Example: 192.168.0.202

The client’s player ip

currency_code
ISO-4217 (required) Example: INR

The transaction’s currency

amount
string (required) Example: 45.00

Amount credit to beneficiary bank account. Decimal point must be zero.

client_url
string (optional) Example: www.yoururl.com

The client’s page url

hash
string (required) Example: 56c7e1f...

hash_hmac() with sha256 of ‘merchant_code + ref_id + player_username + player_ip + currency_code + amount + client_url’ signed with your API Key

sender_name
string (required) Example: Jon Doe

The sender's full name

lang
string (optional) Example: en/ta

The language which will display in the QR Page. en = English, ta = Tamil


Status

Check the transaction’s status

POST https://<'host'>/BankBot/CheckUPIStatus
{"merchant_code":
"merchant002", "ref_id":
"abc123", "hash":"9ead452b7c5fe31cc2124c9d2b3dfa26836504ff27273cb522dadeda65314c4f"}
Requestsexample 1
Responses0
Headers
Content-Type: application/json
Body
{
    "error_code": 0,
    "error_message": OperationSuccess,
    "invoice_number": "000-IN01-136-20-150",
    "status_code": 0,
    "status_message": "Pending",
    "currency_code": "INR",
    "amount": 45.00,
    "submission_date": "2020-11-05T10:54:11.5908783Z",
    "payment_date": "2020-11-05T10:54:11.5908783Z",
    "beneficiary_bank_code": "INDB",
    "beneficiary_account": "888999000",
    "beneficiary_name": "James Brooks"
}
Schema
{
  "type": "object",
    "properties": {
        "error_code": {
            "type": "integer"
        },
        "error_message": {
            "type": "string"
        },
        "invoice_number": {
            "type": "string"
        },
        "status_code": {
            "type": "integer"
            "Enum": "0,1,2,3,4"
        },
        "status_message": {
            "type": "string"
            "EnumName": "Pending,Success,Rejected,Manual Approved,TimeOut"
        },
        "currency_code": {
            "type": "string"
        },
        "amount": {
            "type": "float"
        },
        "submission_date": {
            "type": "datetime"
        },
        "payment_date": {
            "type": "datetime"
        },
        "beneficiary_bank_code": {
            "type": "string"
        },
        "beneficiary_account": {
            "type": "string"
        },        
        "beneficiary_name": {
            "type": "string"
        }
    }
}

Status
POST/BankBot/CheckUPIStatus{merchant_code,ref_id,hash}

URI Parameters
HideShow
merchant_code
string(20) (required) Example: merchant002

Merchant Username

ref_id
string(50) (required) Example: abc123

Merchant provided transaction identifier

hash
string (required) Example: 9ead452b7c5fe31cc2124c9d2b3dfa26836504ff27273cb522dadeda65314c4f

hash_hmac() with sha256 of ‘merchant_code + ref_id’ signed with your API Key


CallBack

Automatic callback to Merchant’s provided endpoint with transaction status.

Our servers will make an HTTP POST request to the CallBackURL provided by the merchant during account registration.

No retry if callback failed.

POST CallBackUrl/
{"InvoiceNo":,
"000-IN01-136-20-150", "ReceiverBank":"INDB", "ReceiverAccount"":"33893900423", "Currency":"INR", "Amount":"45.00", "OriginalAmount":45.00, "PaymentDate":"01/31/2020 12:59:59", "MerchantCode":"merchant002", "RefId":"abc123", "Status":1, "Signature":"9ead452b7c5fe31cc2124c9d2b3dfa26836504ff27273cb522dadeda65314c4f", "StatusMessage":"Success", "DeclineReason":""}
Requests
Headers
Content-Type: application/json
Responses200
UPI CALLBACK - Require Response Base on format below.
Headers
Content-Type: application/json
Body
{
    "error_code": 0,
    "message": "Operation Success"
}
                                    
Schema
{
  "type": "object",
    "properties": {
        "error_code": {
            "enum": [0,1,2,3,4],
            "enumNames": ["Operation Success",
                "Invalid/Incorrect Transaction",
                "Duplicate Transaction",
                "Invalid Parameter",
                "Operation Failed"]
        },
        "message": {
            "type": "string"
        }
    }
}
                                

CallBack
POSTCallBackUrl/{InvoiceNo, ReceiverBank, ReceiverAccount, Currency, Amount, OriginalAmount, PaymentDate, MerchantCode, RefId, Status, Signature, StatusMessage, DeclineReason}

URI Parameters
HideShow
InvoiceNo
string (required) Example: 000-IN01-136-20-150

An unique identifier for the contract involved

ReceiverBank
string (required) Example: INDB

The client’s bank code

ReceiverAccount
string (required) Example: 33893900423

The client’s bank account number

Currency
ISO-4217 (required) Example: INR

The transaction’s currency

Amount
string (required) Example: 45.01

Amount credit to Receiver bank account

OriginalAmount
float (required) Example: 45.00

Original amount credit to Receiver bank account

PaymentDate
MM/dd/yyyy H:i:s Timezone (required) 

Example: 01/31/2020 12:59:59

Payment date at the timezone of the API key’s owner

MerchantCode
string (required) Example: merchant002

Merchant Username

RefId
string (required) Example: abc123

Merchant provided transaction identifier

Status
integer (required) Example: 1

Latest transaction status

[0 = "Pending", 1 = "Success", 2 = "Rejected", 3 = "Manual Approve"]

Signature
string (required) Example: 56c7e1f...

hash_hmac() with sha256 of ‘InvoiceNo + ReceiverBank + ReceiverAccount + Currency + Amount + PaymentDate’ signed with your API Key

StatusMessage
string (required) Example: Success

The status message of the transaction status

DeclineReason
string (required) Example: Transaction rejected. Please provide bank slip to customer service if payment is done.

The reason of transaction being rejected.


Update UTR

Insert UTR number in the request payload to update UTR (only update first UTR request).

POST UpdateUTR/
{"merchant_code":
"merchant002", "ref_id":"abc123", "refNum":"123456789012", "invoice":"000-IN01-136-20-150", "hash":"9ead452b7c5fe31cc2124c9d2b3dfa26836504ff27273cb522dadeda65314c4f"}
Responses200
Headers
Content-Type: application/json
Body
{
    "error_code": 0,
    "message": "Operation Success"
}
    
Schema
{
    "type": "object",
    "properties": {
        "error_code": {
            "enum": [0,102,108,112,113,305],
            "enumNames": ["Operation Success",
                "Invalid Hash",
                "Duplicate Transaction",
                "Invalid Merchant provider",
                "Invalid Invoice",
                "Invalid UTR No",
                "Transaction already has reference"]
        },
        "message": {
            "type": "string"
        }
    }
}
                                

UpdateUTR
POSTBankBot/UpdateUTR/{merchant_code, ref_id, refNum, invoice, hash}

URI Parameters
HideShow
merchant_code
string (required) Example: merchant002

Merchant Username

ref_id
string (required) Example: abc123

Merchant provided transaction identifier(Unique Key)

refNum
string (required) Example: 123456789012

The respective transaction's UTR number

invoice
string (required) Example: 000-IN01-136-20-150

An unique identifier for the contract involved

hash
string (required) Example: 9ead452b7c5fe31cc2124c9d2b3dfa26836504ff27273cb522dadeda65314c4f

hash_hmac() with sha256 of ‘merchant_code + invoice + refNum + refId’ signed with your API Key


DuitNow (MYR-Static)

This is the API for initiating a DuitNow static QR scan, checking the status, and callback function

Start

Initiate a DuitNow pay.

POST DuitNow/Deposit/
{"merchant_code":
"merchant002", "ref_id":"abc123", "player_username":"Nicolas Teach", "player_ip":"192.168.0.202", "currency_code":"MYR", "amount":"45.00", "client_url":"www.yoururl.com", "hash":"9ead452b7c5fe31cc2124c9d2b3dfa26836504ff27273cb522dadeda65314c4f", "lang":"en"}
Responses200
Headers
Content-Type: application/json
Body
{
  "error_code": 0,
  "error_message": "Operation Success",
  "invoice_number": "000-MY05-136-20-150",
  "currency_code": "MYR",
  "amount": "44.99",
  "token": "Cj7XjYTFfa9gzPPhLNVOpJq2dgve%2FDAk0OCAbHya",
  "redirect_to": "https://<'host'>/QRPay/QRImage?TOKEN=Cj7XjYTFfa9gzPPhLNVOpJq2dgve%2FDAk0OCAbHya"
}
                                
Schema
{
  "type": "object",
    "properties": {
        "error_code": {
            "enum": [0,1,102,103,104,105,201,205,206,207,209,210,211,214,215,216,301],
            "enumNames": ["Operation Success",
                "Invalid parameter(s)",
                "Invalid hash",
                "Invalid IP",
                "Amount less than or equal to zero",
                "Decimal point must be zero",
                "Duplicate Reference Id",
                "Minimum deposit limit is x.xx",
                "Bank is unavailable at the moment",
                "Failed to Access Bank",
                "Unavailable at the moment",
                "Merchant's Bank Account Not Available",
                "Maximum deposit limit is x.xx",
                "Bank Is Under Maintenance",
                "We're busy in another transaction. Please try it again later",
                "Your account is blacklisted. Please contact administrator. ",
                "Failed to Save Transaction"]
        },
        "error_message": {
      "type": "string"
    },
    "invoice_number": {
      "type": "string"
    },
        "currency_code": {
      "type": "string"
    },
        "amount": {
      "type": "decimal"
    },
        "token": {
      "type": "string"
    },
    "redirect_to": {
      "type": "string"
    }
    }
}
                                

Deposit
POSTDuitNow/Deposit/{?merchant_code, ref_id, player_username, player_ip, currency_code, amount, client_url, hash, lang}

URI Parameters
HideShow
merchant_code
string (required) Example: merchant002

Merchant Username

ref_id
string (required) Example: abc123

Merchant provided transaction identifier(Unique Key)

player_username
string (required) Example: Nicolas Teach

The client’s player user name

player_ip
string (required) Example: 192.168.0.202

The client’s player ip

currency_code
ISO-4217 (required) Example: MYR

The transaction’s currency

amount
string (required) Example: 45.00

Amount credit to beneficiary bank account. Decimal point must be zero.

client_url
string (optional) Example: www.yoururl.com

The client’s page url

hash
string (required) Example: 56c7e1f...

hash_hmac() with sha256 of ‘merchant_code + ref_id + player_username + player_ip + currency_code + amount + client_url’ signed with your API Key

lang
string (optional) Example: en/my

The language which will display in the QR Page. en = English, my = Bahasa Malaysia


Status

Check the transaction’s status

POST https://<'host'>/DuitNow/CheckStatus
{"merchant_code":
"merchant002", "ref_id":
"abc123", "hash":"9ead452b7c5fe31cc2124c9d2b3dfa26836504ff27273cb522dadeda65314c4f"}
Requestsexample 1
Responses0
Headers
Content-Type: application/json
Body
{
    "error_code": 0,
    "error_message": OperationSuccess,
    "invoice_number": "000-MY05-136-20-150",
    "status_code": 0,
    "status_message": "Pending",
    "currency_code": "MYR",
    "amount": 45.00,
    "submission_date": "2020-11-05T10:54:11.5908783Z",
    "payment_date": "2020-11-05T10:54:11.5908783Z",
    "beneficiary_bank_code": "HLBB",
    "beneficiary_account": "888999000",
    "beneficiary_name": "James Brooks"
}
Schema
{
  "type": "object",
    "properties": {
        "error_code": {
            "type": "integer"
        },
        "error_message": {
            "type": "string"
        },
        "invoice_number": {
            "type": "string"
        },
        "status_code": {
            "type": "integer"
            "Enum": "0,1,2,3,4"
        },
        "status_message": {
            "type": "string"
            "EnumName": "Pending,Success,Rejected,Manual Approved,TimeOut"
        },
        "currency_code": {
            "type": "string"
        },
        "amount": {
            "type": "float"
        },
        "submission_date": {
            "type": "datetime"
        },
        "payment_date": {
            "type": "datetime"
        },
        "beneficiary_bank_code": {
            "type": "string"
        },
        "beneficiary_account": {
            "type": "string"
        },        
        "beneficiary_name": {
            "type": "string"
        }
    }
}

Status
POST/DuitNow/CheckStatus{merchant_code,ref_id,hash}

URI Parameters
HideShow
merchant_code
string(20) (required) Example: merchant002

Merchant Username

ref_id
string(50) (required) Example: abc123

Merchant provided transaction identifier

hash
string (required) Example: 9ead452b7c5fe31cc2124c9d2b3dfa26836504ff27273cb522dadeda65314c4f

hash_hmac() with sha256 of ‘merchant_code + ref_id’ signed with your API Key


CallBack

Automatic callback to Merchant’s provided endpoint with transaction status.

Our servers will make an HTTP POST request to the CallBackURL provided by the merchant during account registration.

No retry if callback failed.

POST CallBackUrl/
{"InvoiceNo":,
"000-MY05-136-20-150", "ReceiverBank":"HLBB", "ReceiverAccount"":"33893900423", "Currency":"MYR", "Amount":"45.00", "OriginalAmount":45.00, "PaymentDate":"01/31/2020 12:59:59", "MerchantCode":"merchant002", "RefId":"abc123", "Status":1, "Signature":"9ead452b7c5fe31cc2124c9d2b3dfa26836504ff27273cb522dadeda65314c4f", "StatusMessage":"Success", "DeclineReason":""}
Requests
Headers
Content-Type: application/json
Responses200
DUITNOW CALLBACK - Require Response Base on format below.
Headers
Content-Type: application/json
Body
{
  "error_code": 0,
  "message": "Operation Success"
}
                                    
Schema
{
  "type": "object",
    "properties": {
        "error_code": {
            "enum": [0,1,2,3,4],
            "enumNames": ["Operation Success",
                "Invalid/Incorrect Transaction",
                "Duplicate Transaction",
                "Invalid Parameter",
                "Operation Failed"]
        },
        "message": {
            "type": "string"
        }
    }
}
                                    

CallBack
POSTCallBackUrl/{InvoiceNo, ReceiverBank, ReceiverAccount, Currency, Amount, OriginalAmount, PaymentDate, MerchantCode, RefId, Status, Signature, StatusMessage, DeclineReason}

URI Parameters
HideShow
InvoiceNo
string (required) Example: 000-MY05-136-20-150

An unique identifier for the contract involved

ReceiverBank
string (required) Example: HLBB

The client’s bank code

ReceiverAccount
string (required) Example: 33893900423

The client’s bank account number

Currency
ISO-4217 (required) Example: MYR

The transaction’s currency

Amount
string (required) Example: 45.01

Amount credit to Receiver bank account

OriginalAmount
float (required) Example: 45.00

Original amount credit to Receiver bank account

PaymentDate
MM/dd/yyyy H:i:s Timezone (required) 

Example: 01/31/2020 12:59:59

Payment date at the timezone of the API key’s owner

MerchantCode
string (required) Example: merchant002

Merchant Username

RefId
string (required) Example: abc123

Merchant provided transaction identifier

Status
integer (required) Example: 1

Latest transaction status

[0 = "Pending", 1 = "Success", 2 = "Rejected", 3 = "Manual Approve"]

Signature
string (required) Example: 56c7e1f...

hash_hmac() with sha256 of ‘InvoiceNo + ReceiverBank + ReceiverAccount + Currency + Amount + PaymentDate’ signed with your API Key

StatusMessage
string (required) Example: Success

The status message of the transaction status

DeclineReason
string (required) Example: Transaction rejected. Please provide bank slip to customer service if payment is done.

The reason of transaction being rejected.


DuitNow V2 (MYR-Dynamic)

This is the API for initiating a DuitNow V2 dynamic QR scan, checking the status, and callback function

Start

Initiate a DuitNow V2 pay.

POST DuitNow/DepositV2/
{"merchant_code":
"merchant002", "ref_id":"abc123", "player_username":"Nicolas Teach", "player_ip":"192.168.0.202", "currency_code":"MYR", "amount":"45.00", "client_url":"www.yoururl.com", "hash":"9ead452b7c5fe31cc2124c9d2b3dfa26836504ff27273cb522dadeda65314c4f", "lang":"en"}
Responses200
Headers
Content-Type: application/json
Body
{
  "error_code": 0,
  "error_message": "Operation Success",
  "invoice_number": "000-MY05-136-20-150",
  "currency_code": "MYR",
  "amount": "44.99",
  "token": "Cj7XjYTFfa9gzPPhLNVOpJq2dgve%2FDAk0OCAbHya",
  "redirect_to": "https://<'host'>/QRPay/QRImage?TOKEN=Cj7XjYTFfa9gzPPhLNVOpJq2dgve%2FDAk0OCAbHya"
}
                                
Schema
{
  "type": "object",
    "properties": {
        "error_code": {
            "enum": [0,1,102,103,104,105,201,205,206,207,209,210,211,214,215,216,301],
            "enumNames": ["Operation Success",
                "Invalid parameter(s)",
                "Invalid hash",
                "Invalid IP",
                "Amount less than or equal to zero",
                "Decimal point must be zero",
                "Duplicate Reference Id",
                "Minimum deposit limit is x.xx",
                "Bank is unavailable at the moment",
                "Failed to Access Bank",
                "Unavailable at the moment",
                "Merchant's Bank Account Not Available",
                "Maximum deposit limit is x.xx",
                "Bank Is Under Maintenance",
                "We're busy in another transaction. Please try it again later",
                "Your account is blacklisted. Please contact administrator. ",
                "Failed to Save Transaction"]
        },
        "error_message": {
      "type": "string"
    },
    "invoice_number": {
      "type": "string"
    },
        "currency_code": {
      "type": "string"
    },
        "amount": {
      "type": "decimal"
    },
        "token": {
      "type": "string"
    },
    "redirect_to": {
      "type": "string"
    }
    }
}
                                

Deposit
POSTDuitNow/DepositV2/{?merchant_code, ref_id, player_username, player_ip, currency_code, amount, client_url, hash, lang}

URI Parameters
HideShow
merchant_code
string (required) Example: merchant002

Merchant Username

ref_id
string (required) Example: abc123

Merchant provided transaction identifier(Unique Key)

player_username
string (required) Example: Nicolas Teach

The client’s player user name

player_ip
string (required) Example: 192.168.0.202

The client’s player ip

currency_code
ISO-4217 (required) Example: MYR

The transaction’s currency

amount
string (required) Example: 45.00

Amount credit to beneficiary bank account. Decimal point must be zero.

client_url
string (optional) Example: www.yoururl.com

The client’s page url

hash
string (required) Example: 56c7e1f...

hash_hmac() with sha256 of ‘merchant_code + ref_id + player_username + player_ip + currency_code + amount + client_url’ signed with your API Key

lang
string (optional) Example: en/my

The language which will display in the QR Page. en = English, my = Bahasa Malaysia


Manual Payin THB

This is the API for initiating a Manual Payin, checking the status, and callback function

Start

Initiate a manual payin.

POST https://<'host'>/BankBot/ManualPayinDeposit/
{"merchant_code":
"merchant001", "ref_id": "abc123", "player_username": "David Joe", "player_ip": "123.456.789.01", "currency_code": "THB", "amount": 45.00, "client_url": "www.google.com", "hash": "9ead452b7c5fe31cc2124c9d2b3dfa26836504ff27273cb511caceda65314c4f"}
Responses200
Headers
Content-Type: application/json
Body
{
  "error_code": 0,
  "error_message": "Operation Success",
  "invoice_number": "000-TH04-126-20-140",
  "currency_code": "THB",
  "amount": 45.00,
  "token": "P4tXjYTFfa9gzPPhLNVOpJq2dgve%2FDAk0OCHylJ",
  "redirect_to": "https://<'host'>/ManualTransfer/Index?TOKEN=P4tXjYTFfa9gzPPhLNVOpJq2dgve%2FDAk0OCHylJ"
}
                                
Schema
{
  "type": "object",
    "properties": {
        "error_code": {
            "enum": [0,1,102,103,104,105,201,205,206,207,209,211,301],
            "enumNames": ["Operation Success",
                "Invalid parameter(s)",
                "Invalid hash",
                "Invalid IP",
                "Amount less than or equal to zero",
                "Decimal point must be zero",
                "Duplicate Reference Id",
                "Minimum deposit limit is x.xx",
                "Bank is unavailable at the moment",
                "Failed to Access Bank",
                "Unavailable at the moment",
                "Maximum deposit limit is x.xx",
                "Failed to Save Transaction"]
        },
        "error_message": {
      "type": "string"
    },
    "invoice_number": {
      "type": "string"
    },
        "currency_code": {
      "type": "string"
    },
        "amount": {
      "type": "decimal"
    },
        "token": {
      "type": "string"
    },
    "redirect_to": {
      "type": "string"
    }
    }
}
                                

ManualPayinDeposit
POSTBankBot/ManualPayinDeposit/{?merchant_code, ref_id, player_username, player_ip, currency_code, amount, client_url, hash}

URI Parameters
HideShow
merchant_code
string (required) Example: merchant001

Merchant Username

ref_id
string (required) Example: abc123

Merchant provided transaction identifier(Unique Key)

player_username
string (required) Example: David Joe

The client’s player user name

player_ip
string (required) Example: 123.456.789.01

The client’s player ip

currency_code
ISO-4217 (required) Example: THB

The transaction’s currency

amount
float (required) Example: 45.00

Amount credit to beneficiary bank account. Decimal point must be zero.

client_url
string (optional) Example: www.google.com

The client’s page url

hash
string (required) Example: 56c7e1f...

hash_hmac() with sha256 of ‘merchant_code + ref_id + player_username + player_ip + currency_code + amount + client_url’ signed with your API Key


Status

Check the transaction’s status

POST https://<'host'>/BankBot/CheckManualPayinStatus
{"merchant_code":
"multimerchant5", "ref_id":"5805", "hash":"3e5ff3b4a4868c151ea62494820295129b4e0b8cabdb51c1850b3159fd280566"}
Requestsexample 1
Responses0
Headers
Content-Type: application/json
Body
{
    "error_code": 0,
    "error_message": OperationSuccess,
    "invoice_number": "000-TH04-126-20-148",
    "status_code": 0,
    "status_message": "Pending",
    "currency_code": "THB",
    "amount": 19.00,
    "submission_date": "2020-05-05T10:54:11.5908783Z",
    "payment_date": "2020-05-05T10:54:11.5908783Z",
    "beneficiary_bank_code": "BKKB",
    "beneficiary_account": "888999000",
    "beneficiary_name": "Jimmy Walter"
}
Schema
{
  "type": "object",
    "properties": {
        "error_code": {
            "type": "integer"
        },
        "error_message": {
            "type": "string"
        },
        "invoice_number": {
            "type": "string"
        },
        "status_code": {
            "type": "integer"
            "Enum": "0,1,2,3,4"
        },
        "status_message": {
            "type": "string"
            "EnumName": "Pending,Success,Rejected,Manual Approved,TimeOut"
        },
        "currency_code": {
            "type": "string"
        },
        "amount": {
            "type": "float"
        },
        "submission_date": {
            "type": "datetime"
        },
        "payment_date": {
            "type": "datetime"
        },
        "beneficiary_bank_code": {
            "type": "string"
        },
        "beneficiary_account": {
            "type": "string"
        },        
        "beneficiary_name": {
            "type": "string"
        }
    }
}

Status
POST/BankBot/CheckManualPayinStatus{merchant_code,ref_id,hash}

URI Parameters
HideShow
merchant_code
string(20) (required) Example: multimerchant5

Merchant Username

ref_id
string(50) (required) Example: abc123

Merchant provided transaction identifier

hash
string (required) Example: a24a49b8e5757d339878dae8f5d5e6126d74d73c40929ca3af4253446f94113e

hash_hmac() with sha256 of ‘merchant_code + ref_id’ signed with your API Key


CallBack

Automatic callback to Merchant’s provided endpoint with transaction status.

Our servers will make an HTTP POST request to the CallBackURL provided by the merchant during account registration.

No retry if callback failed.

POST CallBackUrl/{"InvoiceNo": "000-TH04-288-20-001", "ReceiverBank": "BKKB", "ReceiverAccount": "1413941000030123", "Currency": "THB", "Amount": 45.00, "OriginalAmount": 45.00, "PaymentDate": "2020-01-31 12:59:59", "MerchantCode": "merchant001", "RefId": "abc123", "Status": 1, "Signature": "9ead452b7c5fe31cc2124c9d2b3dfa26836504ff27273cb511caceda65314c4f", "StatusMessage":"Success", "DeclineReason":""}
Requests
Headers
Content-Type: application/json
Responses200
MANUAL PAYIN CALLBACK - Require Response Base on format below.
Headers
Content-Type: application/json
Body
{
  "error_code": 0,
  "message": "Operation Success"
}
                                    
Schema
{
  "type": "object",
    "properties": {
        "error_code": {
            "enum": [0,1,2,3,4],
            "enumNames": ["Operation Success",
                "Invalid/Incorrect Transaction",
                "Duplicate Transaction",
                "Invalid Parameter",
                "Operation Failed"]
        },
        "message": {
            "type": "string"
        }
    }
}
                                    

CallBack
POSTCallBackUrl/{?InvoiceNo, ReceiverBank, ReceiverAccount, Currency, Amount, OriginalAmount, PaymentDate, MerchantCode, RefId, Status, Signature, StatusMessage, DeclineReason}

URI Parameters
HideShow
InvoiceNo
string (required) Example: 000-TH04-126-20-140

An unique identifier for the contract involved

ReceiverBank
string (required) Example: BKKB

The client’s bank code

ReceiverAccount
string (required) Example: 1413941000030123

The client’s bank account number

Currency
ISO-4217 (required) Example: THB

The transaction’s currency

Amount
float (required) Example: 45.99

Amount credit to Receiver bank account

OriginalAmount
float (required) Example: 45.99

Original amount credit to Receiver bank account

PaymentDate
Y-m-d H:i:s Timezone (required) Example: 2020-01-31 12:59:59

Payment date at the timezone of the API key’s owner

MerchantCode
string (required) Example: merchant001

Merchant Username

RefId
string (required) Example: abc123

Merchant provided transaction identifier

Status
integer (required) Example: 1

Latest transaction status

[0 = "Pending", 1 = "Success", 2 = "Rejected", 3 = "Manual Approve"]

Signature
string (required) Example: 56c7e1f...

hash_hmac() with sha256 of ‘InvoiceNo + ReceiverBank + ReceiverAccount + Currency + Amount + PaymentDate’ signed with your API Key

StatusMessage
string (required) Example: Success

The status message of the transaction status

DeclineReason
string (required) Example: Transaction rejected. Please provide bank slip to customer service if payment is done.

The reason of transaction being rejected.


Data Model

Payout Response Code

Response Code

Code Description
-1 Operation failed
0 Operation success
2 Transfer process is incomplete. Please re-submit payout.
2 Invalid Beneficiary info
2 The beneficiary bank unable to use IMPS transfer now. Kindly submit again after 30mins.
2 Bank is under maintenance. Please retry in 30 mins.
2 Invalid Bank Account Number
2 Incorrect Bank Account Name
2 Bank Refund
2 Blacklisted Bank Account
2 Merchant Request To Cancel This Payout Request
2 Bank Rejected The Transaction
2 Bank Connection Issue
2 Bank Maintenance
2 Bank Rejected The Transaction due to beneficiary is dormant account.
100 Invalid parameter(s)
100 IFSC must in 11-digit alpha-numeric code
101 Duplicate Reference Id
102 Invalid hash
103 Invalid IP
104 Amount less than or equal to zero
107 Invalid Key
203 Minimum withdrawal limit
204 Maximum withdrawal limit
206 Transaction Not Found
301 Reach Daily Withdrawal Limit
302 There is pending withdrawal
303 This bank account is blacklisted. Please contact administrator
401 Merchant balance is low. Remaining balance
408 Bank Is Under Maintenance
901 System maintenance

Encryption

SHA 256

C# Sample
public string hash_hmac(string signatureString, string secretKey)
{
var enc = Encoding.UTF8;
HMACSHA256 hmac = new HMACSHA256(enc.GetBytes(secretKey));
hmac.Initialize();
byte[] buffer = enc.GetBytes(signatureString);
return BitConverter.ToString(hmac.ComputeHash(buffer)).Replace("-", "").ToLower();
}



Generated  on 23 Jun 2020