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

Payment Method Options Object

{
  "id": "ea35b4d0-79fc-461b-84a0-a4e8e64eecd9",
  "card": {
    "captureMethod": "automatic", // "MANUAL" for Capture later
    "threeDsMethod": "CHALLENGE", // "NEVER" for Non 3DS, "EXTERNAL" for using own MPI
    "processingConfig": {
      "bankMerchantId": null,
      "merchantIdTag": null
    },
    "threeDsInfo": { // Applicable for `threeDsMethod` = EXTERNAL
      "transactionId": "019b9cd3-72ea-7e13-a6e6-1bffcd279195",
      "threeDsVersion": "2.2.0",
      "eci": "05",
      "transactionStatus": "Y",
      "authenticationScheme": "VISA",
      "acsTransactionId": "223e4567-e89b-12d3-a456-426614174999",
      "acsReference": "ACS_REF_001",
      "authenticationTime": "2026-04-20T23:59:59Z",
      "mcc": "7399"
    },
    "cardOnFile": { // Recurring Payment for Network Token Authorization
      "initiator": "CUSTOMER",
      "type": "SCHEDULED",
      "previousNetworkTransactionId": "12345678901"
    },
    "installment": null
  },
  "virtualAccount": {
    "channel": "BRI",
    "virtualAccountName": "Reforza Pivot",
    "virtualAccountNumber": "999996",
    "expiryAt": "2025-03-30T23:59:05Z"
  },
  "ewallet": {
    "channel": "DANA",
    "expiryAt": "2025-03-30T23:59:05Z"
  },
  "qr": {
    "expiryAt": "2025-03-30T23:59:05Z"
  }
}

Detail Payment Method Options Object

Parameter
Data Type
Character Limit
Requirement
Description

id

String

-

O

Identifier for stored preset payment method options

card

Object

-

O

Cards Payment Options, Mandatory if payment method types selected is CARDS

  • captureMethod

String

-

O

If merchant wanted to manually capture, possible values:

  • automatic

  • manual

  • threeDsMethod

String

-

O

We will try to provide options for three_ds later, possible values:

  • AUTOMATIC (DEFAULT)

  • NEVER

  • CHALLENGE

  • EXTERNAL

  • processingConfig

Object

-

O

Only for Facilitator model, to pass the bank MID they want to route this transaction to

  • bankMerchantId

String

0-50

C

  • merchantIdTag

String

0-50

C

  • threeDsInfo

Object

-

C

Applicable for threeDsMethod = EXTERNAL

  • transactionId

String

1-50

M

Unique Transaction ID from authentication result

  • threeDsVersion

String

1-20

M

Indicates the 3DS version

  • eci

String

M

Possible values are:

  • 01

  • 02

  • 05

  • 06

  • 07

  • transactionStatus

String

M

Possible values are:

  • Y — Authentication / Account verification successful

  • N — Not authenticated / Account not verified; Transaction denied

  • U — Authentication / Account verification could not be performed; technical or other problem

  • A — Attempts processing performed; Not authenticated / verified, but a proof of attempt authentication / verification is provided

  • R — Authentication / Account verification Rejected. Issuer is rejecting authentication / verification and request that authorization not be attempted

  • authenticationScheme

String

M

Card Principal possible values are:

  • VISA

  • MASTERCARD

  • JCB

  • AMEX

  • UNIONPAY

  • acsTransactionId

String

0-36

O

  • acsReference

String

0-32

O

  • authenticationTime

String

O

Authentication Time with format YYYY-MM-DDTHH:MM:SSZ.

  • mcc

String

O

Merchant Category Code

  • cardOnFile

Object

-

C

Recurring Payment for Network Token Authorization

  • initiator

String

M

Initiator possible values are:

  • CUSTOMER — Cardholder is present / active (CIT); first subscription signup

  • MERCHANT — System-triggered, no cardholder involvement (MIT); monthly recurring charge

  • type

String

M

Type possible values are:

  • SCHEDULED — fixed amount at fixed intervals (Monthly subscription)

  • UNSCHEDULE — variable amount or non-fixed intervals (e.g., auto top-up)

  • INSTALLMENT — fixed number of charges splitting a single purchase

  • previousNetworkTransactionId

String

C

Mandatory if initiator = MERCHANT

Network transaction ID from the original CIT, chained into all subsequent MITs.

  • installment

Object

-

O

virtualAccount

Object

-

O

  • channel

String

1-100

O

Virtual Account Bank Name, possible values are

  • DANAMON

  • BNI

  • MANDIRI

  • BSI

  • BCA

  • BNC

  • CIMB

  • BRI

  • MANDIRI

  • etc

  • virtualAccountName

String

0-100

O

All Virtual Account Name will use merchant short name

For some banks that can perform custom name, this field will be used

  • virtualAccountNumber

String

0-100

O

The corresponding virtual account number that can be used by Customers to send payments to

If merchants want to have their custom number they can pass this field within Static configuration range number in Dashboard Default Static Range: Limitation

  • expiryAt

String

-

C

VA expiration time

format YYYY-MM-DDTHH:MM:SSZ For Payment Type = MULTIPLE, don't necessarily send the Expiry At value

ewallet

Object

-

O

  • channel

String

-

O

Ewallet channel, possible values are

  • DANA

  • SHOPEEPAY

  • OVO

  • expiryAt

String

-

M

Payment expiration time

format YYYY-MM-DDTHH:MM:SSZ

qr

Object

-

O

  • expiryAt

String

-

C

Payment expiration time

format YYYY-MM-DDTHH:MM:SSZ For Payment Type = MULTIPLE, don't necessarily send the Expiry At value

Last updated