Company Payment API (1.2.2)

Download OpenAPI specification:

List bank codes

Authorizations:
ApiKeyAuth

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "status": 0,
  • "message": "string",
  • "success": true,
  • "code": 0
}

Get Available PayIn Channels

Authorizations:
ApiKeyAuth

Responses

Response samples

Content type
application/json
{
  • "channels": [
    ],
  • "status": 0,
  • "message": "string",
  • "success": true,
  • "code": 0
}

Get Available PayOut Channels

Authorizations:
ApiKeyAuth

Responses

Response samples

Content type
application/json
{
  • "channels": [
    ],
  • "status": 0,
  • "message": "string",
  • "success": true,
  • "code": 0
}

Create PayIn

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required

Create PayIn

channel
required
string
Enum: "PPQR" "PPQR30" "TRANSFER"

Payment Channel Type

  • PPQR: Promptpay QR AnyID
  • PPQR30: Promptpay QR Billing ID
  • TRANSFER: Transfer to Bank Account (Bank + Account Number)
type
required
string
Value: "PAYIN"

Must be PAYIN

externalRefId
required
string

External Reference ID (your internal transaction ID)

required
string or number
callbackUrl
required
string

Callback URL to receive payment status notification

memberName
string

Optional member name

memberPhoneNumber
string

Optional customer phone number

peerBank
required
string
Enum: "BBL" "KBANK" "KTB" "TTB" "SCB" "CIMB" "UOB" "BAY" "GSB" "GHB" "BAAC" "EXIM" "IBANK" "TISCO" "KK" "ICBC" "LH" "SME"

Customer bank code for match and verify incoming, call /bankCodes API to get full list

peerAccountNumber
required
string

Customer account number for match and verify incoming transfer

signature
string

MD5 hash signature, required if your account has signature verification enabled. THIS CAN ONLY PREVENT MITM ATTACK, YOU ALSO NEED TO KEEP SIGN KEY SECURE.

Responses

Callbacks

Request samples

Content type
application/json
{
  • "channel": "PPQR",
  • "type": "PAYIN",
  • "externalRefId": "string",
  • "requestedAmount": "string",
  • "callbackUrl": "string",
  • "memberName": "string",
  • "memberPhoneNumber": "string",
  • "peerBank": "BBL",
  • "peerAccountNumber": "string",
  • "signature": "string"
}

Response samples

Content type
application/json
{
  • "transaction": {
    },
  • "status": 0,
  • "message": "string",
  • "success": true,
  • "code": 0
}

Callback payload samples

