Internal transfers
When both the originating and receiving accounts of a payment order are managed within Mambu Core, Mambu Payments can book the transactions directly in the Core, bypassing your external connector.
Initiating a CBS transfer
To trigger an internal transfer, you have two options:
- Explicit CBS transfer: Set the payment type to cbs_transfer. In this scenario, the receiving account ID must belong to an internal account (rather than an external account ID used for standard payments).
- Automatic fallback: Initiate a payment order using any other type and set
cbs_transfer_allowed:true. This allows Mambu Payments to automatically fall back to acbs_transferif it detects that the receiving account is managed in Mambu Core and registered as an internal account.
Authorization and booking
If Mambu authorization are configured for this flow, Mambu Payments will first create two authorization holds in Mambu Core. This process verifies that both accounts are active and capable of processing the respective transactions.
Once a CBS transfer is approved, two simultaneous transactions are booked in Mambu Core:
- A withdrawal transaction from the originating account.
- A deposit transaction to the receiving account.
sequenceDiagram autonumber participant C as Customer participant N as Numeral participant M as Mambu Note over C,M: A - Payment initiation C->>+N: POST /payment_order<br>cbs_transfer_allowed = true<br>payment_type=sepa N-->N: Assess if transfer N->>-C: 200 N-->>C: payment_order.pending_approval<br>payment_type=cbs_transfer Note over C,M: B - Payment validation N-->>C: payment_order.payment_validation_updated N->>+M: POST /authorizationholds M->>-N: 200 N->>+M: POST /authorizationholds M->>-N: 200 N-->>C: payment_order.payment_validation_updated Note over C,M: C - Payment processing N-->>C: payment_order.approved N-->>C: payment_order.processing N-->>C: payment_order.sent N-->>C: payment_order.executed alt OK N->>+M: POST /withdrawal_transaction M->>-N: 200 N->>+M: POST /deposit_transaction M->>-N: 200 N-->>C: payment_order.cbs_transaction_booked else KO N->>+M: POST /withdrawal_transaction M->>-N: 200 N->>+M: POST /deposit_transaction M->>-N: 400 N-->>C: payment_order.rejected N->>M: DELETE /authorizationholds N->>M: POST /deposit_transaction/id:adjust N-->>C: payment_order.cbs_transaction_adjusted end
Updated about 13 hours ago
