Wallet Transactions

About

At Monta we capture any movement of money in Wallet Transactions.

A charge at Monta can involve many transactions, even though it might look like a single transaction for an end-user who just started a charge and paid via Credit Card:

  • Transaction from Credit Card to Users' Wallet
  • Transaction from Users' to Charge Point operator to pay for the charge
  • Transaction from Charge Point operator to Monta (fees)

Types of sender/recipients

At Monta any wallet is linked to either a team (for an end-user that could be their default, personal team) or operator. In a wallet transaction entity you will see this in the fields fromType and toType. Depending on the type, the fields from and to are populated either with an operator or team entity.

Transaction States

Any transaction has a state.

StateDescription
reservedWe have reserved an amount (e.g. with credit card provider) to cover for an upcoming charge.
pendingPayment for transaction is still pending,
completeTransaction is complete (and immutable).
failedTransaction has failed, ie. we were not able to collect the money from the user's wallet.
otherFall-back in case new types are added in future.

Transaction Groups

The group indicates if a transaction is related to a deposit, withdrawal or internal transaction.

StateDescription
depositMoney has been deposited to Monta wallet (e.g. from a Credit Card)
withdrawalMoney has been withdrawn from a Monta wallet (e.g. to a Credit Card or bank account)
internalIndicates that money has been transferred internally between two Monta wallets.
otherFall-back in case new types are added in future.

Reference Type & Id

You can use the reference type and id to link a transaction to a related event / entity in the Monta system. A typical use case is filtering by referenceType CHARGE and referenceId {charge.id} to retrieve wallet transactions related to the charge.


What’s Next

Check out the API reference to learn more about wallet transactions and their fields.