Payment (Host-to-Host)
This API initiates a QRIS MPM (Merchant Presented Mode) payment from the consumer’s account in PJP AIS Bank or Non-Bank. The payment request is triggered after decoding the QR and obtaining an OTT (One-Time Token) for authorization.
Technical Specification
Service Code: 50Required Headers
Use the standard Linkage authentication headers, signature, and device context on every request.
1
Content-Type
String
M
Fill with application/json
2
Authorization
String
M
Access token B2B
3
Authorization-Customer
String
M
Access token B2B2C
4
X-TIMESTAMP
String
M
Timestamp in RFC3339 format: yyyy-MM-ddTHH:mm:ssTZD
5
X-PARTNER-ID
String
M
Client ID provided by Finnet
7
X-EXTERNAL-ID
String
M
Random string that must be unique within a day for each partner with max 36 characters
8
CHANNEL-ID
String
M
Device identification on which the API services is currently being accessed by the End User (Customer)
9
ORIGIN
String
M
The domain of the calling application
10
X-IP-ADDRESS
String
M
The IP address of the device
11
X-DEVICE-ID
String
M
The unique identifier of the device
12
X-LATITUDE
String
M
The latitude coordinate from the device’s GPS
13
X-LONGITUDE
String
M
The longitude coordinate from the device’s GPS
Body Request
1
partnerReferenceNo
String
M
1
64
Transaction identifier on service consumer system
2
merchantId
String
M
1
64
Identifier provided at the time of linking
3
amount
Object
M
1
2
Transaction amount
4
amount.value
String
M
1
16,2
Filled with transaction amount value.
2 decimal digits format
5
amount.currency
String
M
3
3
Filled with IDR
6
feeAmount
Object
M
1
2
Transaction fee amount
7
feeAmount.value
String
M
1
16,2
Filled with transaction fee amount value.
2 decimal digits format
8
feeAmount.currency
String
M
3
3
Filled with IDR
9
verificationId
String
M
1
64
Verify widget uniqId
10
additionalInfo
Object
M
1
1
Additional information for custom use that are not provided by SNAP
11
additionalInfo.reffFlag
String
M
1
64
The final reference number (identical to the referenceNo obtained during the QR verification process).
Sample Request
Body Response
1
responseCode
String
M
1
7
Response code
2
responseMessage
String
M
1
150
Response description
3
referenceNo
String
C
1
64
Transaction identifier on service provider system. Must be filled upon successful transaction
4
partnerReferenceNo
String
O
1
64
Transaction identifier on service consumer system
5
transactionDate
String
M
1
25
Transaction date and time in ISO 8601 format.
YYYY-MM-DDThh:mm:ssZ
6
amount
Object
O
1
2
7
amount.value
String
M
1
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
8
amount.currency
String
M
3
3
Currency (ISO 4217)
9
feeAmount
Object
O
1
2
10
feeAmount.value
String
M
1
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
11
feeAmount.currency
String
M
3
3
Currency (ISO 4217)
13
verificationId
String
M
1
64
Verify widget uniqId
Sample Response
Response Code & Message
1
200
2005000
Successful
2
400
4005000
Bad request
3
400
4005001
Invalid field format {field}
4
400
4005002
Invalid mandatory field {field}
5
401
4015001
Invalid token (B2B)
6
401
4015000
Unauthorised. [Reason]
7
401
4015002
Invalid Customer Token
8
401
4015003
Token Not Found (B2B)
9
401
4015004
Customer Token Not Found
10
403
4035001
Feature not allowed
11
403
4035004
Activity count limit exceeded
12
403
4035014
Insufficient Funds
13
404
4045008
Invalid merchant
14
500
5005000
General error
15
500
5005001
Internal Server Error
16
500
5005002
External Server Error
17
504
5045000
Timeout
Last updated

