Riwayat Transaksi
OVERVIEW
API Transaction History
API Transaction History (Riwayat Transaksi) diperlukan agar Konsumen, Non-PJP Pengguna Layanan, atau PJP PIAS dapat mengakses informasi riwayat transaksi dari rekening yang dimiliki secara real time, sesuai dengan layanan yang disediakan oleh PJP AIS. Informasi riwayat transaksi berisi rincian mengenai transaksi kredit maupun debit, saldo rekening, dan beberapa informasi lainnya.
API Bank Statement merupakan API yang digunakan untuk mengakses riwayat transaksi keuangan secara menyeluruh dari sebuah rekening Bank, baik rekening milik individu pemilik rekening. Konsumen dapat memanfaatkan platform dari Non-PJP Pengguna Layanan, atau PJP PIAS yang telah disertifikasi oleh PJP AIS untuk mengakses API ini sehingga dapat dengan mudah melihat rincian keuangannya dalam satu aplikasi.
SKENARIO PENGGUNAAN API TRANSACTION HISTORY
Use Case Diagram API Transaction History
Merujuk pada use case diagram, pemilik akun yaitu Konsumen, Non-PJP Pengguna Layanan, PJP PIAS, PJP AIS Lembaga Selain Bank dapat mengakses informasi riwayat transaksi (transaction history list) dan/atau rincian dari riwayat transaksi (transaction history detail) atas rekeningnya menggunakan API Riwayat Transaksi yang disediakan oleh PJP PIAS atau PJP AIS. Konsumen, PJP PIAS, atau PJP AIS Lembaga Selain Bank dapat menggunakan API Bank Statement yang disediakan oleh PJP AIS melalui pihak yang sudah tersertifikasi untuk mengakses API ini.
API Transaction History dapat digunakan dalam sejumlah skema sebagai berikut:
Skema 1: Konsumen - Non-PJP Pengguna Layanan - PJP AIS Lembaga Selain Bank
Dalam skema ini, Konsumen mengakses riwayat transaksi yang tercatat pada PJP AIS Lembaga Selain Bank yang dilakukan melalui Non-PJP Pengguna Layanan sebagai kanal pembayaran. Mekanisme ini dapat dilakukan setelah dilakukan proses card registration/account binding. Pada saat pengaksesan riwayat transaksi, diperlukan permintaan persetujuan Konsumen (otorisasi/otentikasi) secara eksplisit menggunakan mekanisme OAuth 2.0 untuk memastikan kebenaran informasi Konsumen serta agar tidak ada penyalahgunaan data dan hak dari Konsumen. Setelah mendapatkan persetujuan dari Konsumen, Non-PJP Pengguna Layanan akan mendapatkan access token sebagai credential dari PJP AIS Lembaga Selain Bank untuk mengakses data Konsumen tersebut.
Dalam skema ini, Konsumen dapat mengakses riwayat transaksi yang transaksinya dilakukan melalui PJP AIS Lembaga Selain Bank dan Non-PJP Pengguna Layanan tersebut saja. Dalam hal ini, PJP AIS Lembaga Selain Bank tidak menyertakan riwayat transaksi yang dilakukan melalui kanal pembayaran lain.
API yang dapat digunakan dalam skema ini adalah API Transaction History List dan Transaction History Detail. API _Transaction History List_mengembalikan daftar riwayat transaksi, sedangkan API Transaction History Detail mengembalikan informasi lengkap dari 1 riwayat transaksi.
Skema 2: Konsumen - Non-PJP Pengguna Layanan - PJP PIAS
Dalam skema ini, Konsumen mengakses riwayat transaksi yang tercatat pada PJP PIAS yang dilakukan melalui suatu Non-PJP Pengguna Layanan sebagai kanal pembayaran. PJP PIAS pada umumnya menyediakan beberapa kanal pembayaran seperti kartu kredit/debit, transfer ke virtual account, hingga pembayaran offline pada tempat tertentu seperti minimarket.
Konsumen tidak memiliki akun khusus pada PJP PIAS dan Konsumen memasukkan beberapa informasi setiap kali melakukan transaksi. Konsumen dapat mengakses riwayat transaksi yang dilakukan pada Non-PJP Pengguna Layanan tersebut dengan menggunakan API Transaction History List dan Transaction History Detail. Non-PJP Pengguna Layanan cukup menggunakan credentials yang telah disediakan oleh PJP PIAS.
Skema 3: Konsumen - PJP PIAS - PJP AIS Bank
Dalam skema ini, Konsumen mengakses riwayat transaksi melalui layanan rekening koran pada PJP AIS Bank yang dilakukan melalui PJP PIAS sebagai kanal pembayaran. Konsumen dapat mengakses riwayat transaksi yang dilakukan dengan menggunakan API Bank Statement.
API ini hanya bisa digunakan oleh pihak yang sudah tersertifikasi dan lolos pemeriksaan oleh PJP AIS Bank sebagai penyedia layanan karena mengandung data pribadi dan rahasia.
Pada saat pengaksesan riwayat transaksi, diperlukan permintaan persetujuan Konsumen (otorisasi/otentikasi) secara eksplisit menggunakan mekanisme OAuth 2.0 untuk memastikan kebenaran informasi pengguna serta agar tidak ada penyalahgunaan data.
Setelah mendapatkan persetujuan dari Konsumen, PJP PIAS akan mendapatkan access token sebagai credential dari PJP AIS Bank untuk mengakses data.
Skema 4: PJP AIS Lembaga Selain Bank/PJP PIAS - PJP AIS Bank
Dalam skema ini, PJP AIS Lembaga Selain Bank/PJP PIAS dapat mengakses riwayat transaksi rekeningnya melalui layanan rekening koran pada PJP AIS Bank dengan menggunakan API Bank Statement.
Ketentuan dan Keterbatasan API
Pengurutan | DESC |
---|---|
pageSize Maksimal | 50 |
Rentang Waktu Maksimal | 1 bulan |
Riwayat Transaksi Tertua | 1 tahun |
Sequence Diagram untuk API Transaction History List
Informasi Umum
Service Code | 12 |
---|---|
Name | API Transaction History List |
Version | 1.0 |
HTTP Method | POST |
Path | .../{version}/transaction-history-list |
Ketentuan dan Keterbatasan API
Riwayat Transaksi Tertua | 1 tahun |
---|
Sequence Diagram untuk API Transaction History Detail
Informasi Umum
Service Code | 13 |
---|---|
Name | API Transaction History Detail |
Version | 1.0 |
HTTP Method | POST |
Path | .../{version}/transaction-history-detail |
Ketentuan dan Keterbatasan API
Pengurutan | DESC |
---|---|
Rentang Waktu Maksimal | 1 bulan |
Riwayat Transaksi Tertua | 1 tahun |
Sequence Diagram untuk API Bank Statement
Informasi Umum
Service Code | 14 |
---|---|
Name | API Bank Statement |
Version | 1.0 |
HTTP Method | POST |
Path | .../{version}/bank-statement |
GUIDES
Spesifikasi Parameter Header dan Body API Transaction History
Request Body
Parameter | Data Type | Mandatory | Length | Description |
---|---|---|---|---|
partnerReferenceNo | String | O | 64 | Transaction identifier on service consumer system |
fromDateTime | ISODateTime | O | 25 | Starting time range. |
ISO-8601 | Default: | |||
NOW (DESC) | ||||
or NOW - 3 months (ASC) | ||||
toDateTime | ISODateTime | O | 25 | Ending time range. |
ISO-8601 | Default: | |||
NOW - 3 months (DESC) | ||||
or NOW (ASC) | ||||
pageSize | int | O | 2 | Maximum number of transaction returned in one pagination. |
Default: 10 | ||||
pageNumber | int | O | 2 | Current page number. |
Default: 0 | ||||
additionalInfo | Object | O | Additional information |
Response Body
Parameter | Data Type | Mandatory | Length | Description |
---|---|---|---|---|
responseCode | String | M | 7 | Response code |
responseMessage | String | M | 150 | Response description |
referenceNo | String | O | 64 | Transaction identifier on service provider system. Must be filled upon successful transaction |
partnerReferenceNo | String | O | 64 | Transaction identifier on service consumer system |
detailData | Array | |||
dateTime | ISODateTime | O | 25 | |
ISO-8601 | ||||
amount | Object | O | ||
value | String | M | 16,2 | Net amount of the transaction. |
If it's IDR then value includes 2 decimal digits. | ||||
e.g. IDR 10.000,- will be placed with 10000.00 | ||||
currency | String | M | 3 | Currency |
(ISO4217) | ||||
remark | String | O | 256 | Transaction remark. |
sourceOfFunds | List |
O | N/A | Source of funds used for this transaction. |
See object definition. | ||||
status | String | M | 32 | Transaction status. |
INIT, SUCCESS, CLOSED, CANCELLED | ||||
type | String | M | 32 | Transaction type. |
PAYMENT, REFUND, TOP_UP, SEND_MONEY, RECEIVE_MONEY | ||||
additionalInfo | Object | O | Additional information from detailData | |
additionalInfo | Object | O | Additional information |
Request Body
Parameter | Data Type | Mandatory | Length | Description |
---|---|---|---|---|
originalPartnerReferenceNo | String | M | 64 | Transaction identifier on service consumer system |
additionalInfo | Object | O | Additional information |
Response Body
Parameter | Data Type | Mandatory | Length | Description |
---|---|---|---|---|
responseCode | String | M | 7 | Response code |
responseMessage | String | M | 150 | Response description |
referenceNo | String | C | 64 | Transaction identifier on service provider system. Must be filled upon successful transaction |
partnerReferenceNo | String | O | 64 | Transaction identifier on service consumer system |
amount | Object | O | ||
value | String | M | 16,2 | Net amount of the transaction. |
If it's IDR then value includes 2 decimal digits. | ||||
e.g. IDR 10.000,- will be placed with 10000.00 | ||||
currency | String | M | 3 | Currency |
(ISO4217) | ||||
cancelledTime | ISODateTime | O | 25 | Transaction cancelled time. |
ISO-8601 | ||||
dateTime | ISODateTime | M | 25 | Transaction created time. |
ISO-8601 | ||||
refundAmount | Object | O | ||
Value | String (ISO4217) | M | 16,2 | Refund amount of the transaction. |
If it's IDR then value includes 2 decimal digits. | ||||
e.g. IDR 10.000,- will be placed with 10000.00 | ||||
currency | String | M | 3 | Currency |
remark | String | O | 256 | Transaction remark. |
sourceOfFunds | List |
O | N/A | Source of funds used for this transaction. |
See object definition. | ||||
status | String | M | 32 | Transaction status. |
INIT, SUCCESS, CLOSED, CANCELLED | ||||
type | String | M | 32 | Transaction type. |
PAYMENT, REFUND, TOP_UP, SEND_MONEY, RECEIVE_MONEY | ||||
additionalInfo | Object | O | Additional information |
Request Body
Parameter | Data Type | Mandatory | Length | Description |
---|---|---|---|---|
partnerReferenceNo | String | O | 64 | Transaction identifier on service consumer system |
bankCardToken | String | C | 128 | Card token |
for payment. | ||||
must be filled if accountNo is null | ||||
accountNo | String | C | 16 | Bank account number. |
must be filled if bankAccountNo is null | ||||
fromDateTime | ISODateTime | O | 25 | Starting time range. |
ISO-8601 | Default: | |||
NOW (DESC) | ||||
or NOW - 1 months (ASC) | ||||
toDateTime | ISODateTime | O | 25 | Ending time range. |
ISO-8601 | Default: | |||
NOW - 1 months (DESC) | ||||
or NOW (ASC) | ||||
additionalInfo | Object | O | Additional information |
Response Body
Parameter | Data Type | Mandatory | Length | Description |
---|---|---|---|---|
responseCode | String | M | 7 | Response code |
responseMessage | String | M | 150 | Response description |
referenceNo | String | C | 64 | Transaction identifier on service provider system. Must be filled upon successful transaction |
partnerReferenceNo | String | O | 64 | Transaction identifier on service consumer system |
balance | Array of Object | O | N/A | Starting and ending balance before the first/last transaction. |
Amount | Object | M | ||
value | String | M | 16,2 | Transaction Amount. |
Nominal inputted by Customer with 2 decimal | ||||
currency | String | M | 3 | Currency |
(ISO4217) | ||||
dateTime | String | M | 25 | ISO 8601 |
startingBalance | Object | M | ||
value | String | M | 16,2 | Transaction Amount. |
Nominal inputted by Customer with 2 decimal | ||||
currency | String | M | 3 | Currency |
(ISO4217) | ||||
dateTime | String | M | 25 | ISO 8601 |
endingBalance | Object | M | ||
value | String | M | 16,2 | Transaction Amount. |
Nominal inputted by Customer with 2 decimal | ||||
currency | String | M | 3 | Currency |
(ISO4217) | ||||
dateTime | String | M | 25 | ISO 8601 |
totalCreditEntries | DebitAndCreditEntries | O | N/A | Total transaction amount with type = CREDIT. |
See object definition | ||||
totalDebitEntries | DebitAndCreditEntries | O | N/A | Total transaction amount with type = DEBIT. |
See object definition | ||||
hasMore | String | O | 1 | Memberikan informasi apakah masih ada record yang belum ditampilkan dalam rentang fromDateTime toDateTime |
Y/N | ||||
lastRecordDateTime | String | O | 25 | ISO 8601 |
detailData | Array of object | |||
detailBalance | Object | O | N/A | Starting and ending balance before and after transaction. |
startAmount | Object | O | ||
endAmount | Object | O | ||
amount | Object | O | ||
value | String (ISO4217) | M | 16,2 | Net amount of the transaction. |
If it's IDR then value includes 2 decimal digits. | ||||
e.g. IDR 10.000,- will be placed with 10000.00 | ||||
currency | String | M | 3 | Currency |
originAmount | Object | O | ||
value | String (ISO4217) | M | 16,2 | Origin net amount of the transaction. |
If it's IDR then value includes 2 decimal digits. | ||||
e.g. IDR 10.000,- will be placed with 10000.00 | ||||
currency | String | M | 3 | Currency |
transactionDate | ISODateTime | M | 25 | Timestamp of the Transaction. |
ISO-8601 | ||||
remark | String | M | 256 | Transaction remark. |
transactionId | String | O | 35 | Internal transaction identifier from publisher perspective. |
type | String | M | 6 | Transaction type. |
CREDIT/DEBIT | ||||
transactionDetailStatus | String | O | 20 | Transaction detail indicator (original transaction or error correction) |
SUCCESS/ERROR CORECTION | ||||
detailInfo | Object | O | Additional information of detail transaction | |
additionalInfo | Object | O | Additional information |
ResultInfo
Parameter | Data Type | Mandatory | Length | Description |
---|---|---|---|---|
resultCodeId | String | M | 8 | Result code unique identifier. |
resultCode | String | M | 64 | Result code. |
resultStatus | String | M | 1 | Result status. |
S/F/U | ||||
resultMsg | String | O | 256 | Result message, can be filled with the reason of error. |
SourceOfFund
Parameter | Data Type | Mandatory | Length | Description |
---|---|---|---|---|
source | String | M | 32 | Source of fund. |
BALANCE/etc. | ||||
amount | Object | O | ||
value | String (ISO4217) | M | 16,2 | Net amount of the transaction. |
If it's IDR then value includes 2 decimal digits. | ||||
e.g. IDR 10.000,- will be placed with 10000.00 | ||||
currency | String | M | 3 | Currency |
CashBalance
Parameter | Data Type | Mandatory | Length | Description |
---|---|---|---|---|
amount | Object | O | ||
value | String (ISO4217) | M | 16,2 | Amount of balance. |
If it's IDR then value includes 2 decimal digits. | ||||
e.g. IDR 10.000,- will be placed with 10000.00 | ||||
currency | String | M | 3 | Currency |
dateTime | ISODateTime | M | 25 | Timestamp of the balance. |
ISO-8601 |
DetailBalance
Parameter | Data Type | Mandatory | Length | Description |
---|---|---|---|---|
amount | Object | O | ||
value | String (ISO4217) | M | 16,2 | Amount of balance. |
If it's IDR then value includes 2 decimal digits. | ||||
e.g. IDR 10.000,- will be placed with 10000.00 | ||||
currency | String | M | 3 | Currency |
ActiveCurrencyAndAmount
Parameter | Data Type | Mandatory | Length | Description |
---|---|---|---|---|
value | String | M | 18 | Value of the amount. |
ISO-4217 | If it's IDR then value includes 2 decimal digits. | |||
e.g. IDR 10.000,- will be placed with 10000.00 | ||||
currency | String | M | 3 | Currency. |
ISO-4217 |
DebitAndCreditEntries
Parameter | Data Type | Mandatory | Length | Description |
---|---|---|---|---|
numberOfEntries | int | O | 5 | Number of entries |
amount | Object | |||
value | String | M | 18 | Value of the amount. |
ISO-4217 | If it�s IDR then value includes 2 decimal digits. | |||
e.g. IDR 10.000,- will be placed with 10000.00 | ||||
currency | String | M | 3 | Currency. |
ISO-4217 |
CODE SNIPPETS
Code Snippets API Transaction History
Sample Request
POST .../v1.0/transaction-history-list HTTP/1.2
Content-type: application/json
Authorization: Bearer gp9HjjEj813Y9JGoqwOeOPWbnt4CUpvIJbU1mMU4a11MNDZ7Sg5u9a"
Authorization-Customer: Bearer fa8sjjEj813Y9JGoqwOeOPWbnt4CUpvIJbU1mMU4a11MNDZ7Sg5u9a"
X-TIMESTAMP: 2020-12-18T15:34:40+07:00
X-SIGNATURE: 85be817c55b2c135157c7e89f52499bf0c25ad6eeebe04a986e8c862561b19a5
ORIGIN: www.hostname.com
X-PARTNER-ID: 82150823919040624621823174737537
X-EXTERNAL-ID: 41807553358950093184162180797837
X-IP-ADDRESS: 172.24.281.24
X-DEVICE-ID: 09864ADCASA
X-LATITUDE: -6.1617169
X-LONGITUDE: 106.6643946
CHANNEL-ID: 95221
{
"partnerReferenceNo":"2020102900000000000001",
"fromDateTime":"2019-07-03T12:08:56-07:00",
"toDateTime":"2019-07-03T12:08:56-07:00",
"pageSize":"10",
"pageNumber":"2",
"additionalInfo":{
"deviceId":"12345679237",
"channel":"mobilephone"
}
}
Sample Response
Content-type: application/json
X-TIMESTAMP: 2020-12-18T15:34:44+07:00
{
"responseCode":"2001200",
"responseMessage":"Request has been processed successfully",
"referenceNo":"2020102977770000000009",
"partnerReferenceNo":"2020102900000000000001",
"detailData":[
{
"dateTime":"2019-07-03T12:08:56-07:00",
"amount":{
"value":"12345678.00",
"currency":"IDR"
},
"remark":"Payment to Warung Ikan Bakar",
"sourceOfFunds":[
{
"source":"BALANCE",
"amount":{
"value":"10000.00",
"currency":"IDR"
}
}
],
"status":"SUCCESS",
"type":"PAYMENT",
"additionalInfo":{
"deviceId":"12345679237",
"channel":"mobilephone"
}
}
],
"additionalInfo":{
"deviceId":"12345679237",
"channel":"mobilephone"
}
}
Sample Request
POST .../v1.0/transaction-history-detail HTTP/1.2
Content-type: application/json
Authorization: Bearer gp9HjjEj813Y9JGoqwOeOPWbnt4CUpvIJbU1mMU4a11MNDZ7Sg5u9a"
Authorization-Customer: Bearer fa8sjjEj813Y9JGoqwOeOPWbnt4CUpvIJbU1mMU4a11MNDZ7Sg5u9a"
X-TIMESTAMP: 2020-12-18T15:55:40+07:00
X-SIGNATURE: 85be817c55b2c135157c7e89f52499bf0c25ad6eeebe04a986e8c862561b19a5
ORIGIN: www.hostname.com
X-PARTNER-ID: 82150823919040624621823174737537
X-EXTERNAL-ID: 41807553358950093184162180797837
X-IP-ADDRESS: 172.24.281.24
X-DEVICE-ID: 09864ADCASA
X-LATITUDE: -6.1617169
X-LONGITUDE: 106.6643946
CHANNEL-ID: 95221
{
"originalPartnerReferenceNo":"2020102900000000000001",
"additionalInfo":{
"deviceId":"12345679237",
"channel":"mobilephone"
}
}
Sample Response
Content-type: application/json
X-TIMESTAMP: 2020-12-18T15:55:47+07:00
{
"responseCode":"2001300",
"responseMessage":"Request has been processed successfully",
"referenceNo":"2020102977770000000009",
"partnerReferenceNo":"2020102900000000000001",
"amount":{
"value":"12345678.00",
"currency":"IDR"
},
"cancelledTime":"2009-07-03T12:08:56-07:00",
"dateTime":"2009-07-03T12:08:56-07:00",
"refundAmount":{
"value":"12345678.00",
"currency":"IDR"
},
"remark":"Payment to Warung Ikan Bakar",
"sourceOfFunds":[
{
"source":"BALANCE",
"amount":{
"value":"10000.00",
"currency":"IDR"
}
}
],
"status":"SUCCESS",
"type":"PAYMENT",
"additionalInfo":{
"deviceId":"12345679237",
"channel":"mobilephone"
}
}
Sample Request
POST .../v1.0/bank-statement HTTP/1.2
Content-type: application/json
Authorization: Bearer gp9HjjEj813Y9JGoqwOeOPWbnt4CUpvIJbU1mMU4a11MNDZ7Sg5u9a"
Authorization-Customer: Bearer fa8sjjEj813Y9JGoqwOeOPWbnt4CUpvIJbU1mMU4a11MNDZ7Sg5u9a"
X-TIMESTAMP: 2020-12-18T16:03:40+07:00
X-SIGNATURE: 85be817c55b2c135157c7e89f52499bf0c25ad6eeebe04a986e8c862561b19a5
ORIGIN: www.hostname.com
X-PARTNER-ID: 82150823919040624621823174737537
X-EXTERNAL-ID: 41807553358950093184162180797837
X-IP-ADDRESS: 172.24.281.24
X-DEVICE-ID: 09864ADCASA
X-LATITUDE: -6.1617169
X-LONGITUDE: 106.6643946
CHANNEL-ID: 95221
{
"partnerReferenceNo":"2020102900000000000001",
"bankCardToken":"6d7963617264746f6b656e",
"accountNo":"7382382957893840",
"fromDateTime":"2019-07-03T12:08:56-07:00",
"toDateTime":"2019-07-03T12:08:56-07:00",
"additionalInfo":{
"deviceId":"12345679237",
"channel":"mobilephone"
}
}
Sample Response
Content-type: application/json
X-TIMESTAMP: 2020-12-18T16:03:45+07:00
{
"responseCode":"2001400",
"responseMessage":"Request has been processed successfully",
"referenceNo":"2020102977770000000009",
"partnerReferenceNo":"2020102900000000000001",
"balance":[
{
"amount":{
"value":"10000.00",
"currency":"IDR",
"dateTime":"2020-12-18T16:03:45+07:00"
},
"startingBalance":{
"value":"12345678.00",
"currency":"IDR",
"dateTime":"2020-12-18T16:03:45+07:00"
},
"endingBalance":{
"value":"12345678.00",
"currency":"IDR",
"dateTime":"2020-12-19T16:03:45+07:00"
}
}
],
"totalCreditEntries":{
"numberOfEntries":"10",
"amount":{
"value":"10000.00",
"currency":"IDR"
}
},
"totalDebitEntries":{
"numberOfEntries":"10",
"amount":{
"value":"10000.00",
"currency":"IDR"
}
},
"hasMore":"Y",
"lastRecordDateTime":"2021-11-24T11:54:56-07:00",
"detailData":[
{
"detailBalance":{
"startAmount":[
{
"amount":{
"value":"10000.00",
"currency":"IDR"
}
}
],
"endAmount":[
{
"amount":{
"value":"10000.00",
"currency":"IDR"
}
}
]
},
"amount":{
"value":"12345678.00",
"currency":"IDR"
},
"originAmount":{
"value":"12345678.00",
"currency":"IDR"
},
"transactionDate":"2009-07-03T12:08:56-07:00",
"remark":"Payment to Warung Ikan Bakar",
"transactionId":"20200801198230912830091123",
"type":"CREDIT",
"transactionDetailStatus":"SUCCESS",
"detailInfo":{
"page":"12"
}
}
],
"additionalInfo":{
"deviceId":"12345679237",
"channel":"mobilephone"
}
}
RESPONSES CODE
Response status merupakan informasi yang diberikan oleh service provider kepada service consumer pada response body, sebagai indikasi hasil dari pemrosesan request yang diterima.
Response status terdiri dari 2 komponen, yaitu kode (response code) dan deskripsinya (response message).
Komponen | Tipe Data | Length | Keterangan |
---|---|---|---|
responseCode | String | 7 | response code = HTTP status code + service code + case code |
responseMessage | String | 150 |
Daftar Response Code
Category | HTTP Code | Service Code | Case Code | Response Message | Description |
---|---|---|---|---|---|
Success | 200 | any | 00 | Successful | Successful |
Success | 202 | any | 00 | Request In Progress | Transaction still on process |
System | 400 | any | 00 | Bad Request | General request failed error, including message parsing failed. |
Message | 400 | any | 01 | Invalid Field Format {field name} | Invalid format |
Message | 400 | any | 02 | Invalid Mandatory Field {field name} | Missing or invalid format on mandatory field |
System | 401 | any | 00 | Unauthorized. [reason] | General unauthorized error (No Interface Def, API is Invalid, Oauth Failed, Verify Client Secret Fail, Client Forbidden Access API, Unknown Client, Key not Found) |
System | 401 | any | 01 | Invalid Token (B2B) | Token found in request is invalid (Access Token Not Exist, Access Token Expiry) |
System | 401 | any | 02 | Invalid Customer Token | Token found in request is invalid (Access Token Not Exist, Access Token Expiry) |
System | 401 | any | 03 | Token Not Found (B2B) | Token not found in the system. This occurs on any API that requires token as input parameter |
System | 401 | any | 04 | Customer Token Not Found | Token not found in the system. This occurs on any API that requires token as input parameter |
Business | 403 | any | 00 | Transaction Expired | Transaction expired |
System | 403 | any | 01 | Feature Not Allowed [Reason] | This merchant is not allowed to call Direct Debit APIs |
Business | 403 | any | 02 | Exceeds Transaction Amount Limit | Exceeds Transaction Amount Limit |
Business | 403 | any | 03 | Suspected Fraud | Suspected Fraud |
Business | 403 | any | 04 | Activity Count Limit Exceeded | Too many request, Exceeds Transaction Frequency Limit |
Business | 403 | any | 05 | Do Not Honor | Account or User status is abnormal |
System | 403 | any | 06 | Feature Not Allowed At This Time. [reason] | Cut off In Progress |
Business | 403 | any | 07 | Card Blocked | The payment card is blocked |
Business | 403 | any | 08 | Card Expired | The payment card is expired |
Business | 403 | any | 09 | Dormant Account | The account is dormant |
Business | 403 | any | 10 | Need To Set Token Limit | Need to set token limit |
System | 403 | any | 11 | OTP Blocked | OTP has been blocked |
System | 403 | any | 12 | OTP Lifetime Expired | OTP has been expired |
System | 403 | any | 13 | OTP Sent To Cardholer | initiates request OTP to the issuer |
Business | 403 | any | 14 | Insufficient Funds | Insufficient Funds |
Business | 403 | any | 15 | Transaction Not Permitted.[reason] | Transaction Not Permitted |
Business | 403 | any | 16 | Suspend Transaction | Suspend Transaction |
Business | 403 | any | 17 | Token Limit Exceeded | Purchase amount exceeds the token limit set prior |
Business | 403 | any | 18 | Inactive Card/Account/Customer | Indicates inactive account |
Business | 403 | any | 19 | Merchant Blacklisted | Merchant is suspended from calling any APIs |
Business | 403 | any | 20 | Merchant Limit Exceed | Merchant aggregated purchase amount on that day exceeds the agreed limit |
Business | 403 | any | 21 | Set Limit Not Allowed | Set limit not allowed on particular token |
Business | 403 | any | 22 | Token Limit Invalid | The token limit desired by the merchant is not within the agreed range between the merchant and the Issuer |
Business | 403 | any | 23 | Account Limit Exceed | Account aggregated purchase amount on that day exceeds the agreed limit |
Business | 404 | any | 00 | Invalid Transaction Status | Invalid transaction status |
Business | 404 | any | 01 | Transaction Not Found | Transaction not found |
System | 404 | any | 02 | Invalid Routing | Invalid Routing |
System | 404 | any | 03 | Bank Not Supported By Switch | Bank not supported by switch |
Business | 404 | any | 04 | Transaction Cancelled | Transaction is cancelled by customer |
Business | 404 | any | 05 | Merchant Is Not Registered For Card Registration Services | Merchant is not registered for Card Registration services |
System | 404 | any | 06 | Need To Request OTP | Need to request OTP |
System | 404 | any | 07 | Journey Not Found | The journeyID cannot be found in the system |
Business | 404 | any | 08 | Invalid Merchant | Merchant does not exist or status abnormal |
Business | 404 | any | 09 | No Issuer | No issuer |
System | 404 | any | 10 | Invalid API Transition | Invalid API transition within a journey |
Business | 404 | any | 11 | Invalid Card/Account/Customer [info]/Virtual Account | Card information may be invalid, or the card account may be blacklisted, or Virtual Account number maybe invalid. |
Business | 404 | any | 12 | Invalid Bill/Virtual Account [Reason] | The bill is blocked/ suspended/not found. |
Virtual account is suspend/not found. | |||||
Business | 404 | any | 13 | Invalid Amount | The amount doesn't match with what supposed to |
Business | 404 | any | 14 | Paid Bill | The bill has been paid |
System | 404 | any | 15 | Invalid OTP | OTP is incorrect |
Business | 404 | any | 16 | Partner Not Found | Partner number can't be found |
Business | 404 | any | 17 | Invalid Terminal | Terminal does not exist in the system |
Business | 404 | any | 18 | Inconsistent Request | Inconsistent request parameter found for the same partner reference number/transaction id |
It can be considered as failed in transfer debit, but it should be considered as success in transfer credit. | |||||
Considered as success: | |||||
- Transfer credit = (i) Intrabank transfer; (ii) Interbank transfer; (iii) RTGS transfer; (iv) SKNBI transfer; | |||||
- Virtual account = (i) Payment VA; (ii) Payment to VA; | |||||
- Transfer debit = (i) Refund payment; (ii) Void; | |||||
Considered as failed: | |||||
- Transfer credit = (i) Transfer to OTC; | |||||
- Transfer debit = (i) Direct debit payment; (ii) QR CPM payment; (iii) Auth payment; (iv) Capture; | |||||
Business | 404 | any | 19 | Invalid Bill/Virtual Account | The bill is expired. |
Virtual account is expired. | |||||
System | 405 | any | 00 | Requested Function Is Not Supported | Requested function is not supported |
Business | 405 | any | 01 | Requested Opearation Is Not Allowed | Requested operation to cancel/refund transaction Is not allowed at this time. |
System | 409 | any | 00 | Conflict | Cannot use same X-EXTERNAL-ID in same day |
System | 409 | any | 01 | Duplicate partnerReferenceNo | Transaction has previously been processed indicates the same partnerReferenceNo already success |
System | 429 | any | 00 | Too Many Requests | Maximum transaction limit exceeded |
System | 500 | any | 00 | General Error | General Error |
System | 500 | Any | 01 | Internal Server Error | Unknown Internal Server Failure, Please retry the process again |
System | 500 | Any | 02 | External Server Error | Backend system failure, etc |
System | 504 | any | 00 | Timeout | timeout from the issuer |
APLIKASI PENGUJIAN
Akses Terbatas, Mohon Sign Up untuk Dapat Mengakses Halaman Ini