Kas-001-API-kaspro Snap API Document v.0.6
Kas-001-API-kaspro Snap API Document v.0.6
Kas-001-API-kaspro Snap API Document v.0.6
DOCUMENT CONTROL
Copyright © 2022 DigiAsia Bios. All right reserved
TABLE OF CONTENTS
TABLE OF FIGURE
Figure 4.1.1-1 Customer Registration for New Partner Sequence Diagram (Ref: KAS-API-SEQ-SNAP-001) ........... 21
Figure 5.1.1-1 Customer Balance Inquiry Sequence Diagram (Ref: KAS-API-SEQ-SNAP-002) ................................ 28
Figure 6.1.1-1 Two Factor Authentication Token Sequence Diagram (Ref: KAS-API-SEQ-SNAP-003) .................... 31
Figure 7.2.1-1 Payment to Merchant Using Barcode Sequence Diagram (Ref: KAS-API-SEQ-SNAP-004) .............. 35
Figure 7.5.1-1 Transaction Check Status Sequence Diagram (Ref: KAS-API-SEQ-017) ........................................... 43
Figure 7.7.1-1 P2P Sequence Diagram (Ref: KAS-API-SEQ-SNAP-004).................................................................... 48
Figure 7.8.1-1 Transfer to Bank (Sync) Sequence Diagram (Ref: KAS-API-SEQ-SNAP-004) .................................... 55
Figure 7.8.1-2 Transfer to Bank (Async) Sequence Diagram (Ref: KAS-API-SEQ-SNAP-004) .................................. 56
Figure 9.5-1 Full Payment Reversal Sequence Diagram (Ref: KAS-API-SEQ-013) ................................................... 61
Figure 9.4-1 Get Token Sequence Diagram ............................................................................................................ 64
Figure 8.1.1-1 Decode QR MPM Sequence Diagram (Ref: KAS-API-SEQ-SNAP-006) .............................................. 68
Figure 8.2.1-1 QRIS MPM Payment Sequence Diagram (Ref: KAS-API-SEQ-SNAP-007) ......................................... 70
Figure 8.3.1-1 QRIS Transaction Status Diagram (Ref: KAS-API-SEQ-017) .............................................................. 74
Figure 9.1-1 Upgrade Customer with OCR Sequence Diagram (Ref: KAS-API-SEQ-003) ........................................ 78
Figure 9.2-1 Upgrade Customer Account with Passport and SIM Sequence Diagram (Ref: KAS-API-SEQ-002) ..... 84
1 Introduction
1.2 Goals
This document is intended to be used by institutions who wish to integrate with KasPro. It will explain
features of the system, what the system will do, the constraints under which it must operate and how the
system will react to user behavior.
2 Standard Security
The encryption method used is the encryption method that has been standardized by SNAP BI,
for the encryption methods used are as follows:
In the use of private and public keys, private and public keys will be generated with the
specified delivery method:
- 1st Email: contains archived file (zip with password) that will be send to eligible partner/
appointed by partner in PKS
- 2nd Email: contains password from zip file to eligible partner/ appointed by partner in PKS
In accessing the API, partner is required to request an access token. Access tokens are
provided for B2B and B2B2C transactions.
Body grantType Mandatory String Apply token request key type, can be
AUTHORIZATION_CODE or
REFRESH_TOKEN.
Base64(HMAC_SHA512
(clientSecret, stringToSign))
Notes:
1. endpointUrl : disi dengan
full url tujuan transaksi.
2. Untuk method Get dimana
body kosong maka wajib di
isi dengan string kosong.
Base64(HMAC_SHA512
(clientSecret, stringToSign))
Notes :
1. endpointUrl : disi dengan
full url tujuan transaksi.
2. Untuk method Get dimana
body kosong maka wajib di
isi dengan string kosong.
X-PARTNER-ID Mandatory String(36) Represent Partner Identification
X-EXTERNAL- ID Mandatory String(36) Represent Reference No from
Partner which should be unique in
a day.
CHANNEL-ID Optional String(5) Represent Channel Id
being used from user.
4 Customer Registration
Figure 4.1.1-1 Customer Registration for New Partner Sequence Diagram (Ref: KAS-API-SEQ-SNAP-001)
Body Body
{ {
"code": 0, "code": 110005
"message": "Success", "message": "Account not found"
"data": { }
"firstName": "Galih",
"middleName": "Prihatmadi",
"lastName": "Satya",
"fullName": "Galih Satya",
"accountType": "subscriber",
"accountStatus": "ACTIVE",
"customerType": "",
"email": "[email protected]",
"mobileNumber": "081218888888",
"kycStatus": "ACTIVE"
}
}
Request
Parameter Data Type Mandatory Length Description
mobileNumber Numeric M 16 User’s phone number.
Response
Parameter Data Type Mandatory Length Description
Code Int M 6 Response code
Message String M 150 Response description
Data Object M Response data
firstName String M 50 First name of the customer
middleName String O 50 Middle name of the customer
lastName String M 50 Last name of the customer
fullName String M 150 Full name of the customer
accountType String M 20 Type of the customer:
subscriber/premium/corporate
/Merchant
accountStatus String M 10 Status of the customer:
ACTIVE/INACTIVE
customerType String M 20 NULL
Email String O 254 Email of the customer
mobileNumber Numeric M 16 User’s phone number.
kycStatus String M 10 KYC status of the customer:
NULL/PENDING/ACTIVE
X-PARTNER-ID: [alphanumeric]
X-EXTERNAL-ID: [alphanumeric]
CHANNEL-ID: [alphanumeric]
Body
{
"partnerReferenceNo": "2020102900000000000001",
"countryCode": "ID",
"customerId": "00-abcdefghijklmnopqrstuvwxyz0123456789-11",
"email": "[email protected]",
"phoneNo": "0899345678864332",
"additionalInfo": {
"firstName": "Galih",
"lastName": "Satya",
"twoFaToken": "01023"
}
}
Response (Success) Response (Fail)
Headers Headers
Content-Type:application/json Content-Type:application/json
Body Body
{ {
"responseCode": "2000600", "responseCode": "4000600",
"responseMessage": "Request has been "responseMessage": "Bad Request"
processed successfully", }
"referenceNo":
"2020102977770000000009"
"partnerReferenceNo":
"2020102900000000000001"
"authCode":
"g4JeIz43jfjVvAvNxswe56g4JeIz43jfjV",
}
Request
Parameter Data Type Mandatory Length Description
partnerReferenceNo String M 64 Transaction identifier on
service consumer system
countryCode String M 2 Requestor’s country code
customerId String M 45 account ID of the customer
email String M 254 Email of the customer
phoneNo String M 16 User’s phone number
additionalInfo Object M Additional information
firstName String M 50 First name of the customer
Response
Parameter Data Type Mandatory Length
responseCode String M 7 Response code
responseMessage String M 150 Response description
referenceNo String M 64 Transaction identifier on
service provider system.
Must be filled upon
successful transaction
partnerReferenceNo String M 64 Transaction identifier on
service consumer system
authCode String M 64 the auth code used to get
accessToken and
agreementToken
additionalInfo Object M Additional information
{
"phoneNo": "081398458855"
}
Response (Success) Response (Fail)
Headers Headers
Content-Type:application/json Content-Type:application/json
Body Body
{ {
"responseCode": "2000000", "responseCode": "4000000",
"responseMessage": "Request has been "responseMessage": "Bad Request"
processed successfully", }
"referenceNo": "2020102977770000000009"
"partnerReferenceNo":
"2020102900000000000001"
"authCode":
"g4JeIz43jfjVvAvNxswe56g4JeIz43jfjV",
}
Request
Parameter Data Type Mandatory Length Description
phoneNo String M 16 User’s phone number
Response
Parameter Data Type Mandatory Length
responseCode String M 7 Response code
responseMessage String M 150 Response description
referenceNo String M 64 Transaction identifier on
service provider system.
Must be filled upon
successful transaction
partnerReferenceNo String M 64 Transaction identifier on
service consumer system
authCode String M 64 the auth code used to get
accessToken and
agreementToken
additionalInfo Object M Additional information
Body
{
"partnerReferenceNo": "2020102900000000000001",
"accountNo": "7382382957893840",
"balanceTypes": [
"200",
]
}
Body Body
{ {
"responseCode": "2001100", "responseCode": "4041111",
"responseMessage": "Request has been "responseMessage": "Account not found"
processed successfully", }
"referenceNo": "2020102977770000000009",
"partnerReferenceNo":
"2020102900000000000001",
"accountNo": "115471119",
"name": "Galih Satya",
"accountInfo": [
{
"availableBalance": {
"value": "20000.00",
"currency": "IDR",
}
}
]
}
Request
Parameter Data Type Mandatory Length Description
partnerReferenceNo String M 64 Transaction identifier on
service consumer system
accountNo String M 16 Account number.
balanceTypes Array of C 3 Balance types, use "200" for
String default value
Response
Parameter Data Type Mandatory Length Description
responseCode String M 7 Response code
responseMessage String M 150 Response description
referenceNo String M 64 Transaction identifier on
service provider system. Must
be filled upon successful
transaction
partnerReferenceNo String M 64 Transaction identifier on
service consumer system
accountNo String M 32 Registered account number
Name String M 140 Customer account name
accountInfo Array M Account information
availableBalance Object M Balance information
Value String M 17 Value of the balance
Currency String M 3 Currency
Figure 6.1.1-1 Two Factor Authentication Token Sequence Diagram (Ref: KAS-API-SEQ-SNAP-003)
Body Body
{ {
"responseMessage": "Success", "responseMessage": "Account not found",
"responseCode": 0, "responseCode": 110005
"data": { }
"expiry": 180
}
}
Request
Parameter Data Type Mandatory Length Description
mobileNumber Numeric M 16 User’s phone number.
Response
Parameter Data Type Mandatory Length Description
responseCode String M 6 Response code
responseMessage String M 150 Response description
data Object M 2FA data
expiry Int M 4 2FA expiry
7 Transaction
Body
{
"partnerReferenceNo": "2020102900000000000001",
"beneficiaryAccountNo": "08121839000000",
"additionalInfo": {
"customerType": "Merchant"
}
Response (Success) Response (Fail)
Headers Headers
Content-Type:application/json Content-Type:application/json
Body Body
{ {
"responseCode": "2001500", "responseCode": "4041508",
"responseMessage": "Request has been "responseMessage": "Invalid Merchant",
processed successfully", }
"beneficiaryAccountName": "Tony Fajar",
"beneficiaryAccountNo": "08121839000000",
"beneficiaryAccountStatus": "ACTIVE",
"beneficiaryAccountType": "Merchant",
"currency": "IDR",
"additionalInfo":{
"customerType": "Merchant",
"walletNumber": "2003049382910",
}
Request
Parameter Data Type Mandatory Length Description
partnerReferenceNo String M 64 Transaction identifier on service
consumer system
beneficiaryAccountNo String M 34 Beneficiary Account Number
additionalInfo Object M Additional information
customerType String M 20 Type of customer:
Merchant/Customer
Response
Parameter Data Type Mandatory Length Description
responseCode String M 7 Response code
responseMessage String M 150 Response description
beneficiaryAccountName String M 100 Beneficiary Account Name
beneficiaryAccountNo String M 34 Beneficiary Account Number
beneficiaryAccountStatus String M 16 Beneficiary Account Status
beneficiaryAccountType String M 34 Beneficiary Account Type
Currency String M 3 Currency
additionalInfo Object M Additional information
customerType String M 20 Type of customer:
Merchant/Customer
Walletnumber String M 30 Account’s wallet number
Figure 7.2.1-1 Payment to Merchant Using Barcode Sequence Diagram (Ref: KAS-API-SEQ-SNAP-004)
Body
{
"partnerReferenceNo": "2020102900000000000001",
"amount": {
"value": "100000",
"currency": "IDR",
},
"beneficiaryAccountNo": "08121839000000",
"remark": "remark test",
"sourceAccountNo": "08398439239",
"transactionDate":"2019-07-03T12:08:56-07:00",
"additionalInfo": {
"customerType": "Merchant",
"walletNo": "2003049382910"
}
}
Response (Success) Response (Fail)
Headers Headers
Content-Type:application/json Content-Type:application/json
Body Body
{ {
"responseCode": "2001700", "responseCode": "4041708",
"responseMessage": "Request has been "responseMessage": "Invalid Merchant",
processed successfully", }
"referenceNo": "2020102977770000000009",
"partnerReferenceNo":
"2020102900000000000001",
"amount": {
"value": "10000",
"currency": "IDR",
},
"beneficiaryAccountNo": "08121839000000",
"customerReference": "10052019",
"sourceAccountNo": "08398439239",
"transactionDate": "2019-07-03T12:08:56-
07:00"
}
Request
Parameter Data Type Mandatory Length Description
partnerReferenceNo String M 64 Transaction identifier on
service consumer system
Amount Object M Transaction amount
Value String M 17 Net amount of the
transaction.
Currency String M 3 Currency
beneficiaryAccountNo String M 34 Beneficiary Account Number
Remark String O 50 Remark/transaction
description
sourceAccountNo String M 19 Source Account Number
transactionDate String M 25 transaction date: ISO 8601
additionalInfo Group M Additional information
customerType String M 20 Type of customer:
Customer/Merchant
walletNo String M 30 Account’s wallet number
Response
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
Amount Group O Transaction amount
Value String M 17 Net amount of the
transaction.
Currency String M 3 Currency
beneficiaryAccountNo String M 34 Beneficiary Account
customerReference String O 30 Reference Number / No
Referral
sourceAccountNo String O 19 Source Account
transactionDate String M 25 transaction date : ISO 8601
Body
{
"requestId": "MTAPI-02032022001002023",
"productCode": "PHONE",
"account": "422221",
"Params": [{
"Name": "kodeArea",
"Value": "021"
}]
}
Body Body
{ {
"responseId": "218103313", "responseId": "218103313",
"code": 0, "code": 550002,
"data": { "message": "There is no bill found to be paid",
"productCode": "PHONE", }
"description": "Success",
"nominal": "56485",
"price": "57485",
"serviceFee": "2500",
"params": [{
[Data varies by product]
}]
}
}
Request
Parameter Data Type Mandatory Length Description
requestId String M 64 Transaction identifier on service
consumer system
productCode String M 20 Product Code
account String M 30 Account (Customer’s number)
Params Array O Transaction parameters
Name String O 50 Name of parameters
Value String O 50 Value of parameters
Response
Parameter Data Type Mandatory Length Description
responseId String M 64 Transaction identifier on service
provider system. Must be filled
upon successful transaction
code Int M 6 Response code
message String M 150 Response description
data Object M Transaction data
params Array C Transaction parameters
amount String M 17 Transaction amount
price String M 17 Transaction sell price
serviceFee String M 17 Transaction fee
reffId String M 20 Transaction reference ID
Body
{
"requestId": "218103313",
"mobileNumber": "4222211",
"productCode": "PHONE",
"amount": "11000",
"sourceMobileNumber": "081218390200",
"Reffid": "18203823",
"Params": [{
"Name": "kodeArea",
"Value": "021"
}]
}
Response (Success) Response (Fail)
Headers Headers
Content-Type:application/json Content-Type:application/json
Body Body
{ {
"responseId": "15202931092", "responseId": "218103313",
"code": 0, "code": 550002,
"message": "Success", "message": "There is no bill found to be paid",
"data": { }
"amount": "10000",
"price": "11500",
"serviceFee": "500",
"reffId": "12309123180",
"Params":
[Data varies by product]
}
}
Request
Parameter Data Type Mandatory Length Description
requestId String M 64 Transaction identifier on
service consumer system
mobileNumber String M 16 User’s phone number.
productCode String M 5 Product Code
amount String M 17 Transaction amount
sourceMobileNumber String M 16 Source Mobile Number
Reffid String M 20 Transaction reference ID
params Array O Transaction parameters
Name String O 50 Name of parameters
Value String O 50 Value of parameters
Response
Parameter Data Type Mandatory Length Description
responseId String M 64 Transaction identifier on service
provider system. Must be filled
upon successful transaction
code Int M 6 Response code
message String M 150 Response description
data Object M Transaction data
mobileNumber String M 16 User’s phone number.
amount String M 17 Transaction amount
price String M 17 Transaction sell price
serviceFee String M 17 Transaction fee
reffId String M 20 Transaction reference ID
Headers
Content-Type: application/json
Authorization: Bearer [token]
X-TIMESTAMP: 2020-12-18T15:06:00+07:00
X-SIGNATURE: [alphanumeric]
X-PARTNER-ID: [alphanumeric]
X-EXTERNAL-ID: [alphanumeric]
CHANNEL-ID: [alphanumeric]
Response (Success) Response (Fail)
Headers Headers
Content-Type:application/json Content-Type:application/json
Body Body
{ {
"code": 0, "responseId": "",
"message": "Success", "code": 550002,
"transaction": { "message": "General Error"
"requestId": "HCI220309PPOB668509127", }
"updateAt": "2022-03-09T19:01:08.619Z",
"type": "Biller Payment",
"product": null,
"laststage": "Payment",
"statuscode": "0",
"status": "Success",
"description": "Transaction success"
}
}
Request
Parameter Data Type Mandatory Length Description
requestId String M 64 Transaction identifier on service
consumer system
Response
Parameter Data Type Mandatory Length Description
code Int M 6 Response code
message String M 150 Response description
transaction Object M Transaction data
requestId String M 16 Transaction identifier on service
consumer system
updateAt String M 17 Transaction latest stage
timestamp
type String M 17 Transaction type
product String M 17 Transaction product
laststage String M 20 Transaction last stage
statuscode String M 20 Transaction status code
status String M 20 Transaction status
description String M 50 Transaction description
Body
{
"partnerReferenceNo": "2020102900000000000001",
"beneficiaryAccountNo": "08121839000000",
"additionalInfo": {
"customerType": "Merchant/Customer/Agent",
“walletGroup”: “200”
}
Response (Success) Response (Fail)
Headers Headers
Content-Type:application/json Content-Type:application/json
Body Body
{ {
"responseCode": "2001500", "responseCode": "4041511",
"responseMessage": "Request has been "responseMessage": " Invalid
processed successfully", Card/Account/Customer [info]/Virtual Account",
"beneficiaryAccountName": "Tony Fajar", }
"beneficiaryAccountNo": "08121839000000",
"beneficiaryAccountStatus": "ACTIVE",
"beneficiaryAccountType":
"Merchant/Customer/Agent ",
"currency": "IDR",
"additionalInfo":{
"customerType":
"Merchant/Customer/Agent ",
"walletNumber": "2003049382910",
“walletGroup”: “200”
}
Request
Parameter Data Type Mandatory Length Description
partnerReferenceNo String M 64 Transaction identifier on service
consumer system
beneficiaryAccountNo String M 34 Beneficiary Account Number
additionalInfo Object M Additional information
customerType String M 20 Type of customer:
Merchant/Customer/Agent
walletGroup String O 3 Example: 200/211/212
Response
Parameter Data Type Mandatory Length Description
responseCode String M 7 Response code
responseMessage String M 150 Response description
beneficiaryAccountName String M 100 Beneficiary Account Name
beneficiaryAccountNo String M 34 Beneficiary Account Number
beneficiaryAccountStatus String M 16 Beneficiary Account Status
beneficiaryAccountType String M 34 Beneficiary Account Type
Currency String M 3 Currency
additionalInfo Object M Additional information
customerType String M 20 Type of customer:
Merchant/Customer/Agent
walletnumber String M 30 Account’s wallet number
walletGroup String O 3 Example: 200/211/212
Body
{
"partnerReferenceNo": "2020102900000000000001",
"amount": {
"value": "100000",
"currency": "IDR",
},
"beneficiaryAccountNo": "08121839000000",
"remark": "remark test",
"sourceAccountNo": "08398439239",
"transactionDate":"2019-07-03T12:08:56-07:00",
"additionalInfo": {
"customerType": "Merchant/Customer/Agent",
"walletNo": "2003049382910",
"walletGroup": "200"
}
}
Response (Success) Response (Fail)
Headers Headers
Content-Type:application/json Content-Type:application/json
Body Body
{ {
"responseCode": "2001700", "responseCode": "4041711",
"responseMessage": "Request has been "responseMessage": " Invalid
processed successfully", Card/Account/Customer [info]/Virtual Account ",
"referenceNo": "2020102977770000000009", }
"partnerReferenceNo":
"2020102900000000000001",
"amount": {
"value": "10000",
"currency": "IDR",
},
"beneficiaryAccountNo": "08121839000000",
"customerReference": "10052019",
"sourceAccountNo": "08398439239",
"transactionDate": "2019-07-03T12:08:56-
07:00"
}
Request
Parameter Data Type Mandatory Length Description
partnerReferenceNo String M 64 Transaction identifier on
service consumer system
Amount Object M Transaction amount
Value String M 17 Net amount of the
transaction.
Currency String M 3 Currency
beneficiaryAccountNo String M 34 Beneficiary Account Number
Remark String O 50 Remark/transaction
description
sourceAccountNo String M 19 Source Account Number
transactionDate String M 25 transaction date: ISO 8601
additionalInfo Group M Additional information
customerType String M 20 Type of customer:
Customer/Merchant/Agent
walletNo String M 30 Account’s wallet number
walletGroup String O 3 Example: 200/211/212
Response
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
Amount Group O Transaction amount
Value String M 17 Net amount of the
transaction.
Currency String M 3 Currency
beneficiaryAccountNo String M 34 Beneficiary Account
customerReference String O 30 Reference Number / No
Referral
sourceAccountNo String O 19 Source Account
transactionDate String M 25 transaction date : ISO 8601
Body
{
"partnerReferenceNo":"2020102900000000000001",
"customerNumber":"081388370001",
"amount":{
"value":"10000.00",
"currency":"IDR"
},
"beneficiaryAccountNumber":"8377388292",
"additionalInfo":{
" beneficiaryBankCode ":"003",
}
}
Response (Success) Response (Fail)
Headers Headers
Content-Type:application/json Content-Type:application/json
Body Body
{ {
"responseCode":"2004200", "responseCode": "4044213",
"responseMessage":"Request has been "responseMessage": " Invalid Amount",
processed successfully", }
"referenceNo":"2020102977770000000009",
"partnerReferenceNo":"2020102900000000000
001",
"beneficiaryAccountNumber":"8377388292",
"beneficiaryAccountName":"John Doe",
"beneficiaryBankCode":"003",
"beneficiaryBankName":"Mandiri",
"amount":{
"value":"10000.00",
"currency":"IDR"
},
"sessionId":"0UYEB77329002HY",
"additionalInfo":{
" beneficiaryBankCode ":" 003 ",
}
}
Request
Parameter Data Type Mandatory Length Description
partnerReferenceNo String M 64 Transaction identifier on
service consumer system
customerNumber String M 32 Customer Account Number
amount Object M 17
value String M 16 Net amount of the
transaction.
Response
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
beneficiaryAccountNumber String M 32 Beneficiary account number
beneficiaryAccountName String M 64 Beneficiary account name
beneficiaryBankCode string O 8 Bank code
beneficiaryBankName String O 25 Bank name
amount Object M
Value String M 16 Net amount of the
transaction.
Body
{
"partnerReferenceNo":"2020102900000000000001",
"customerNumber":"081388370001",
"beneficiaryAccountNumber":"8377388292",
"beneficiaryBankCode":"003",
"amount":{
"value":"10000.00",
"currency":"IDR"
},
}
Response (Success) Response (Fail)
Headers Headers
Content-Type:application/json Content-Type:application/json
Body Body
{ {
"responseCode":"2004300", "responseCode": "4044313",
"responseMessage":"Request has been "responseMessage": " Invalid Amount ",
processed successfully", }
"referenceNo":"2020102977770000000009",
"partnerReferenceNo":"2020102900000000000
001",
"transactionDate":"2020-12-
21T17:48:41+07:00",
"referenceNumber":"REF993883",
}
Request
Parameter Data Type Mandatory Length Description
partnerReferenceNo String M 64 Transaction identifier on
service consumer system
customerNumber String M 32 Customer Account Number
beneficiaryAccountNumber string M 32 Destination account
number
beneficiaryBankCode string O 8 Bank code
amount Object M
partnerReferenceNo String M 64 Transaction identifier on
service consumer system
customerNumber String M 32 Customer Account Number
value String M 16 Net amount of the
transaction.
Response
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
transactionDate yyyyMMddhhmmss O 25 Transaction date
referenceNumber String M 64 Reference number
additionalInfo Object O Additional information
Body Body
{ {
"code": 0, "code": 999999,
"message": “Success” "message": “General Error”
"data": [ }
{
"bankCode": “003”,
"bankName": “Mandiri”,
}
],
}
Request
Parameter Data Type Mandatory Length Description
mobileNumber Numeric M 16 User’s phone number.
Response
Parameter Data Type Mandatory Length Description
bankCode String M 8 Bank code
bankName String M 25 Bank Name
message String C 25 0 = Success
888888 = Timeout
999999= General
Error
Sample Request
Headers
Content-Type:application/json
Body
{
code: 0,
message: 'Success',
responseId: 'XKLEZ20220309143636215',
type: 'bank_transfer',
data: { account: '888809999999918', amount: '33849' }
}
7.8.4.1 Authorization
1. Username
2. Password
3. Method: POST
4. Header
Body
{
"requestId": [string][m],
"mobileNumber": [numeric][m],
"reason": [string][m],
"referenceId" : [string][m]
}
Response (Success) Response (Fail)
Headers Headers
Content-Type:application/json Content-Type:application/json
Body Body
{ {
"responseId": [string], "responseId": [string],
"message": [string], "code": [int],
"code": [int] "message": [string]
} }
Request
Parameter Data Type Mandatory Length Description
requestId String M 64 Transaction identifier on
service consumer system
mobileNumber String M 16 User’s phone number.
reason String M 150 Reason
referenceId String M 64 Transaction identifier on
service provider system.
Response
Parameter Data Type Mandatory Length Description
responseId String M 64 Transaction identifier on service
provider system. Must be filled
upon successful transaction
code Int M 6 Response code
message String M 150 Response description
}
}
Response (Success) Response (Fail)
Headers Headers
Content-Type:application/json Content-Type:application/json
Body Body
{ {
"code": [int], " response-id ": [string],
"message": [string], "code": [int],
"response-id": [string], "message": [string]
"payment-type": [string], }
"transaction-time": [datetime],
"transaction-status": [string],
"transaction-details": {
"name": [string],
"amount": [money],
"order-id": [string]
},
"va-details": {
"bank": [string],
"expired": [datetime],
"va-number": [numeric]
}
}
8 QRIS
Body
{
"partnerReferenceNo": "012238291023",
"qrContent": "00020101...",
"scanTime": "2020-12-23T08:27:11+07:00",
Body Body
{ {
"responseCode": "2004800", "responseCode": "4044808",
"responseMessage": "Invalid Merchant",
Request
Parameter Data Type Mandatory Length Description
partnerReferenceNo String M 12 Transaction identifier on
service consumer system
qrContent String M 512 QR Raw String
scanTime String M 25 The time when the QRIS
scanned by the User
ISO 8601
Response
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
merchantName String C 25 Merchant Name
merchantCategory String C 32 Merchant Category
merchantLocation String C 25 Merchant Location
transactionAmount Object O Amount of transaction
value String M 17 Net amount of the
transaction.
currency String M 3 Currency
Body
{
"partnerReferenceNo": "012238291023",
"amount": {
"value": "10000",
"currency": "IDR",
},
"feeAmount": {
"value": "1000",
"currency": "IDR",
},
"additionalInfo": {
"sourceAccountNo": "081218399991",
"isPL": "true"
}
}
Response (Success) Response (Fail)
Headers Headers
Content-Type:application/json Content-Type:application/json
Body Body
{ {
"responseCode": "2005000", "responseCode": 4045008"",
"responseMessage": "Request has been "responseMessage": "Invalid Merchant"
processed successfully", }
"referenceNo": "2020102977770000000009",
"partnerReferenceNo": "012238291023",
"transactionDate": "2020-12-
23T08:37:11+07:00",
"amount": {
"value": "10000",
"currency": "IDR",
},
"feeAmount": {
"value": "1000",
"currency": "IDR",
}
}
Request
Parameter Data Type Mandatory Length Description
partnerReferenceNo String M 12 Transaction identifier
on service consumer
system
amount Object C Transaction amount,
Mandatory if QR type is
Static
value String M 17 Net amount of the
transaction.
currency String M 3 Currency
feeAmount Object O Transaction fee, can be
filled if fee type (Tag 55)
is 01
value String M 17 Fee amount of the
transaction
currency String M 3 Currency
AdditionalInfo Group M Additional information
sourceAccountNo String M 25 Source Account Number
billNumber String O 25 Bill Number
storeLabel String O 25 Store Label
loyaltyNumber String O 25 Loyalty Number
referenceLabel String O 25 Reference Label
customerLabel String O 25 Customer Label
terminalLabel String O 25 Terminal Label
purposeOfTransaction String O 25 Purpose of Transaction
isPL String C 5 true/false
Response
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
Body
{
"originalReferenceNo": "2020102977770000000009",
"originalPartnerReferenceNo": "012238291023",
"originalExternalId": "012238291023",
"serviceCode": "50",
}
Response (Success) Response (Fail)
Headers Headers
Content-Type:application/json Content-Type:application/json
Body Body
{ {
"responseCode": "2005100", "responseCode": "5055108",
Request
Parameter Data Type Mandatory Length Description
originalReferenceNo String O 64 Original transaction
identifier on service
provider system
originalPartnerReferenceNo String O 64 Original transaction
identifier on service
consumer system
originalExternalId String O 32 Original External-ID
on header message
serviceCode String M 2 Transaction type
indicator (service
code of the original
transaction request)
Response
Parameter Data Type Mandatory Length Description
responseCode String M 7 Response code
responseMessage String M 150 Response description
originalReferenceNo String C 64 Original transaction
identifier on service
provider system.
Must be filled upon
successful
transaction
Figure 9.1-1 Upgrade Customer with OCR Sequence Diagram (Ref: KAS-API-SEQ-003)
"rtrw": "",
"address": "",
"province": "",
"district": "",
"subDistrict": "",
"occupation": "",
"birthPlace": "",
"gender": "",
"birthDate": "",
"idExpiredDate": "",
"bloodType": "",
"villageDistrict": "",
"nationality": "",
"maritalStatus": ""
}
Figure 9.2-1 Upgrade Customer Account with Passport and SIM Sequence Diagram (Ref: KAS-API-SEQ-002)
X-EXTERNAL-ID: [alphanumeric]
CHANNEL-ID: [alphanumeric]
Body: form data
{
"photo": [files],
"idCard": [files],
"selfieWithIdCard": [files],
"requestId": [string],
"msisdn": [numeric],
"email": [numeric],
"idType": [string],
"idNumber": [string],
"fullName": [string],
"birthPlace": [string],
"birthDate": [date],
"gender": [string],
"bloodType": [string],
"religion": [string],
"maritalStatus": [string],
"occupation": [string],
"nationality": [string],
"idExpiryDate": [date],
"address": [string],
"district": [string],
"village": [string],
"rtRw": [string],
"dateOfIssue": [date],
"dateOfExpired" : [date],
"registrationNumber": [numeric],
"issuingOffice": [string],
}
Response (Success) Response (Fail)
Headers Headers
Content-Type:application/json Content-Type:application/json
Body Body
{ {
data {"requestId": [string]}, "reponseId": [string],
"message": [string], "code": [int],
"code": [int] "message": [string]
} }
10 AML
Resonse
Headers
Content-Type:application/json
Body
{
"code": [int],
"message": [string],
"data": {
"currentBalance": [numeric],
"remainingCreditAmount": [numeric],
"remainingMonthlyTransaction": [numeric],
"remainingMaxBalance": [numeric],
"accountType": [string],
"accountStatus": [string]
}
}