Disbursement

Disbursement is the outgoing payment that transfers loan capital to the borrower. Mambu Payments automates the payment execution and books the resulting transaction in Mambu Core.

Step-by-step

  1. Create the beneficiary account. Call POST /external_accounts to register the borrower's bank account as an external_account.
  2. Attach the account to the loan. Update disbursement_details.receiving_account_id with the external_account ID. Also set disbursement_details.connected_account_id if not already configured. Mambu Payments fires loan.ready_for_disbursement when configuration is complete.
  3. Choose the connector to be used for disbursement. Update disbursement_details.connected_account_id with the ID of the connector you want to use. You can also fill a disbursement_details.internal_account_id if you want to use an existing internal account as originating account of the disbursement.
  4. Trigger the disbursement. Call POST /loans/{id}/disburse (or POST /credit_arrangements/{id}/disburse for arrangement-level disbursements). Mambu Payments creates a payment_order and fires payment_order.pending_approval. In the case of credit arrangements, the payment order's amount will be the sum of all attached loans which are ready_for_disbursement.
  5. Payment processing. The payment order goes through your approval and validation rules, if any. It is then sent yo your connector.
  6. Receive execution confirmation. Your connector returns an execution notification. Mambu Payments fires payment_order.executed.
  7. Booking in Mambu Core. Mambu Payments books the disbursement transaction on the Mambu Core loan account and fires payment_order.cbs_transaction_booked.
sequenceDiagram
participant C as Your system
participant M as Mambu Core
participant N as Mambu Payments
participant S as Connector
autonumber
C->>N: Create beneficary account
C->>N: Attach beneficary account to <br>loan or credit arrangement
C->>N: Attach connector to <br>loan or credit arrangement
N-->>C: loan.ready_for_disbursement
C->>N: Trigger disbursement
N-->>C: loan.pending_disbursement
N-->>C: payment_order.auto_approved
N->>S: Send payment
N-->>C: payment_order.sent
S-->>N: Execution notification
N-->>C: payment_order.executed
N->>M: Book disbursement
N-->>C: payment_order.cb_transaction_booked
N-->>C: loan.active
alt Payment is returned
S->>N: Forward return
N-->>C: payment_order.returned
N->>M: Adjust disbursement transaction
N-->>C: payment_order.cbs_transaction_adjusted
end

Booking models

Choose how Mambu Payments writes back to Mambu Core:

  • Automated ledger sync: Mambu Payments triggers the disbursement transaction in Mambu Core the moment the payment_order reaches executed status. No action required from you.
  • Event-driven orchestration: listen for payment_order.executed via webhook and call the Mambu Core API yourself. Use this model for multi-stage approvals or custom booking logic.

Outcomes

Payment outcomeWhat Mambu Payments does in Mambu Core
Payment executedBooks a disbursement transaction on the loan account (for loans) or on the deposit account (for credit arrangements).
Payment rejectedNo transaction is booked.
Payment returnedAdjust the disbursement on the loan account.
Payment cancelledNo transaction is booked.

Webhooks

EventWhen it fires
loan.ready_for_disbursementDisbursement details are attached and the loan is ready to disburse.
payment_order.pending_approvalPayment order created, awaiting your approval.
payment_order.executedDisbursement sent to the beneficiary.
payment_order.cbs_transaction_bookedDisbursement transaction booked in Mambu Core.
payment_order.cbs_transaction_booking_failedError when booking the disbursement transaction in Mambu Core
payment_order.cbs_transaction_adjustedDisbursement transaction adjusted in Mambu Core

Future-dated disbursements are supported. Set execution_date on the disbursement call to schedule the payment for a specific value date.