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.
Field | Type | Description |
---|---|---|
ID | String UUID | Transaction Identifier from Monit's side. |
amount | Number | Transaction 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_amount | Number | Base amount of transaction, if you create payment to beneficiary or recipient, the amount that recipient received will be the same with base amount. |
total_fee | Number | Total fee of the transaction. |
status | String | Status of transaction, currently we have IDLE, PROCESSING, TRANSFERRING, PENDING, SUCCESS, FAILED and REVERSAL. See on status section for the details. |
type | Status | Transaction type, see on type section for the details. |
account | Object (nullable) | Account info if transaction happened on account. |
card | Object (nullable) | Card info if transaction happened on card. |
created_at | Datetime | Server date time when transaction created. |
updated_at | Datetime | Last date time when transaction updated. |
description | String | Transaction's description. |
notes | String | Transaction's notes. |
reference_id | String | Transaction identifier from client. |
recipient | Object (nullable) | Beneficiary details for TRANSFER_FUND only. |
Every date time on result using server timezone, UTC+7 (Asia/Jakarta).
Transaction Status
Status | Description |
---|---|
IDLE | When client create transaction without confirming it to be executed. |
PROCESSING | When transaction is confirmed to be executed. |
TRANSFERRING | When transaction is about to be sent. |
PENDING | When transaction is sent, but still waiting for the status. |
SUCCESS | Transaction is success. |
FAILED | Transaction is failed. |
REVERSAL | When transaction is failed, Monit will send another reversal transaction for refund. |
Transaction Type
Type | Description |
---|---|
ADD_BALANCE | Initiated by our staff, same as money in for client. |
DEDUCT_BALANCE | Initiated by our staff, same as money out for client. |
RECEIVED_FUND | Initiated by user, add fund via VA or other method like QR from Monit WebApp. |
TRANSFER_FUND | Initiated by user, transfer money from account to outside account (bank, ewallet, etc). |
INTERNAL_TRANSFER | Initiated by user, moving money between Monit's account. |
CARD_TRANSACTION | Initiated by card network. |
CARD_PAYMENT | Initiated by user to pay the card bills. |
CARD_ADD_BALANCE | Initiated by user to add the card balance. |
CARD_REFUND_BALANCE | Initiated by user to refund the card balance. |
QR_TRANSACTION | Initiated by user to transfer money via QR Code. |
FOREX_FEE | Initated 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).