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

Payment Transaction

This API initiates the transfer of funds from the sender’s account (held by a Non-PJP Service User, PJP PIAS, or PJP AIS Non-Bank) at a PJP AIS Bank to a beneficiary account at another PJP AIS Bank, routed through a payment infrastructure provider such as RTOL or BI-FAST.

Technical Specification

Service Code: 17

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

amount

Object

M

1

2

Transaction amount

3

amount.value

String

M

1

16,2

Filled with transaction amount value. 2 decimal digits format

4

amount.currency

String

M

3

3

Filled with IDR

5

beneficiaryAccountNo

String

M

1

34

Beneficiary account number

6

currency

String

M

3

3

Currency (ISO 4217)

7

customerReference

String

O

1

30

Reference Number / No Referral / Transaction ID

8

remark

String

O

1

50

Transaction remark

9

sourceAccountNo

String

M

1

19

Source account number

10

transactionDate

String

M

1

25

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

11

additionalInfo

Object

M

1

1

12

additionalInfo.verificationId

String

M

1

64

Verify widget uniqId

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 upon successful transaction

4

partnerReferenceNo

String

O

1

64

Transaction identifier on service consumer system

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

beneficiaryAccountNo

String

M

1

34

Beneficiary account number

9

currency

String

M

3

3

Filled with IDR

10

sourceAccountNo

String

M

1

19

Source account number

11

transactionDate

String

M

1

25

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

12

originatorInfos

Array of Objects

C

1

1

The Originator Customer Account Details

To be filled if there is a request from the sender or if the consent from sender has been granted.

This is subject to Article 8 paragraph 5 of Law No. 3 of 2011 concerning Fund Transfers.

Also check for other provisions, such as the PPATK regulation.

13

originatorInfos[].originatorCustomerNo

String

M

1

34

Originator customer account number

14

originatorInfos[].originatorCustomerName

String

M

1

100

Originator customer account name

15

originatorInfos[].originatorBankCode

String

M

1

11

Originator bank code

16

additionalInfo

Object

M

1

2

17

additionalInfo.beneficiaryAccountName

String

M

1

64

Destination account name

18

additionalInfo.feeAmount

Object

O

1

2

19

additionalInfo.feeAmount.value

String

M

1

16,2

Partner fee amount value with 2 decimal digits format

20

additionalInfo.feeAmount.currency

String

M

3

3

Fee amount currency

Sample Response

Response Code & Message

No
HTTP Code
Code
Message

1

200

2001700

Successful

2

400

4001700

Bad request

3

400

4001701

Invalid field format {field}

4

400

4001702

Invalid mandatory field {field}

5

401

4011701

Invalid token (B2B)

6

401

4011700

Unauthorised. [Reason]

7

401

4011702

Invalid Customer Token

8

401

4011703

Token Not Found (B2B)

9

401

4011704

Customer Token Not Found

10

403

4031701

Feature not allowed

11

403

4031704

Activity count limit exceeded

12

403

4031714

Insufficient Funds

13

404

4041708

Invalid merchant

14

500

5001700

General error

15

500

5001701

Internal Server Error

16

500

5001702

External Server Error

17

504

5041700

Timeout

Last updated