Details of the transaction data.

Every changes or updates in balance either card or account, will create transaction. For example if you hit Card API for create card, Monit will create a transaction for account as money out transaction and a transaction for card that created as money in transaction. Another example is if you hit Payment API, Monit will create as many transactions as you requested for account as money out. Every transaction will linked for account or card, a transaction will not linked for card and account at the same time.

Transaction Object

Here is the data type for transaction object that Monit provide to client.

FieldTypeDescription
IDString UUIDTransaction Identifier from Monit's side.
amountNumberTransaction total from base amount and total fee. if amount less than 0 means that transaction is money out from card or account, vice versa.
base_amountNumberBase amount of transaction, if you create payment to beneficiary or recipient, the amount that recipient received will be the same with base amount.
total_feeNumberTotal fee of the transaction.
statusStringStatus of transaction, currently we have IDLE, PROCESSING, TRANSFERRING, PENDING, SUCCESS, FAILED and REVERSAL. See on status section for the details.
typeStatusTransaction type, see on type section for the details.
accountObject (nullable)Account info if transaction happened on account.
cardObject (nullable)Card info if transaction happened on card.
created_atDatetimeServer date time when transaction created.
updated_atDatetimeLast date time when transaction updated.
descriptionStringTransaction's description.
notesStringTransaction's notes.
reference_idStringTransaction identifier from client.
recipientObject (nullable)Beneficiary details for TRANSFER_FUND only.

Every date time on result using server timezone, UTC+7 (Asia/Jakarta).

Transaction Status

StatusDescription
IDLEWhen client create transaction without confirming it to be executed.
PROCESSINGWhen transaction is confirmed to be executed.
TRANSFERRINGWhen transaction is about to be sent.
PENDINGWhen transaction is sent, but still waiting for the status.
SUCCESSTransaction is success.
FAILEDTransaction is failed.
REVERSALWhen transaction is failed, Monit will send another reversal transaction for refund.

Transaction Type

TypeDescription
ADD_BALANCEInitiated by our staff, same as money in for client.
DEDUCT_BALANCEInitiated by our staff, same as money out for client.
RECEIVED_FUNDInitiated by user, add fund via VA or other method like QR from Monit WebApp.
TRANSFER_FUNDInitiated by user, transfer money from account to outside account (bank, ewallet, etc).
INTERNAL_TRANSFERInitiated by user, moving money between Monit's account.
CARD_TRANSACTIONInitiated by card network.
CARD_PAYMENTInitiated by user to pay the card bills.
CARD_ADD_BALANCEInitiated by user to add the card balance.
CARD_REFUND_BALANCEInitiated by user to refund the card balance.
QR_TRANSACTIONInitiated by user to transfer money via QR Code.
FOREX_FEEInitated by system to deduct account balance if card balance is insufficient for exchange fee

For Internal transfer, card add balance and card refund, Monit will create 2 transactions. For example if user hit Card API for add balance, Monit will create 2 transactions CARD_ADD_BALANCE, first transaction for account as money out (negative amount) and last transaction for card as money in (positive amount). Same as for internal transfer, Monit will create 2 transactions INTERNAL_TRANSFER, first transaction for source account as money out (negative amount) and last transaction for target account as money in (positive amount).