The Disbursement object represents a transaction for the sending out of automated outgoing payments.

To start disbursing money from your account, make sure that you have deposited money into the account before creating the Disbursement objects that will pay out the funds.

The Disbursement object tracks the which account requested the disbursement, the transaction amount, the unique identifier from and to merchant, and will also track the life cycle of the intended disbursement.

The life cycle of a disbursement will be captured, keeping track of the history of disbursement attempts and flow of the statuses.


Disbursement attributes

AttributeTypeDescription
idstringUnique identifier for the object.
referenceIdstringA unique reference ID used for idempotency purposes.

Typically an "order id" or "invoice id".

See Idempotent Requests
descriptionstringAn arbitrary string attached to the object. Often useful for displaying to users what the Disbursement was for.
amountstringThe disbursement amount to be sent.
statusenumThe status of the disbursement. See Disbursement Statuses
createdAttimestampTime at which the object was created.
feesstringThe amount of fees charged to your platform to process this disbursement.
failureReasonstringReason of failed transaction and will only be shown when the transaction is failed.
disbursementMethodobjectThe disbursement method used to send out the payment.

Disbursement object

{
  "data": {
    "id": "contract_1a2b3c4d5e6f7890",
    "type": "disbursement",
    "attributes": {
      "referenceId": "order_id_123456",
      "description": "Payout for delivery.",
      "amount": "10000.0",
      "status": "processing",
      "createdAt": "2020-03-27T23:59:59+07:00",
      "fees": "200.0",
      "failureReason": "Invalid Bank Account", // only shown when the status is failed
      "disbursementMethod": {
        "type": "bank_transfer",
        "bankAccountNo": "0102030405",
       	"bankShortCode": "BRI",
        "bankName": "Bank Rakyat Indonesia",
        "bankAccountHolderName": "John Doe",
        "serverBankAccountHolderName": "J Doe" // account holder name from the bank
       }
    }
  }
}