CBS 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 a CBS 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 Mambu Payments participant M as Mambu Core 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 CBS 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 1 hour ago
