Skip to content

Indonesia (IDR) Data Requirements

This page lists every data requirement for IDR payments to Indonesia: the beneficiary and originator identities, the beneficiary financial instrument, and the transaction itself.

Fields shown are those required for this corridor

The identity and financial instrument tables on this page list only the fields ID_BIFAST requires, taken from the PII v3 schema. Identities and financial instruments accept further optional fields. For the complete set, see Payment identities and Financial instruments, or use the Payload Schema Utility.

Beneficiary identity

Create the beneficiary identity before the financial instrument, then reference it when you create the payment. See Create and manage identities for the API workflow.

The required fields depend on whether the beneficiary is a business or an individual.

Business beneficiary

Applies to the B2B, B2B2B, C2B2B use cases. Submit a business identity.

Field RequiredTypeConstraints
businessNameRequiredSTRINGBusiness Legal Name. 1–140 characters. Must match ^(?![ .,'&\/()-])(?!.*([ .,'&\/()-])\1)[\p{L}\p{N} .,'&\/()-]+(?<![ .,'&\/-])?$.
address.streetAddressRequiredARRAY of STRINGStreet address of the business. Required for ORIGINATOR identities on every corridor, and for BENEFICIARY identities on most corridors. See the Payload Schema Utility for the corridors that require it. For a BENEFICIARY the requirement is checked against the corridors in validatePayoutRails and against any attached financial instrument, so an identity created with neither is checked when a financial instrument is attached. Omitting it or sending an empty array fails identity create and update with 400 Bad Request (USR_111).
address.countryRequiredSTRINGExactly 2 characters. Must match ^[A-Z]+$.
address.cityRequiredSTRING1–140 characters. Must match ^(?![ .'-])(?!.*[ .'-]{2})[\p{L} .'-]+(?<![ .'-])$.
address.stateOrProvinceRequiredSTRINGState, province, or county of the business address, as defined by postal services. 1–140 characters. Must match ^(?![ .'-])(?!.*[ .'-]{2})[\p{L}\p{N} .'-]+(?<![ .'-])$.
address.postalCodeRequiredSTRINGPostal code for the business. 3–15 characters. Must match ^[\p{L}\p{N}][\p{L}\p{N} -]{1,15}[\p{L}\p{N}]$.
phoneRequiredSTRINGPhone Number. 8–16 characters. Must match ^\+[1-9]\d+$.
registration[].numberRequiredSTRINGThe unique identifier of the organization. 3–35 characters. Must match ^(?![ .'-\/])(?!.*[ .'-\/]{2})([A-Za-z0-9 .'-\/]+)(?<![ .'-\/])\/?$.
registration[].typeRequiredSTRINGOne of INCORPORATION_CERTIFICATE, TAX_ID.
incorporationCountryRequiredSTRINGExactly 2 characters. Must match ^[A-Z]+$.

Individual beneficiary

Applies to the B2B2C, B2C, C2B2C use cases. Submit an individual identity.