Callback
POST: {$request.body#/callbackUrl}
Content type
application/json
{
  • "signature": "string",
  • "companyName": "string",
  • "type": "PAYIN",
  • "status": "PENDING",
  • "refId": "string",
  • "externalRefId": "string",
  • "providerRefId": "string",
  • "memberName": "string",
  • "memberPhoneNumber": "string",
  • "peerBank": "string",
  • "peerAccountNumber": "string",
  • "requestedAmount": "string",
  • "requestTime": "2019-08-24T14:15:22Z",
  • "amount": "string",
  • "confirmedAmount": "string",
  • "accountBalanceBefore": "string",
  • "accountBalanceAfter": "string",
  • "fee": "string",
  • "feePercent": "string",
  • "confirmStatus": "PENDING",
  • "confirmAt": "2019-08-24T14:15:22Z",
  • "confirmBy": "string",
  • "transactionTime": "2019-08-24T14:15:22Z",
  • "transactionRemark": "string",
  • "qrRawData": "string",
  • "qrImage": "string",
  • "qrImageType": "string",
  • "qrUrl": "string",
  • "bank": "string",
  • "accountNumber": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Create PayOut

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required

Create PayOut

channel
required
string
Value: "TRANSFER"

Transfer Channel Type

  • TRANSFER: Transfer to Bank Account
type
required
string
Value: "PAYOUT"

must be PAYOUT

externalRefId
required
string
required
string or number
callbackUrl
required
string

Callback URL to receive payment status notification

memberName
string
memberPhoneNumber
string
peerBank
required
string
Enum: "BBL" "KBANK" "KTB" "TTB" "SCB" "CIMB" "UOB" "BAY" "GSB" "GHB" "BAAC" "EXIM" "IBANK" "TISCO" "KK" "ICBC" "LH" "SME"

Bank Code for Transfer, call /bankCodes API to get full list

peerAccountNumber
required
string

Bank Account Number for

signature
string

MD5 hash signature, required if your account has signature verification enabled. THIS CAN ONLY PREVENT MITM ATTACK, YOU ALSO NEED TO KEEP SIGN KEY SECURE.

Responses

Callbacks

Request samples

Content type
application/json
{
  • "channel": "TRANSFER",
  • "type": "PAYOUT",
  • "externalRefId": "string",
  • "requestedAmount": "string",
  • "callbackUrl": "string",
  • "memberName": "string",
  • "memberPhoneNumber": "string",
  • "peerBank": "BBL",
  • "peerAccountNumber": "string",
  • "signature": "string"
}

Response samples

Content type
application/json
{
  • "transaction": {
    },
  • "status": 0,
  • "message": "string",
  • "success": true,
  • "code": 0
}

Callback payload samples

Callback
POST: {$request.body#/callbackUrl}
Content type
application/json
{
  • "signature": "string",
  • "companyName": "string",
  • "type": "PAYIN",
  • "status": "PENDING",
  • "refId": "string",
  • "externalRefId": "string",
  • "providerRefId": "string",
  • "memberName": "string",
  • "memberPhoneNumber": "string",
  • "peerBank": "string",
  • "peerAccountNumber": "string",
  • "requestedAmount": "string",
  • "requestTime": "2019-08-24T14:15:22Z",
  • "amount": "string",
  • "confirmedAmount": "string",
  • "accountBalanceBefore": "string",
  • "accountBalanceAfter": "string",
  • "fee": "string",
  • "feePercent": "string",
  • "confirmStatus": "PENDING",
  • "confirmAt": "2019-08-24T14:15:22Z",
  • "confirmBy": "string",
  • "transactionTime": "2019-08-24T14:15:22Z",
  • "transactionRemark": "string",
  • "qrRawData": "string",
  • "qrImage": "string",
  • "qrImageType": "string",
  • "qrUrl": "string",
  • "bank": "string",
  • "accountNumber": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Request Payment Status Callback by refId (Asynchronous)

Authorizations:
ApiKeyAuth
path Parameters
refId
required
string

transaction refId for status check

Responses

Callbacks

Response samples

Content type
application/json
{
  • "status": 0,
  • "message": "string",
  • "success": true,
  • "code": 0
}

Callback payload samples

Callback
POST: {$request.body#/callbackUrl}
Content type
application/json
{
  • "signature": "string",
  • "companyName": "string",
  • "type": "PAYIN",
  • "status": "PENDING",
  • "refId": "string",
  • "externalRefId": "string",
  • "providerRefId": "string",
  • "memberName": "string",
  • "memberPhoneNumber": "string",
  • "peerBank": "string",
  • "peerAccountNumber": "string",
  • "requestedAmount": "string",
  • "requestTime": "2019-08-24T14:15:22Z",
  • "amount": "string",
  • "confirmedAmount": "string",
  • "accountBalanceBefore": "string",
  • "accountBalanceAfter": "string",
  • "fee": "string",
  • "feePercent": "string",
  • "confirmStatus": "PENDING",
  • "confirmAt": "2019-08-24T14:15:22Z",
  • "confirmBy": "string",
  • "transactionTime": "2019-08-24T14:15:22Z",
  • "transactionRemark": "string",
  • "qrRawData": "string",
  • "qrImage": "string",
  • "qrImageType": "string",
  • "qrUrl": "string",
  • "bank": "string",
  • "accountNumber": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Request Payment Status Callback by externalRefId (Asynchronous)

Authorizations:
ApiKeyAuth
path Parameters
externalRefId
required
string

transaction externalRefId for status check

Responses

Callbacks

Response samples

Content type
application/json
{
  • "status": 0,
  • "message": "string",
  • "success": true,
  • "code": 0
}

Callback payload samples

Callback
POST: {$request.body#/callbackUrl}
Content type
application/json
{
  • "signature": "string",
  • "companyName": "string",
  • "type": "PAYIN",
  • "status": "PENDING",
  • "refId": "string",
  • "externalRefId": "string",
  • "providerRefId": "string",
  • "memberName": "string",
  • "memberPhoneNumber": "string",
  • "peerBank": "string",
  • "peerAccountNumber": "string",
  • "requestedAmount": "string",
  • "requestTime": "2019-08-24T14:15:22Z",
  • "amount": "string",
  • "confirmedAmount": "string",
  • "accountBalanceBefore": "string",
  • "accountBalanceAfter": "string",
  • "fee": "string",
  • "feePercent": "string",
  • "confirmStatus": "PENDING",
  • "confirmAt": "2019-08-24T14:15:22Z",
  • "confirmBy": "string",
  • "transactionTime": "2019-08-24T14:15:22Z",
  • "transactionRemark": "string",
  • "qrRawData": "string",
  • "qrImage": "string",
  • "qrImageType": "string",
  • "qrUrl": "string",
  • "bank": "string",
  • "accountNumber": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Request Payment Status by refId (Synchronous)

Authorizations:
ApiKeyAuth
path Parameters
refId
required
string

transaction refId for status check

Responses

Response samples

Content type
application/json
{
  • "transaction": {
    },
  • "status": 0,
  • "message": "string",
  • "success": true,
  • "code": 0
}

Request Payment Status by externalRefId (Synchronous)

Authorizations:
ApiKeyAuth
path Parameters
externalRefId
required
string

transaction exteranlRefId for status check

Responses

Response samples

Content type
application/json
{
  • "transaction": {
    },
  • "status": 0,
  • "message": "string",
  • "success": true,
  • "code": 0
}

Get accounts balance

Authorizations:
ApiKeyAuth

Responses

Response samples

Content type
application/json
{
  • "accounts": [
    ],
  • "status": 0,
  • "message": "string",
  • "success": true,
  • "code": 0
}