Indonesia🇮🇩
Interface Description
Access flow chart

X-API-KEY
carries your public key, and we use this public key to verify that the message is signed by your private key.X-RESP-SIGNATURE
in the request header. You can use it. The system publicKey verification message is sent by us.common problem
1.
2.
3.
Signature algorithm

TarsPay's API requests, except for public APIs, need to carry API key and signature.
HTTP_METHOD + | + HTTP_REQUEST_PATH + | + TIMESTAMP + | + PARAMS
HTTP_HOST
HTTP_METHOD
HTTP_REQUEST_PATH
NONCE
PARAMS
Complete example
Method | URL | Nonce |
---|---|---|
POST | https://payment.tasrspay.com/api/v1/test | 1537498830736 |
Parameter | value |
---|---|
amount | 100 |
price | 100 |
1.
Tip: content does not require URLEncode
2.
3.
The TarsPay signature verification public key can be obtained from the "Web Management Interface - Account Management - apikey" page
Return description
Return results
Name | Type | Description |
---|---|---|
code | integer | Response code 0 indicates success, otherwise failure |
data | object | response data |
msg | string | Response message |
Return to example
{
"code": 0,
"data": {},
"msg": "SUCCESS"
}
Collection
Collection type
Encoding | Description |
---|---|
bank | bank VA |
market | market VA |
ewallet | ewallet |
qris | Scan Code |
Payment method code
Internet banking type coding
Bank code | Bank name |
---|---|
BANK_BCA | BANK BCA |
BANK_BNI | BANK BNI |
BANK_BRI | BANK BRI |
BANK_BSS | BANK BSS |
BANK_CIMB | BANK CIMB |
BANK_MANDIRI | BANK MANDIRI |
BANK_MAY | BANK MAY |
BANK_PERMATA | BANK PERMATA |
Electronic wallet (ewallet) type encoding
E-wallet code | E-wallet name |
---|---|
EWALLET_DANA | EWALLET DANA |
EWALLET_GOPAY | EWALLET GOPAY |
EWALLET_LINKAJA | EWALLET LINKAJA |
EWALLET_OVO | EWALLET OVO |
EWALLET_SHOPEEPAY | EWALLET SHOPEEPAY |
Scan code (qr) type encoding
Scan code | Scan code name |
---|---|
QRIS | QRIS |
mart type code
Recharge card code | Recharge card name |
---|---|
MART_ALFA | MART ALFA |
MART_INDO | MART INDO |
POST collection and unified order placement
Body request parameters
{
"amount": "100",
"body": "test",
"currency": "IDR",
"customerAccountNumber": "123456789",
"customerContact": "15221111111",
"customerEmail": "xxxx@gmail.com",
"customerName": "xxxx",
"mchNo": "80002",
"mchOrderNo": "M202207131958",
"notifyUrl": "https://www.yourcompany.com/notify",
"returnUrl": "https://www.yourcompany.com/return",
"subject": "test",
"wayCode": "BANK_BCA"
}
Request parameters
Name | Location | Type | Required | Description |
---|---|---|---|---|
X-API-KEY | header | string | Y | public key |
X-API-NONCE | header | string | Y | Request time (timestamp, accurate to milliseconds) |
X-API-SIGNATURE | header | string | Y | signature (refer to signature algorithm) |
mchNo | body | string | Y | merchant number |
mchOrderNo | body | string | Y | merchant order number (customized by merchant, cannot be repeated) |
wayCode | body | string | Y | Payment method code - Cashier: CASHIER (use the cashier of this system) - Non-cashier: refer to [Payment method code] (#Payment method code) (The merchant maintains the checkout counter himself) |
amount | body | string | Y | the amount (no decimals. It cannot be zero and must meet the amount standard.) |
body | body | string | Y | product Description Information |
currency | body | string | Y | currency(IDR) |
notifyUrl | body | string | Y | notification address |
returnUrl | body | string | Y | return address |
customerName | body | string | N | username |
customerEmail | body | string | N | user Email |
customerContact | body | string | N | user phone |
customerAccountNumber | body | string | N | user account number |
Return to example
{
"code": 0,
"data": {
"amount": "5000",
"body": "test",
"countryCode": "id",
"currency": "IDR",
"customerContact": "15221113201",
"mchOrderNo": "202207161603q01",
"orderState": 0,
"payOrderId": "P1551396771600912385",
"payUrl": "https://test.tarspay.com/tarspayToC/#/order/id/P1551396771600912385",
"payWays": {
"bank": [
{
"countryCode": "id",
"payWay": "BANK_PERMATA",
"payWayLogo": "https://tarspay.oss-ap-southeast-1.aliyuncs.com/tarspay_v_1.0/PERMATA.png",
"payWayType": "bank"
}
]
},
"subject": "test"
},
"msg": "SUCCESS",
"sign": "3045022100f32d38d4457295f0ce70376845458ec55a9fad34cce39ae11cd0cdbadd90639e02207d23e33f9b95944fb32923707c30b913063b082995b7e5fb9d8d2369f1ab4e53"
}
Return results
Name | Type | Description |
---|---|---|
amount | string | Bill amount |
countryCode | string | Country code |
currency | string | currency number |
customerContact | string | User contact information |
mchOrderNo | string | Merchant order number |
orderState | integer | Order status 0: order generated, 1: payment in progress, 2: payment successful, 3: payment failed, 6: timeout cancellation, 9: partial payment |
payOrderId | string | Payment order number |
accountName | string | User name, non-cashier mode, only returned when the payment method is online banking, e-wallet and scan code |
typeBank | string | Bank name, non-cashier mode, only returned when the payment method is online banking and scanning QR code |
accountNumber | string | User name, non-cashier mode, only returned when the payment method is online banking, scan code and electronic wallet |
payUrl | string | -When in cashier mode, return the cashier address; -When in non-cashier mode, return the transfer required content |
payData | string | QR code (returned only when not at the cashier, only returned when the payment method is scan code and electronic wallet) |
payWays | array | Payment methods |
Name | Type | Description |
---|---|---|
countryCode | string | Country code |
payWay | string | Payment method code (refer to [Payment method code](#Payment method code)) |
payWayLogo | string | Payment method logo |
payWayType | string | Payment method type (refer to [Collection Type](#Collection Type)) |
payCode | string | QR code/QR code image (returned only when not at the cashier). When the payment type is qr, the QR code image link is returned. When the payment type is ewallet, the QR code data is returned. ) |
Payment code
Payment bank code
Bank & e-wallet code | Bank & e-wallet name |
---|---|
BANK_ABN_AMRO | BANK ABN AMRO |
BANK_ACEH | BANK ACEH |
BANK_ACEH_SYARIAH | BANK ACEH SYARIAH |
BANK_AGRIS | BANK AGRIS |
BANK_ALADIN_SYARIAH | BANK ALADIN SYARIAH |
BANK_ALADIN_SYARIAH_TBK | BANK ALADIN SYARIAH TBK |
BANK_ALLO_INDONESIA | BANK ALLO INDONESIA |
BANK_AMAR_INDONESIA | BANK AMAR INDONESIA |
BANK_ANDARA | BANK ANDARA |
BANK_ANGLOMAS_INTERNATIONAL | BANK ANGLOMAS INTERNATIONAL |
BANK_ANTAR_DAERAH | BANK ANTAR DAERAH |
BANK_ANZ_INDONESIA | BANK ANZ INDONESIA |
BANK_ARTHA_GRAHA | BANK ARTHA GRAHA |
BANK_ARTOS_INDONESIA | BANK ARTOS INDONESIA |
BANK_BANGKOK | BANK BANGKOK |
BANK_BANK_BPD_SUMBAR_SYARIAH | BANK BANK BPD SUMBAR SYARIAH |
BANK_BCA | BANK BCA |
BANK_BCA_SYARIAH | BANK BCA SYARIAH |
BANK_BISNIS_INTERNASIONAL | BANK BISNIS INTERNASIONAL |
BANK_BLU | BANK BLU |
BANK_BNI | BANK BNI |
BANK_BNI_SYARIAH | BANK BNI SYARIAH |
BANK_BNP_PARIBAS_INDONESIA | BANK BNP PARIBAS INDONESIA |
BANK_BPD_BALI | BANK BPD BALI |
BANK_BPD_BANTEN | BANK BPD BANTEN |
BANK_BPD_BENGKULU | BANK BPD BENGKULU |
BANK_BPD_JAMBI | BANK BPD JAMBI |
BANK_BPD_JATENG | BANK BPD JATENG |
BANK_BPD_JATENG_SYARIAH | BANK BPD JATENG SYARIAH |
BANK_BPD_JATENG_UUS | BANK BPD JATENG UUS |
BANK_BPD_JAWA_TENGAH | BANK BPD JAWA TENGAH |
BANK_BPD_KALBAR | BANK BPD KALBAR |
BANK_BPD_KALBAR_SYARIAH | BANK BPD KALBAR SYARIAH |
BANK_BPD_KALSEL | BANK BPD KALSEL |
BANK_BPD_KALSEL_SYARIAH | BANK BPD KALSEL SYARIAH |
BANK_BPD_KALTENG | BANK BPD KALTENG |
BANK_BPD_KALTIM | BANK BPD KALTIM |
BANK_BPD_KALTIMTARA | BANK BPD KALTIMTARA |
BANK_BPD_KALTIMTARA_SYARIAH | BANK BPD KALTIMTARA SYARIAH |
BANK_BPD_KALTIM_SYARIAH | BANK BPD KALTIM SYARIAH |
BANK_BPD_LAMPUNG | BANK BPD LAMPUNG |
BANK_BPD_MALUKU | BANK BPD MALUKU |
BANK_BPD_MALUKU_DAN_MALUKU_UTARA | BANK BPD MALUKU DAN MALUKU UTARA |
BANK_BPD_NTB | BANK BPD NTB |
BANK_BPD_NTB_SYARIAH | BANK BPD NTB SYARIAH |
BANK_BPD_NTT | BANK BPD NTT |
BANK_BPD_PAPUA | BANK BPD PAPUA |
BANK_BPD_RIAU_KEPRI | BANK BPD RIAU KEPRI |
BANK_BPD_SULAWESI_TENGAH | BANK BPD SULAWESI TENGAH |
BANK_BPD_SULAWESI_TENGGARA | BANK BPD SULAWESI TENGGARA |
BANK_BPD_SULAWESI_UTARA | BANK BPD SULAWESI UTARA |
BANK_BPD_SUMATERA_BARAT | BANK BPD SUMATERA BARAT |
BANK_BPD_SUMATERA_BARAT_SYARIAH | BANK BPD SUMATERA BARAT SYARIAH |
BANK_BPD_SUMATERA_SELATAN_BABEL | BANK BPD SUMATERA SELATAN BABEL |
BANK_BPD_SUMATERA_SELATAN_SYARIAH | BANK BPD SUMATERA SELATAN SYARIAH |
BANK_BPD_SUMATERA_UTARA | BANK BPD SUMATERA UTARA |
BANK_BPD_SUMBAR | BANK BPD SUMBAR |
BANK_BPD_SUMSEL_BABEL | BANK BPD SUMSEL BABEL |
BANK_BPD_SUMSEL_BABEL_SYARIAH | BANK BPD SUMSEL BABEL SYARIAH |
BANK_BPD_SUMUT | BANK BPD SUMUT |
BANK_BPD_SUMUT_SYARIAH | BANK BPD SUMUT SYARIAH |
BANK_BPD_SUMUT_UNIT_SYARIAH | BANK BPD SUMUT UNIT SYARIAH |
BANK_BPD_YOGYAKARTA | BANK BPD YOGYAKARTA |
BANK_BPD_YOGYAKARTA_SYARIAH | BANK BPD YOGYAKARTA SYARIAH |
BANK_BPR_KARYAJATNIKA_SADAYA | BANK BPR KARYAJATNIKA SADAYA |
BANK_BPR_SUPRA_ARTAPERSADA | BANK BPR SUPRA ARTAPERSADA |
BANK_BRI | BANK BRI |
BANK_BRI_AGRONIAGA | BANK BRI AGRONIAGA |
BANK_BTN | BANK BTN |
BANK_BTN_SYARIAH | BANK BTN SYARIAH |
BANK_BTPN | BANK BTPN |
BANK_BTPN_SYARIAH | BANK BTPN SYARIAH |
BANK_BUKOPIN | BANK BUKOPIN |
BANK_BUMI_ARTA | BANK BUMI ARTA |
BANK_BUMI_ARTA_INDONESIA | BANK BUMI ARTA INDONESIA |
BANK_CAPITAL_INDONESIA | BANK CAPITAL INDONESIA |
BANK_CENTRATAMA | BANK CENTRATAMA |
BANK_CHINA_CONSTRUCTION_INDONESIA | BANK CHINA CONSTRUCTION INDONESIA |
BANK_CIMB | BANK CIMB |
BANK_CIMB_NIAGA | BANK CIMB NIAGA |
BANK_CIMB_NIAGA_SYARIAH | BANK CIMB NIAGA SYARIAH |
BANK_CIMB_SYARIAH | BANK CIMB SYARIAH |
BANK_CITIBANK | BANK CITIBANK |
BANK_COMMONWEALTH | BANK COMMONWEALTH |
BANK_COMMONWEALTH_BANK | BANK COMMONWEALTH BANK |
BANK_CTBC_INDONESIA | BANK CTBC INDONESIA |
BANK_DANAMON | BANK DANAMON |
BANK_DANAMON_SYARIAH | BANK DANAMON SYARIAH |
BANK_DBS_INDONESIA | BANK DBS INDONESIA |
BANK_DEUTSCHE_AG | BANK DEUTSCHE AG |
BANK_DIGITAL_BCA | BANK DIGITAL BCA |
BANK_DINAR | BANK DINAR |
BANK_DKI | BANK DKI |
BANK_DKI_SYARIAH | BANK DKI SYARIAH |
BANK_FAMA | BANK FAMA |
BANK_FAMA_INTERNASIONAL | BANK FAMA INTERNASIONAL |
BANK_GANESHA | BANK GANESHA |
BANK_HARDA_INTERNASIONAL | BANK HARDA INTERNASIONAL |
BANK_HARMONI_INTERNATIONAL | BANK HARMONI INTERNATIONAL |
BANK_HSBC_INDONESIA | BANK HSBC INDONESIA |
BANK_HSBC_SYARIAH | BANK HSBC SYARIAH |
BANK_IBK | BANK IBK |
BANK_IBK_INDONESIA_TBK | BANK IBK INDONESIA TBK |
BANK_ICBC_INDONESIA | BANK ICBC INDONESIA |
BANK_INA_PERDANA | BANK INA PERDANA |
BANK_INDEX_SELINDO | BANK INDEX SELINDO |
BANK_INTERIM_INDONESIA | BANK INTERIM INDONESIA |
BANK_JABAR | BANK JABAR |
BANK_JABAR_BANTEN_(BJB) | BANK JABAR BANTEN (BJB) |
BANK_JABAR_BANTEN_SYARIAH_(BJB_SYARIAH) | BANK JABAR BANTEN SYARIAH (BJB SYARIAH) |
BANK_JABAR_SYARIAH | BANK JABAR SYARIAH |
BANK_JAGO_TBK | BANK JAGO TBK |
BANK_JASA_JAKARTA | BANK JASA JAKARTA |
BANK_JATIM | BANK JATIM |
BANK_JATIM_SYARIAH | BANK JATIM SYARIAH |
BANK_JPMORGAN_CHASE | BANK JPMORGAN CHASE |
BANK_JP_MORGAN | BANK JP MORGAN |
BANK_JP_MORGAN_CHASE | BANK JP MORGAN CHASE |
BANK_JTRUST_INDONESIA | BANK JTRUST INDONESIA |
BANK_KB_BUKOPIN | BANK KB BUKOPIN |
BANK_KEB_HANA | BANK KEB HANA |
BANK_KESEJAHTERAAN | BANK KESEJAHTERAAN |
BANK_MANDIRI | BANK MANDIRI |
BANK_MANDIRI_TASPEN | BANK MANDIRI TASPEN |
BANK_MASPION | BANK MASPION |
BANK_MASPION_INDONESIA | BANK MASPION INDONESIA |
BANK_MAYAPADA | BANK MAYAPADA |
BANK_MAYBANK | BANK MAYBANK |
BANK_MAYBANK_INDONESIA | BANK MAYBANK INDONESIA |
BANK_MAYBANK_INDONESIA_SYARIAH | BANK MAYBANK INDONESIA SYARIAH |
BANK_MAYBANK_INDONESIA_UUS | BANK MAYBANK INDONESIA UUS |
BANK_MAYBANK_SYARIAH | BANK MAYBANK SYARIAH |
BANK_MAYBANK_SYARIAH_INDONESIA | BANK MAYBANK SYARIAH INDONESIA |
BANK_MAYORA | BANK MAYORA |
BANK_MEGA | BANK MEGA |
BANK_MEGA_SYARIAH | BANK MEGA SYARIAH |
BANK_MEGA_TBK | BANK MEGA TBK |
BANK_MESTIKA_DHARMA | BANK MESTIKA DHARMA |
BANK_MITRANIAGA | BANK MITRANIAGA |
BANK_MIZUHO_INDONESIA | BANK MIZUHO INDONESIA |
BANK_MNC_INTERNATIONAL | BANK MNC INTERNATIONAL |
BANK_MUAMALAT | BANK MUAMALAT |
BANK_MUFG_LTD | BANK MUFG LTD |
BANK_MULTI_ARTA_SENTOSA | BANK MULTI ARTA SENTOSA |
BANK_NAGARI | BANK NAGARI |
BANK_NEO_COMMERCE | BANK NEO COMMERCE |
BANK_NOBU_NATIONAL | BANK NOBU NATIONAL |
BANK_NTB_SYARIAH | BANK NTB SYARIAH |
BANK_NUSANTARA | BANK NUSANTARA |
BANK_OCBC_NISP | BANK OCBC NISP |
BANK_OCBC_NISP_SYARIAH | BANK OCBC NISP SYARIAH |
BANK_OF_AMERICA | BANK OF AMERICA |
BANK_OF_CHINA | BANK OF CHINA |
BANK_OF_INDIA_INDONESIA | BANK OF INDIA INDONESIA |
BANK_OKE_INDONESIA | BANK OKE INDONESIA |
BANK_PANIN | BANK PANIN |
BANK_PANIN_DUBAI_SYARIAH | BANK PANIN DUBAI SYARIAH |
BANK_PANIN_SYARIAH | BANK PANIN SYARIAH |
BANK_PAN_INDONESIA_/PANIN | BANK PAN INDONESIA /PANIN |
BANK_PEMBANGUNAN_DAERAH_SULAWESI_SELATAN | BANK PEMBANGUNAN DAERAH SULAWESI SELATAN |
BANK_PERMATA | BANK PERMATA |
BANK_PERMATA_SYARIAH | BANK PERMATA SYARIAH |
BANK_PIKKO | BANK PIKKO |
BANK_PRIMA_MASTER | BANK PRIMA MASTER |
BANK_QNB_INDONESIA | BANK QNB INDONESIA |
BANK_RABO | BANK RABO |
BANK_RAKYAT_INDONESIA_AGRONIAGA | BANK RAKYAT INDONESIA AGRONIAGA |
BANK_RESONA_PERDANIA | BANK RESONA PERDANIA |
BANK_RESONA_PERDANIA_BANK | BANK RESONA PERDANIA BANK |
BANK_ROYAL_INDONESIA | BANK ROYAL INDONESIA |
BANK_SAHABAT_SAMPOERNA | BANK SAHABAT SAMPOERNA |
BANK_SBI_INDONESIA | BANK SBI INDONESIA |
BANK_SEA | BANK SEA |
BANK_SEABANK_INDONESIA | BANK SEABANK INDONESIA |
BANK_SHINHAN_INDONESIA | BANK SHINHAN INDONESIA |
BANK_SINARMAS | BANK SINARMAS |
BANK_SINARMAS_SYARIAH | BANK SINARMAS SYARIAH |
BANK_STANDARD_CHARTERED | BANK STANDARD CHARTERED |
BANK_SULSELBAR | BANK SULSELBAR |
BANK_SULSELBAR_SYARIAH | BANK SULSELBAR SYARIAH |
BANK_SUMITOMO_MITSUI | BANK SUMITOMO MITSUI |
BANK_SYARIAH_BRI | BANK SYARIAH BRI |
BANK_SYARIAH_BUKOPIN | BANK SYARIAH BUKOPIN |
BANK_SYARIAH_INDONESIA | BANK SYARIAH INDONESIA |
BANK_SYARIAH_INDONESIA_(BSI) | BANK SYARIAH INDONESIA (BSI) |
BANK_SYARIAH_MANDIRI | BANK SYARIAH MANDIRI |
BANK_TOKYO_MITSUBISHI_UFJ | BANK TOKYO MITSUBISHI UFJ |
BANK_UOB | BANK UOB |
BANK_UOB_INDONESIA | BANK UOB INDONESIA |
BANK_VICTORIA_INTERNATIONAL | BANK VICTORIA INTERNATIONAL |
BANK_VICTORIA_SYARIAH | BANK VICTORIA SYARIAH |
BANK_WOORI_SAUDARA_INDONESIA | BANK WOORI SAUDARA INDONESIA |
BANK_WOORI_SAUDARA_INDONESIA_1906 | BANK WOORI SAUDARA INDONESIA 1906 |
BANK_YUDHA_BAKTI | BANK YUDHA BAKTI |
BANK_YUDHA_BAKTI_(BANK_NEO_COMMERCE) | BANK YUDHA BAKTI (BANK NEO COMMERCE) |
POST payment for unified order placement
Body request parameters
{
"address": "Mumbai",
"amount": "40",
"customerAccountNumber": "922010002523675",
"customerContact": "15221113201",
"customerEmail": "xxxx@gmail.com",
"customerName": "xxxx",
"mchNo": "80001",
"mchOrderNo": "2022071201011",
"notifyUrl": "http://www.yourcompany.com/notify",
"wayCode": "BANK_BCA"
}
Request parameters
Name | Location | Type | Required | Description |
---|---|---|---|---|
X-API-KEY | header | string | Y | public key |
X-API-NONCE | header | string | Y | request time (timestamp, accurate to milliseconds) |
X-API-SIGNATURE | header | string | Y | signature (refer to signature algorithm) |
mchNo | body | string | Y | merchant number |
mchOrderNo | body | string | Y | merchant order number (customized by merchant, cannot be repeated) |
wayCode | body | string | Y | payment code (refer to [payment code](#payment code)) |
amount | body | string | Y | the amount (no decimals. It cannot be zero and must meet the amount standard.) |
currency | body | string | Y | currency(IDR) |
notifyUrl | body | string | Y | notification address |
customerName | body | string | Y | username |
customerContact | body | string | Y | mobile phone number |
customerAccountNumber | body | string | Y | user accountNumber |
customerEmail | body | string | Y | user email |
{
"code": 0,
"data": {
"mchOrderNo": "M1655535407",
"payOrderId": "P1551409540398772225"
},
"msg": "SUCCESS",
"sign": "3045022100c3998421fd646521777d0c736753704931f801331dec55f109258dd8a93083c402207c11e37d70477b30ad9e0c42072a3fb5af1a78809ca7f 8023672451e62e8f69f"
}
Return results
Name | Type | Description |
---|---|---|
mchOrderNo | string | Merchant order number (returned after successful request) |
payOrderId | string | Platform order number (returned after successful request) |
Collection order inquiry
POST to obtain collection order information
Body request parameters
{
"mchNo": "M1655535407",
"mchOrderNo": "lin1231241241414"
}
Request parameters
Name | Location | Type | Required | Description |
---|---|---|---|---|
X-API-KEY | header | string | Y | public key |
X-API-NONCE | header | string | Y | Request time (timestamp, accurate to milliseconds) |
X-API-SIGNATURE | header | string | Y | signature (refer to signature algorithm) |
mchNo | body | string | Y | merchant number |
payOrderId | body | string | N | Platform order number (choose one of platform order number and merchant order number) |
mchOrderNo | body | string | N | Merchant order number (choose one of platform order number and merchant order number) |
Return to example
{
"code": 0,
"data": {
"currency": "IDR",
"fee": "0",
"mchNo": "M1655535407",
"mchOrderNo": "",
"orderAmount": "10000",
"payAmount": "10000",
"payOrderId": "P1547429458697129178",
"state": 2
},
"msg": "SUCCESS"
}
Return results
Name | Type | Description |
---|---|---|
payOrderId | string | Payment order number |
mchNo | string | Merchant number |
mchOrderNo | string | Merchant order number |
orderAmount | string | original transaction amount of bill |
payAmount | string | Payment amount |
currency | string | three-digit currency code |
state | string | Payment status: 0-Order generated, 1-Payment in progress, 2-Payment successful, 3-Payment failed, 4-Cancelled, 5-Refunded, 6-Order closed, 7-Queue, 8 -We reject, 9-Partial payment |
fee | string | Merchant fee |
Payment order inquiry
POST Get payment order information
Body request parameters
{
"mchNo": "M1655535407",
"mchOrderNo": "lin1231241241414"
}
Request parameters
Name | Location | Type | Required | Description |
---|---|---|---|---|
X-API-KEY | header | string | Y | public key |
X-API-NONCE | header | string | Y | Request time (timestamp, accurate to milliseconds) |
X-API-SIGNATURE | header | string | Y | signature (refer to signature algorithm) |
mchNo | body | string | Y | merchant number |
payOrderId | body | string | N | Platform order number (choose one of platform order number and merchant order number) |
mchOrderNo | body | string | N | Merchant order number (choose one of platform order number and merchant order number) |
Return to example
{
"code": 0,
"data": {
"currency": "IDR",
"fee": "0",
"mchNo": "M1655535407",
"mchOrderNo": "",
"orderAmount": "10000",
"payAmount": "10000",
"payOrderId": "P1547429458697138178",
"state": 2
},
"msg": "SUCCESS"
}
Return results
Name | Type | Description |
---|---|---|
payOrderId | string | Payment order number |
mchNo | string | Merchant number |
mchOrderNo | string | Merchant order number |
orderAmount | string | original transaction amount of bill |
payAmount | string | Payment amount |
currency | string | three-digit currency code |
state | string | Payment status: 0-order generated, 1-payment in progress, 2-payment successful, 3-payment failed, 8-rejected |
fee | string | Merchant fee |
Transaction history
POST Get transaction history (final data-success/failure)
Body request parameters
{
"mchNo": "M1658240182",
"bizType": 1,
"startTime": 1656604800,
"endTime": 1667145600,
"pageNumber": 1,
"pageSize": 20
}
Request parameters
Name | Location | Type | Required | Description |
---|---|---|---|---|
X-API-KEY | header | string | Y | public key |
X-API-NONCE | header | string | Y | Request time (timestamp, accurate to milliseconds) |
X-API-SIGNATURE | header | string | Y | signature (refer to signature algorithm) |
mchNo | body | string | Y | merchant number |
bizType | body | number | N | Business type: 1-Collection on behalf of others 2-Payment on behalf of others 3-USDT withdrawal 4-Withdrawal |
startTime | body | number | N | Start time (server 0 time zone timestamp, accurate to seconds) |
endTime | body | number | N | End time (server 0 time zone timestamp, accurate to seconds) |
pageNumber | body | number | Y | page number |
pageSize | body | number | Y | page size (max 50) |
Return to example
{
"code": 0,
"data": {
"current": 1,
"hitCount": false,
"optimizeCountSql": true,
"orders": [
],
"pages": 22,
"records": [
{
"amount": "190000",
"bankCard": "123456789",
"bankName": "",
"bizType": 1,
"createdAt": 1683945480,
"currency": "IDR",
"mchFeeAmount": "10000",
"mchName": "DW-IDR Test",
"mchNo": "M1683793693",
"mchOrderNo": "id95220230300258",
"mobilePhone": "17760797979",
"orderAmount": "200000",
"payOrderId": "P1657213573143552002",
"payWay": "qris",
"payWayType": "qris",
"payerName": "DW",
"state": 2,
"successTime": 1683945670
},
{
"amount": "190000",
"bankCard": "123456789",
"bankName": "",
"bizType": 1,
"createdAt": 1683948198,
"currency": "IDR",
"mchFeeAmount": "10000",
"mchName": "DW-IDR Test",
"mchNo": "M1683793693",
"mchOrderNo": "IDR48220230300454",
"mobilePhone": "17760797979",
"orderAmount": "200000",
"payOrderId": "P1657224974603972609",
"payWay": "ewallet",
"payWayType": "ewallet",
"payerName": "DW",
"state": 2,
"successTime": 1683949857
}
],
"searchCount": true,
"size": 3,
"total": 66
},
"msg": "SUCCESS",
"sign": "3046022100d4670c5466807b6b62635030e5c10acd2855e3428b4e9ff45e5c9648d4d28288022100a3cca3d4bbc6d994e66ada5e1d0fb095fabc4a92d622 a2074a1b10fc4c530830"
}
Return results
Name | Type | Description |
---|---|---|
amount | string | Settlement quantity (when collection is made, it is the upper-point quantity (handling fee is deducted), when payment/withdrawal is made, it is the bill quantity (handling fee is not deducted)) |
bankCard | string | Bank card number |
bankName | string | Bank name |
bizType | number | Business type: 1-Collection on behalf of others 2-Payment on behalf of others 3-USDT withdrawal 4-Withdrawal |
createdAt | number | Order creation time (0 time zone timestamp, accurate to seconds) |
currency | string | Currency |
mchFeeAmount | string | handling fee |
mchName | string | Merchant name |
mchNo | string | Merchant number |
mchOrderNo | string | Merchant order number |
mobilePhone | string | Mobile phone number |
orderAmount | string | Order amount |
payOrderId | string | Payment serial number |
payWay | string | Payment method name |
payWayType | string | Payment method |
payerName | string | User name |
state | number | Order status: 2-successful 3-failed 8-(payment) rejected 9-partial payment (payment amount is less than the order amount) |
successTime | number | is |
MERCHANT BALANCE INFOMATION QUERY
POST to obtain merchant balance information
Body request parameters
{
"mchNo": "M1655535407"
}
Request parameters
Name | Location | Type | Required | Description |
---|---|---|---|---|
X-API-KEY | header | string | Y | public key |
X-API-NONCE | header | string | Y | Request time (timestamp, accurate to milliseconds) |
X-API-SIGNATURE | header | string | Y | signature (refer to signature algorithm) |
mchNo | body | string | Y | merchant number |
Return to example
{
"code": 0,
"data": {
"availableAmount": "294876",
"frozenAmount": "1986",
"mchNo": "M1658240182"
},
"msg": "SUCCESS",
"sign": "3045022100e659480ea76d87c26e0054bda5a788737d41f26d4dec365fba936028248785140220540c9bb2b9fe6fc928dc2ae4c531ee00a82615bc37b77b02 ca41cffeeaddc627"
}
Return results
Name | Type | Description |
---|---|---|
availableAmount | string | Available balance |
frozenAmount | string | frozen balance |
mchNo | string | Merchant number |
Callback notification
Submission method: POST
OK
Content-Type
Verify signature
Request parameters
Name | Type | Required | Description |
---|---|---|---|
bizType | number | Y | Business type: 1-Collection 2-Payment |
payOrderId | string | Y | payment order number |
mchNo | string | Y | merchant number |
mchOrderNo | string | Y | Merchant order number (customized by merchant, cannot be repeated) |
orderAmount | string | Y | original transaction amount of bill |
payAmount | string | Y | payment amount |
currency | string | Y | three-digit currency code |
state | number | Y | payment status: 2-payment successful, 3-payment failed, 9-partial payment (collection) |
fee | string | Y | merchant fee |
failReason | string | N | Failure reason |
Signature rules: After JSONizing the request parameters, put the obtained signature in the header, and obtain the signature directly from the response header. To verify the signature, use verifyEcdsaSignature() in the ECSDAKit tool class below.
Signature tool class
Maven dependencies
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15on</artifactId>
<version>1.64</version>
<scope>compile</scope>
</dependency>
ECSDAKit
Utils
java demo
php demo
Error coding table
Error code | Error description |
---|---|
-1 | System error |
5003001 | Missing parameter |
5003002 | Merchant or APIKey does not exist |
5003003 | Merchant disabled |
5003004 | Merchant not certified |
5003005 | Merchant api key does not exist |
5003005 | Merchant or api key does not exist |
5003006 | api key expired |
5003007 | ip error |
5003008 | Signature error |
5003009 | Payment method not supported |
5003010 | Order status error |
5003011 | Merchant order number already exists |
5003012 | URL format error |
5003013 | Channel error |
5003014 | Merchant rate configuration is not initialized |
5003015 | Channel does not exist |
5003017 | Failed to create collection order |
5003018 | Failed to check collection order |
5003010 | Failed to create payment order |
5003020 | Failed to query payment |
5004006 | Insufficient merchant balance |
500321 | Amount format is incorrect |
500322 | URL not supported |
500323 | Remote client error |
500324 | Order expired |
500326 | Error in querying channel balance |
500327 | Wrong payment method |