Transaction Processing
  • 23 Feb 2023
  • 2 Minutes To Read
  • Dark
  • PDF

Transaction Processing

  • Dark
  • PDF

Article Summary

Mambu fully supports industry standard authorization hold flows for card payments and allows you to request, adjust, reverse, and settle holds against Current Account and Revolving Credit type products.

Using the Cards API, you can process transaction requests, transaction advices, and transaction reversals.

There are two different models for how payment cards operate:

  • Single Message Schema: the requested amount is written off immediately by executing a transaction after a successful payment card authorization. This is achieved using transaction requests.
  • Dual Message Schema: the requested amount is held after successful authorization and a transaction is executed only after receiving a confirmation as a clearing or settlement transaction. This is achieved using a combination of authorization requests and transaction advices. Clearing or settlement transactions can come in a file or in a batch and each transaction must be posted as a transaction advice.

The transaction direction is determined using the dedicated parameter creditDebitIndicator:

  • DBIT: to debit a payment card account.
  • CRDT: to credit a payment card account.

If the reference to an authorization hold is present and it is in PENDING state, the transaction direction is determined by the authorization hold type correspondingly:

  • A DBIT hold triggers a debit transaction,
  • A CRDT hold triggers a credit transaction.
Please Note

If neither creditDebitIndicator, nor reference to a hold are present, the payment card account is debited by default.

The following table describes the different types of messages that pass between the card issuer and Mambu, depending on the type of transaction initiated.

Card message TypeDebit Cards AvailabilityCredit Cards Availability
Debit Transaction Request
Credit Transaction Request
Debit Transaction Advice
Credit Transaction Advice
Full Transaction Reversal
Partial Transaction Reversal

There are credit card flows that we currently do not support, but we are working on achieving parity.

Transaction requests

Transaction requests are posted to Mambu using a dedicated Create card transaction request. Request body parameter advice is used to determine if it is a transaction request or a transaction advice. If advice is FALSE, the request is considered a transaction request. If it is a debit transaction request, the available balance is checked: if the requested transaction amount doesn't exceed the available balance, a transaction is executed. Otherwise, the transaction request is declined due to insufficient funds.

Transaction advices

Transaction advices are posted to Mambu using a dedicated API request with the request body parameter advice equal to TRUE. This will cause the authorization to be made without validating the available balance and as a result can allow a cardholder to make a transaction for an amount over any defined limits as well as allow an account to go into Technical Overdraft.

If a clearing transaction has been successfully matched to an authorization request, the reference to it can be filled in a request body parameter externalAuthorizationReferenceId. If an authorization hold is found and it is in PENDING state, it is released after a transaction is successfully executed. Such authorization hold doesn't impact the available balance anymore and is left in SETTLED state.

Transaction reversals

You can reverse previously made transactions using the Reverse card transactions endpoint.

Debit transactions can be reversed in full or partially. Mambu makes sure that the sum of all reversed transactions does not go over the amount of the initial transaction.

Please Note

To reverse a credit transaction, you must use the exact amount.

Was this article helpful?