For the complete documentation index, see llms.txt. This page is also available as Markdown.

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: 48

Required Headers

Use the standard Linkage authentication headers, signature, and device context on every request.

No
Name
Type
Mandatory
Description

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

6

X-SIGNATURE

String

M

BI SNAP symmetric signature. See Signature for details.

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

No
Name
Type
Mandatory
Min Length
Max Length
Description

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

No
Name
Type
Mandatory
Min Length
Max Length
Description

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

No
HTTP Code
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