Wallet transactions
For each transfer, a corresponding transaction is created representing how that initial source impacted a wallet. This granularity enables you to:
- Reconcile a wallet’s balance on any given day
- Create itemized reports leveraging transaction types (fees earned and paid, payouts, refunds, etc)
- Monitor your wallet activity to stay informed on the latest transactions
Each transaction is paired with a detailed memo that provides more context about the transaction. For additional insight into how the transaction was created, you can provide the source ID to grab details. The source ID is used to link back to a transfer, dispute, or card issuing transaction.
You can retrieve the sourceID
using the wallet transaction GET
endpoint.
Pending transactions
A pending
transaction will only apply to credits, or incoming funds. Any funds in a pending state will not affect the wallet balance, or be available for use until that transaction is completed. If a pending
transaction results in a failure, we’ll simply omit it from the transaction list.
Use the wallet GET
endpoint to check a wallet’s available balance or access a failed transaction’s details.
Completed transactions
The available balance at the time of transaction is included on each completed
wallet transaction. Once a transaction moves to completed
, the completedOn
timestamp will be populated along with the availableBalance
.
Wallet transaction types
The list wallet transactions and retrieve a wallet transaction endpoints will display the transactionType
in the response. We categorize wallet transactions by the following distinct types:
Type | Description | Source | Memo |
---|---|---|---|
payment | An ACH payment from a bank to the account’s wallet | Transfer | ACH payment from {displayName} |
top-up | Transfer of funds into a wallet from the account’s bank | Transfer | Top up from {bankAccountType} {lastFourAccountNumber} |
payout | A payment from a wallet to another accounts bank | Transfer | ACH payment to {displayName} |
cash-out | Transfer of funds out of a wallet to the account’s bank | Transfer | Cash out to {bankAccountType} {lastFourAccountNumber} |
ach-reversal | When an ach payment is returned, funds are either returned or taken from the wallet balance | Transfer | Returned ACH credit/debit |
facilitator-fee | Fee earned on a transfer | Transfer | Facilitator fee collected |
card-payment | A payment that was made from a card | Transfer | Card payment from {displayName} |
refund | When a refund is initiated, the requested refund amount is debited from the wallet | Transfer | Refund to {displayName} |
refund-failure | To account for refund failures, a credit will be made back into the wallet | Transfer | Failed refund to {displayName} |
dispute | When a customer disputes a charge, the disputed amount is debited from the wallet | Dispute | Cardholder dispute |
dispute-reversal | If a dispute is won by a merchant, funds will be credited back to their wallet | Dispute | Cardholder dispute reversed |
issuing-transaction | An authorized purchase from a Moov issued card* | Issuing Transaction | Payment to {Merchant Name} |
issuing-auth-release | Any funds that were not captured from an authorized purchase from a Moov issued card* will be released | Issuing Transaction | Authorization release for {Merchant Name} |
issuing-transaction-adjustment | If an authorized purchase is captured for more or less than the original authorization amount, an adjustment will be made to reflect the difference | Issuing Transaction | Payment adjustment for {Merchant Name} |
issuing-refund | A refund on a purchase from a Moov issued card* | Issuing Transaction | Refund from {Merchant Name} |
wallet-transfer | Funds that move between Moov wallets | Transfer | Wallet transfer to/from {displayName} |
adjustment | Debits or credits from a Moov wallet made outside of the normal processing flow. Some reasons for adjustments are partial disputes and end of month fee adjustments. | Adjustment | An adjustment will have a custom memo outlining the reason for the debit/credit |
Webhooks
You can subscribe to the walletTransaction.updated
webhook event to get real-time updates on pending or completed transactions. Below is an example of an event for a completed transaction:
|
|
View transactions via API
Provide the accountID
and walletID
path parameters to the following endpoints to view wallet transactions for an account. Retrieving a specific wallet transaction additionally requires the transactionID
.
- Retrieve a wallet transaction - Gets a specific wallet transaction
- List wallet transactions - Lists all transactions associated with a wallet
An account ID (also referred to as X-Account-ID
) can be found in the Dashboard by navigating to Settings > Business details. Your account ID will be listed at the top of the Business details section and you can copy it to your clipboard.
Navigate to the Wallet section of the Dashboard and click the menu option in the wallet summary section. You’ll be able to copy the wallet ID to your clipboard. You can also retrieve a wallet ID by providing accountID
to the list payment methods GET
endpoint.
A transaction ID can be found by navigating to Wallet in the Dashboard and clicking on a transaction to open the details. In the details modal, the transaction ID can be copied to your clipboard. You can also retrieve a transaction ID by passing accountID
and walletID
to the list transactions GET
endpoint.
Adjustments
There are one-off scenarios where Moov may make an immediate adjustment to a wallet’s balance. Some examples include partial chargebacks, fee adjustments, or corrections from transaction processing. You’ll receive a walletTransaction.updated
webhook notification once the adjustment is made. More details about the adjustment can be found in the wallet transaction memo and the source type will link to the adjustmentID
.
To retrieve a specific wallet adjustment or list all adjustments for a specific wallet, you can use the endpoints listed below. You’ll need to pass the walletID
to each endpoint, and to retrieve a specific adjustment, you’ll also need to pass the adjustmentID
.
- Retrieve a wallet adjustment - Gets a specific wallet adjustment
- List wallet adjustments - Lists all adjustments associated with a wallet
View transactions via Dashboard
Navigate to Wallet in the Dashboard to view transactions. See the Dashboard wallet guide for information.