Field RequiredTypeConstraints
firstNameRequiredSTRINGFirst name of the individual. 1–140 characters. Must match ^(?![ .'-])(?!.*([ .'-])\1)[\p{L} .'-]+(?<![ .'-])$.
lastNameRequiredSTRINGLast name of the individual. 1–140 characters. Must match ^(?![ .'-])(?!.*([ .'-])\1)[\p{L} .'-]+(?<![ .'-])$.
address.streetAddressRequiredARRAY of STRINGStreet address of the individual. Required for ORIGINATOR identities on every corridor, and for BENEFICIARY identities on most corridors. See the Payload Schema Utility for the corridors that require it. For a BENEFICIARY the requirement is checked against the corridors in validatePayoutRails and against any attached financial instrument, so an identity created with neither is checked when a financial instrument is attached. Omitting it or sending an empty array fails identity create and update with 400 Bad Request (USR_111).
address.countryRequiredSTRINGExactly 2 characters. Must match ^[A-Z]+$.
address.cityRequiredSTRING1–140 characters. Must match ^(?![ .'-])(?!.*[ .'-]{2})[\p{L} .'-]+(?<![ .'-])$.
address.stateOrProvinceRequiredSTRINGState, province, or county of the individual's address, as defined by postal services. 1–140 characters. Must match ^(?![ .'-])(?!.*[ .'-]{2})[\p{L}\p{N} .'-]+(?<![ .'-])$.
address.postalCodeRequiredSTRINGPostal code for the individual's address. 3–15 characters. Must match ^[\p{L}\p{N}][\p{L}\p{N} -]{1,15}[\p{L}\p{N}]$.
phoneRequiredSTRINGPhone Number. 8–16 characters. Must match ^\+[1-9]\d+$.
identityDocuments[].idNumberRequiredSTRING3–35 characters. Must match ^(?![ .'-\/])(?!.*[ .'-\/]{2})([A-Za-z0-9 .'-\/]+)(?<![ .'-\/])\/?$.
identityDocuments[].idTypeRequiredSTRINGOne of ALIEN_REGISTRATION, CUSTOMER_ID, DRIVERS_LICENSE, EMPLOYEE_ID, NATIONAL_ID_NUMBER, PASSPORT, SSN, TAX_ID.
citizenshipRequiredSTRINGAlpha-2 country code for the nationality of the individual in ISO 3166-1 format. Exactly 2 characters. Must match ^[A-Z]+$.

Beneficiary financial instrument

Set financialInstrumentType: ID_BIFAST and currency: IDR. Provide the following fields in the idBifast payment rail object. See Create and manage financial instruments for the API workflow.

Field RequiredTypeConstraints
bankNameRequiredSTRINGThe name of the identity's bank. 2–140 characters. Must match ^(?![ .,'&\/()-])(?!.*([ .,'&\/()-])\1)[\p{L}\p{N} .,'&\/()-]+(?<![ .,'&\/-])?$.
bankCodeRequiredSTRING1–256 characters. Must match ^([A-Za-z0-9]+|RPL:ID:[A-Z0-9]{7,11}(_\d+)?:(BNK|WAL))$. Use the Bank Codes lookup and select Indonesia to find the Ripple Bank Code.
accountNumberRequiredSTRINGThe identity's bank account number. 1–45 characters. Must match ^[A-Za-z0-9]+$.

Originator identity

Create the originator identity once and reuse it across payments.

The required fields depend on whether the originator is a business or an individual.

Business originator

Applies to the B2B, B2B2B, B2B2C, B2C use cases. Submit a business identity.

Field RequiredTypeConstraints
businessNameRequiredSTRINGBusiness Legal Name. 1–140 characters. Must match ^(?![ .,'&\/()-])(?!.*([ .,'&\/()-])\1)[\p{L}\p{N} .,'&\/()-]+(?<![ .,'&\/-])?$.
address.streetAddressRequiredARRAY of STRINGStreet address of the business. Required for ORIGINATOR identities on every corridor, and for BENEFICIARY identities on most corridors. See the Payload Schema Utility for the corridors that require it. For a BENEFICIARY the requirement is checked against the corridors in validatePayoutRails and against any attached financial instrument, so an identity created with neither is checked when a financial instrument is attached. Omitting it or sending an empty array fails identity create and update with 400 Bad Request (USR_111).
address.countryRequiredSTRINGExactly 2 characters. Must match ^[A-Z]+$.
address.cityRequiredSTRING1–140 characters. Must match ^(?![ .'-])(?!.*[ .'-]{2})[\p{L} .'-]+(?<![ .'-])$.
address.stateOrProvinceRequiredSTRINGState, province, or county of the business address, as defined by postal services. 1–140 characters. Must match ^(?![ .'-])(?!.*[ .'-]{2})[\p{L}\p{N} .'-]+(?<![ .'-])$.
address.postalCodeRequiredSTRINGPostal code for the business. 3–15 characters. Must match ^[\p{L}\p{N}][\p{L}\p{N} -]{1,15}[\p{L}\p{N}]$.
phoneRequiredSTRINGPhone Number. 8–16 characters. Must match ^\+[1-9]\d+$.
registration[].numberRequiredSTRINGThe unique identifier of the organization. 3–35 characters. Must match ^(?![ .'-\/])(?!.*[ .'-\/]{2})([A-Za-z0-9 .'-\/]+)(?<![ .'-\/])\/?$.
registration[].typeRequiredSTRINGOne of INCORPORATION_CERTIFICATE, TAX_ID.
incorporationCountryRequiredSTRINGExactly 2 characters. Must match ^[A-Z]+$.
incorporationDateRequiredSTRINGFormat date.

Individual originator

Applies to the C2B2B, C2B2C use cases. Submit an individual identity.

Field RequiredTypeConstraints
firstNameRequiredSTRINGFirst name of the individual. 1–140 characters. Must match ^(?![ .'-])(?!.*([ .'-])\1)[\p{L} .'-]+(?<![ .'-])$.
lastNameRequiredSTRINGLast name of the individual. 1–140 characters. Must match ^(?![ .'-])(?!.*([ .'-])\1)[\p{L} .'-]+(?<![ .'-])$.
address.streetAddressRequiredARRAY of STRINGStreet address of the individual. Required for ORIGINATOR identities on every corridor, and for BENEFICIARY identities on most corridors. See the Payload Schema Utility for the corridors that require it. For a BENEFICIARY the requirement is checked against the corridors in validatePayoutRails and against any attached financial instrument, so an identity created with neither is checked when a financial instrument is attached. Omitting it or sending an empty array fails identity create and update with 400 Bad Request (USR_111).
address.countryRequiredSTRINGExactly 2 characters. Must match ^[A-Z]+$.
address.cityRequiredSTRING1–140 characters. Must match ^(?![ .'-])(?!.*[ .'-]{2})[\p{L} .'-]+(?<![ .'-])$.
address.stateOrProvinceRequiredSTRINGState, province, or county of the individual's address, as defined by postal services. 1–140 characters. Must match ^(?![ .'-])(?!.*[ .'-]{2})[\p{L}\p{N} .'-]+(?<![ .'-])$.
address.postalCodeRequiredSTRINGPostal code for the individual's address. 3–15 characters. Must match ^[\p{L}\p{N}][\p{L}\p{N} -]{1,15}[\p{L}\p{N}]$.
phoneRequiredSTRINGPhone Number. 8–16 characters. Must match ^\+[1-9]\d+$.
identityDocuments[].idNumberRequiredSTRING3–35 characters. Must match ^(?![ .'-\/])(?!.*[ .'-\/]{2})([A-Za-z0-9 .'-\/]+)(?<![ .'-\/])\/?$.
identityDocuments[].idTypeRequiredSTRINGMust be PASSPORT.
identityDocuments[].expiryDateRequiredSTRINGFormat date.
dateOfBirthRequiredSTRINGFormat date.
citizenshipRequiredSTRINGAlpha-2 country code for the nationality of the individual in ISO 3166-1 format. Exactly 2 characters. Must match ^[A-Z]+$.

Transaction data requirements

The following transaction-level fields apply to all IDR payments to Indonesia via BI-FAST.

Field Description RequiredTypeConstraints
purposeCodePurpose of paymentRequiredENUM4–5 chars. See valid values below
sourceOfCashSource of fundsRequiredENUMSee valid values below
receiverRelationshipRelationship to the debtorRequiredENUMSee valid values below; valid values depend on whether the beneficiary is a business or an individual

Purpose of payment codes

CodeDescription
ACSCAccounting services
AMSCAdvertising, market research, and public opinion polling services
ALLWAllowance
GIFTAllowance (gift)
ENGSArchitectural, engineering and other technical services
BONUBonus payment
COMMCommission
CISCConstruction and installation services
DEPTDeposit
DOFIDeposits with or from offshore financial institutions
EDUCEducation
EDSCEducation services
FAMIFamily maintenance
GSSTGoods and services by short-term workers
GSTRGoods and services by travellers
GSPMGoods for processing & manufacturing services
HLTCHome health care
INTEInterest
INTCIntra company payment
INVSInvestment & securities
IVPTInvoice payment
LESCLegal services
MRSCMaintenance and repair services
MDCSMedical services
MP2PMobile P2P payment
OTHROthers
PSFRPassenger fare
MACHPayment for machinery and transport equipment
MFGDPayment for manufactured goods
MMFAPayment for miscellaneous manufactured articles
FEESPayment of fees
PAYRPayroll
GDDSPurchase sale of goods
GDSVPurchase sale of goods and services
SCVEPurchase sale of services
REABReal estate abroad
RELGRental lease general
SALASalary payment
STDYStudy
SUPPSupplier payment
TRADTrade services
VIACVisa application charges

Source of cash codes

CodeDescription
ALMYAlimony
CASHCash proceeds
COMPCompensation
EMINEmployee income
GIFTGift
INHEInheritance
INLQInsurance premium liquidation
PACAPaid-up capital
REDMRedemption
REPYRetirement policy
RESTReal estate sale
RETARetained earnings
SALESale of goods
SEAQSale or acquisition of a corporation
SELFSelf-employment income
SVGSSavings
WINSWinnings

Beneficiary relationship codes

Valid receiverRelationship values depend on whether the beneficiary is a business or an individual.

Business beneficiaries

CodeDescription
BRANBranch/Representative office
CUSTCustomer
FRANFranchisee/Franchisor
HOLDHolding company
PARTBusiness partner
SUBSSubsidiary company
SUPPSupplier

Individual beneficiaries

CodeDescription
CHILChild
CUSTCustomer
EMPLEmployee
EXSPEx-spouse
FRENFriend
OTHROther
PAREParent
PARTBusiness partner
RELARelation
SELFSelf
SIBLSibling/brother/sister
SPOUCovering spouse/partner
VENDVendor

Transaction limits

Limit typeAmount (IDR)
Minimum per transaction50,000
Maximum per transaction100,000,000
Daily compliance limit per beneficiary750,000,000

BI-FAST runs 24/7 with no cut-off time, and payments settle in real time.

Accepted identity document types

An individual identity used with ID_BIFAST must carry at least one identity document of a type accepted for its payment role. If none of its documents is an accepted type, the request fails with 400 Bad Request (USR_111). Where a role or identity type is not listed below, all values in the field's enum are accepted.

Identity typePayment roleAccepted document types
Individual (idType)OriginatorPASSPORT