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