Decode
This API is used by PJP PIAS to decode the QR content generated by the Non-PJP Service User. It extracts structured payment information from the QR code, allowing further processing of the MPM transaction.
Technical Specification
Service Code: 48Required 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
qrContent
String
M
1
512
Content of QRIS Scanned via user Mobile Phone
3
amount
Object
M
1
2
Transaction amount
4
amount.value
String
M
1
16,2
Filled with transaction amount value
5
amount.currency
String
M
3
3
Currency code. Fill with IDR
6
scanTime
Timestamp
O
1
25
Timestamp while QRIS scanned
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 on successful transaction
4
partnerReferenceNo
String
O
1
64
Transaction identifier on service consumer system
5
redirectUrl
String
C
1
512
Redirect URL to go to PJSP page to process the payment. Mandatory if H2H mode
6
merchantName
String
C
1
25
Reference name Mandatory if H2H mode
7
merchantCategory
String
C
1
32
Merchant category. Mandatory for H2H mode
8
merchantLocation
String
C
1
25
Merchant location. Mandatory if H2H mode
9
merchantInfos
Array of Objects
O
1
2
Merchant account information
10
merchantInfos[].merchantPAN
Numeric
M
1
19
Merchant PAN. Mandatory if using H2H mode for transaction
11
merchantInfos[].acquirerName
String
M
1
50
Acquirer Name , Mandatory if using H2H mode for transaction
12
transactionAmount
Object
O
1
2
13
transactionAmount.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
14
transactionAmount.currency
String
M
3
3
Currency (ISO4217)
15
feeAmount
Object
O
1
2
16
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
17
feeAmount.currency
String
M
3
3
Currency (ISO4217)
18
additionalInfo
Object
O
1
3
Additional information for custom use that are not provided by SNAP
19
additionalInfo.pointOfMethod
String
M
2
2
Type of QRIS.
11 = Static,
12 = Dynamic
20
additionalInfo.tipsPercentage
String
C
1
16,2
Mandatory for percentage tips type. This is value of percentage tips
21
additionalInfo.tipsType
String
M
2
2
Type of fee.
00 = without fee,
01 = input fee,
02 = given fee,
03 = percentage fee
Sample Response
Response Code & Message
1
200
2004800
Successful
2
400
4004800
Bad request
3
400
4004801
Invalid field format {field}
4
400
4004802
Invalid mandatory field {field}
5
401
4014801
Invalid token (B2B)
6
401
4014800
Unauthorised. [Reason]
7
403
4034801
Feature not allowed
8
500
5004800
General error
9
504
5044800
Timeout
Last updated

