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

Payment Notification

This API is used by PJP AIS to send the final status of a QRIS MPM transaction (success or failure) to the party that initiated the transaction, ensuring accurate and timely completion updates.

Technical Specification

Service Code: 52

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

originalReferenceNo

String

M

1

64

Original transaction identifier on service provider system

2

originalPartnerReferenceNo

String

M

1

64

Transaction identifier number from partner

3

latestTransactionStatus

String

M

1

64

Latest transaction status labelled with constants

4

transactionStatusDesc

String

O

1

50

Transaction status description

5

amount

Object

M

1

2

Transaction amount

6

amount.value

String

M

1

16,2

Filled with transaction amount value. 2 decimal digits format

7

amount.currency

String

M

3

3

Filled with IDR

8

feeAmount

Object

M

1

2

Transaction fee amount

9

feeAmount.value

String

M

1

16,2

Filled with transaction fee amount value. 2 decimal digits format

10

feeAmount.currency

String

M

3

3

Filled with IDR

11

additionalInfo

Object

O

1

6

Additional information for custom use that are not provided by SNAP

12

additionalInfo.merchantName

Numeric

M

1

19

Merchant Name, Mandatory if using H2H mode for transaction

13

additionalInfo.acquirerName

String

M

1

50

Acquirer Name, Mandatory if using H2H mode for transaction

14

additionalInfo.merchantLocation

String

C

1

25

Merchant location. Mandatory if using H2H mode

15

additionalInfo.merchantPAN

Numeric

M

1

19

Merchant PAN, Mandatory if using H2H mode for transaction

16

additionalInfo.customerPAN

Numeric

M

1

19

Customer PAN, Mandatory if using H2H mode for transaction

17

additionalInfo.terminalId

String

O

1

16

Terminal identification

18

additionalInfo.transactionDate

String

M

1

25

Transaction date and time in ISO 8601 format. YYYY-MM-DDThh:mm:ssZ

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

Sample Response

Response Code & Message

No
HTTP Code
Code
Message

1

200

2005200

Successful

2

400

4005200

Bad request

3

400

4005201

Invalid field format {field}

4

400

4005202

Invalid mandatory field {field}

5

401

4015201

Invalid token (B2B)

6

401

4015200

Unauthorised. [Reason]

7

401

4015202

Invalid Customer Token

8

401

4015203

Token Not Found (B2B)

9

401

4015204

Customer Token Not Found

10

403

4035201

Feature not allowed

11

403

4035204

Activity count limit exceeded

12

403

4035214

Insufficient Funds

13

404

4045208

Invalid merchant

14

500

5005200

General error

15

500

5005201

Internal Server Error

16

500

5005202

External Server Error

17

504

5045200

Timeout

Last updated