About Transactions

Transactions are funds transfers processed immediately, without Recipient interaction.

Transaction Statuses

  • APPROVAL_REQUIRED - Approval required by Payer, based on Payer configuration
  • CANCELLED - Cancelled/voided
  • FAILED - Failed due to decline or account error
  • PAID - Transaction was successfully processed
  • PENDING_KYC - Transaction under review by compliance team
  • PROCESSING - Transaction is in process and waiting confirmation on completion or failure
  • RETRY - Transaction will be re-attempted based on scheduled process or manually through support channels
  • REFUNDED - Transaction has been refunded based on refunds against the originating transaction
  • REFUNDED_PARTIAL - Transaction has been partially refunded based on refunds against the originating transaction
  • REVERSED - Transaction reversed
  • REVERSAL_PENDING - Transaction reversal requested and under review
  • UNKNOWN - Transaction processed but final status is unknown, based on Payer configuration for UNKNOWN response, otherwise will be considered PAID until final status is determined. Only applicable to INSTANT_DEPOSIT

Transaction Types

Transaction Type indicates the direction of funds. CREDIT indicates you are sending funds to a Recipient. DEBIT indicates you are accepting funds from a Recipient.

Transaction Methods

Transaction Method indicates how to disperse or accept funds. Transaction Type indicates the direction of funds, either CREDIT or DEBIT the user (recipient).

Portal and Reporting may show a more detailed description of PREPAID based on the account type they are funding.

MethodTypeDescriptionRecipient Requirements
ACH_FUNDINGDEBITACH Transaction processed on the same day if submitted before 3:30PM Eastern during business days.Bank account
ACH_FUNDING_PLUSDEBITACH Transaction processed on the same day if submitted before 3:30PM Eastern during business days. Failed transactions due to R01 ACH Return Code will be automatically retried at a configured interval.Bank account
ACH_REFUNDCREDITACH Transaction processed on the same day if submitted before 3:30PM Eastern during business days. Must reference an originating transaction ID.Bank account
ACH_SAME_DAYCREDITACH Transaction processed on the same day if submitted before 3:30PM Eastern during business days.Bank account
ACH_STANDARDCREDITACH Transaction processed in 3-5 business days.Bank account
CHECKCREDITPaper CheckAddress
ECHECKCREDITElectronic CheckEmail
INSTANT_DEPOSITCREDITFunds transferred to an account via Debit CardDebit card account
PAYPALCREDITFunds transferred via PayPalPayPal Account
PREPAIDCREDITFunds loaded onto a Prepaid AccountPrepaid account
RTPCREDITFunds transferred to a Bank AccountBank account
VENMOCREDITFunds transferred via VenmoVenmo Account

Transaction Request Schemas

The following parameters are applicable for every Transaction method. A subset of Transaction methods have optional request parameters identified in their respective areas below.

ParameterTypeRequiredDescription
recipient_idStringYesRecipient ID
account_idStringYesPayment Account ID
typeStringYesDirection of funds
methodStringYesTransaction method
amountDoubleYesTransaction amount
reference_idStringNoTransaction reference ID
memoStringNoTransaction memo
location_idStringMaybeValid State or US Territory
Possibly required for compliance purposes
meta_paramsJSONNoJSON string of values to include for reporting requirements
Please consult with technical team on usage

ECheck

ParameterTypeRequiredDescription
emailStringNoEmail override for ECHECK transactions

ACH Funding / ACH Funding Plus

ACH Funding / ACH Funding Plus allows for a funding_options request object with risk-associated parameters.

ParameterTypeRequiredDescription
funding_option.risk_checkBooleanNoEvaluate the risk profile of the user/bank
Default: false
funding_options.risk_levelStringNoDefine the risk threshold to compare against
Default: STANDARD
funding_options.balance_checkBooleanNoCheck the user's bank account balance before initiating a transaction
Default: false
funding_options.ip_addressStringNoUser's IP address, can help mitigate against fraudulent transactions
funding_options.user_agentStringNoUser agent of user's device, can help mitigate against fraudulent transactions

ACH Refund

ACH Refund request requires the originating Transaction ID to match against the original transaction.

ParameterTypeRequiredDescription
originating_transaction_idStringYesOriginating Transaction ID to be referenced

Transaction Webhooks

Webhooks are essential to knowing the latest status of a transaction. A Transaction webhook will be sent with the initial Transaction request and all subsequent status updates. Review the Webhooks documentation page for samples and further details.

Transaction Error Codes

A comprehensive list of error codes and descriptions can be found at API Error Codes. 4xx responses follow a consistent format shown below. Under certain conditions the error response will contain a transaction_id and/or additional risk metrics associated with the transaction.

{
    "http_status": 4xx,
    "error_code": "{error code}",
    "error_message": "{error description}"
}

ACH Funding Error Codes

Specific to ACH Funding, there are additional error codes as a result of pre-transaction checks for velocity, bank balance lookup, and risk score evaluation. Risk-related error codes will include a funding_options_response object with configured threshold values and actual values.

Error CodeDetails
ERR_ACCOUNT_BALANCE_THRESHOLDBalance does not meet required threshold for transaction
ERR_ACCOUNT_BALANCE_UNAVAILABLEPlaid bank account balance is unavailable, a new transaction request can be issued with balance_check: false to bypass the balance check
ERR_ACCOUNT_RE_AUTH_REQUIREDPlaid account requires re-authorization and the user will have to go through the Bank Account Widget workflow
ERR_ACCOUNT_RISK_BANK_BALANCE_THRESHOLDBank risk threshold was exceeded and the bank balance multiplier was not met. The bank balance requirement then starts at 200% and increases an additional 100% for every PROCESSING transaction
ERR_ACCOUNT_RISK_LEVEL_NOT_CONFIGUREDClient incorrectly configured for risk_level passed into the funding_options object or is not setup with default risk threshold levels
ERR_ACCOUNT_RISK_METRICS_UNAVAILABLEPlaid risk data is unavailable, a new transaction request can be issued with risk_check: false to bypass the risk check
ERR_ACCOUNT_RISK_THRESHOLDConsumer risk threshold was exceeded
ERR_PROVIDER_ACCOUNT_MISCONFIGURATIONClient incorrectly configure for Plaid integration
ERR_VELOCITY_LIMITVelocity limit reached

ACH Refund Error Codes

Error CodeDetails
ERR_INVALID_ORIGINATING_TRANSACTION_IDThe originating Transaction ID is invalid or not found
ERR_REFUND_INVALID_ORIGINATING_METHODThe originating Transaction method is not an ACH_FUNDING or ACH_FUNDING_PLUS transaction
ERR_REFUND_INVALID_ORIGINATING_STATUSThe originating Transaction status is not PAID or REFUNDED_PARTIAL
ERR_REFUND_AMOUNT_EXCEEDEDThe refund request amount plus any previous refunds towards the original transaction exceeds the original transaction amount