---
title: "Bank Transfer API"
method: POST
path: "/transfer-interbank"
---

# Bank Transfer API

`POST /transfer-interbank`

The following endpoint to submit bank transfer pay outs

## Headers

- `Content-Type` string, required
- `X-TIMESTAMP` string, required
- `Authorization` string
- `X-SIGNATURE` string, required
- `X-PARTNER-ID` string, required
- `X-EXTERNAL-ID` string, required
- `CHANNEL-ID` string, required

## Request body

- object
  - `partnerReferenceNo` string, required — Unique transaction identifier on merchant system which assigned to each transaction
  - `amount` object, required — JSON object with keys: value and currency. Example: {"value": "20000.00", "currency": "IDR"}
    - `value` string, required — String representing value of the transaction : "20000.00".
    - `currency` string, required — Currency of the transaction: "IDR"
  - `beneficiaryAccountName` string, required — The name of the recipient account.
  - `beneficiaryAccountNo` string, required — The account number of the recipient.
  - `beneficiaryBankCode` string, required — The bank code of the account, you get the list from fetch bank list API
  - `beneficiaryAddress` string — Address of transfer destination
  - `beneficiaryBankName` string — Name of the bank destination. example: Bank BRI
  - `beneficiaryEmail` string — Email address of the destination
  - `currency` string — Currency of the transaction i.e. IDR
  - `customerReference` string — Reference Number / No Referral / Transaction ID
  - `sourceAccountNo` string, required — Identifier of source account. its value is the same as merchant id
  - `transactionDate` string, required — Transaction date in ISO8601 format. Example: 2019-07-03T12:08:56-07:00
  - `originatorInfos` object[] — 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.
    - `originatorCustomerName` string, required — Legal name of the entity on whose behalf the disbursement is made.
    - `originatorCustomerNo` string — Legal name of the entity on whose behalf the disbursement is made.
    - `originatorBankCode` string — Bank Indonesia-recognized bank code (e.g., '014' for BCA) OR SWIFT codes (e.g., "CENAIDJA" for BCA)
  - `additionalInfo` object — The field for additional information. JSON object with keys: senderInformation, deviceId and channel. example: {"deviceId": "1234567", "channel": "mobilephone"}
    - `deviceId` string — device id of the request source
    - `channel` string — channel of the request source
    - `originatorAdditionalInfos` object — Part of additionalInfo object. The details of disbursement originator.
      - `originatorIdentityType` string — Type of originator identity. Valid values: 'company_id' (Company Identification Number / NIB), 'national_id' (National Identity Card number), 'passport' (Passport Number). Mandatory if 'originatorBankCode' or 'originatorCustomerNo' is empty.
      - `originatorIdentityNo` string — Identity Number of the chosen identity type. 'company_id' and 'national_id' should contain numeric characters (e.g., '1234567890'). 'passport' should contain alphanumeric characters (e.g., 'ABC1234DEF'). Mandatory if 'originatorBankCode' or 'originatorCustomerNo' is empty.
      - `originatorCountry` string — The country of the sender. Two-letter country code as per ISO-3166 alpha-2 standard. Refer to ISO-3166 alpha-2 country codes (https://www.iso.org/obp/ui/#search/code/). Mandatory if 'originatorBankCode' or 'originatorCustomerNo' is empty.
      - `originatorJob` string — The job of the sender. Valid values: 'company', 'entrepreneur', 'private_employee', 'government_employee', 'foundation_employee' (non-profit employees), 'housewife', 'others' (uncategorized jobs).
      - `originatorPlaceOfBirth` string — The place of birth of the originator.
      - `originatorDateOfBirth` string — The date of birth of the originator in YYYY-MM-DD format.
      - `originatorAddress` string — The address of the originator.

## Response `200`

200

- object
  - `additionalInfo` object
    - `channel` string
    - `deviceId` string
    - `originatorAdditionalInfos` object
      - `originatorIdentityType` string
      - `originatorIdentityNo` string
      - `originatorAddress` string
      - `originatorCountry` string
      - `originatorDateOfBirth` string
      - `originatorJob` string
      - `originatorPlaceOfBirth` string
  - `originatorInfos` object[]
    - `originatorBankCode` string
    - `originatorCustomerName` string
    - `originatorCustomerNo` string
  - `amount` object
    - `currency` string
    - `value` string
  - `beneficiaryAccountNo` string
  - `beneficiaryBankCode` string
  - `partnerReferenceNo` string
  - `referenceNo` string
  - `responseCode` string
  - `responseMessage` string
  - `sourceAccountNo` string

## Other responses

- `202` — 202
- `400` — 400
- `401` — 401
- `409` — 409
- `500` — 500
- `504` — 504

---

[API](https://skmtc.net/durianpay/apis/durianpay-api.md) · [All operations](https://skmtc.net/durianpay/apis/durianpay-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/durianpay/durianpay-api/versions/ffc0e7e8a227/schema)
