API Reason Codes

 This document showcases the possible API Reason Codes you can expect to receive for various resources: Payments, Refunds, Payouts, Recoveries, Adjustments, and Disputes. If you interface with these endpoints, any Reason Code you come across will be listed below, and will provide context around API information like pending and failure API status.

Payment Failure Values

Values you can expect when interfacing with the /payments endpoint, specifically for the failure case.
reason_codereason_messagedetail_codedetail_messagePlatform Action
NOT_CAPTUREDFailed to capture the paymentSee credit card payment failure details possible valuesSee credit card payment failure details possible valuesRespond according to recommended action associated with the returned failure details
ECHECK_FRAUDFailed to capture the payment due to suspected fraudSee ACH payment failure details possible valuesSee ACH payment failure details possible valuesRespond according to recommended action associated with the returned failure details
BANK_NOT_CONFIRMEDFailed to capture the payment due to incorrect informationSee ACH payment failure details possible valuesSee ACH payment failure details possible valuesRespond according to recommended action associated with the returned failure details
BANK_SYSTEM_ERRORFailed to capture the payment due to bank system errorSee ACH payment failure details possible valuesSee ACH payment failure details possible valuesRespond according to recommended action associated with the returned failure details
PAYMENT_EXPIREDFailed to capture the payment as it has expiredrequest_expiredThe payment request has expired. Please refer to Payments documentation for details on when payment request expires.Verify whether the payment was supposed to go through with the merchant and payer. If the payment was supposed to be captured, re-try the payment and be sure to capture it within the 7 day timeframe.
REVIEWFailed to capture the payment.risk_reviewThe payment could not be captured as it failed risk reviewNo action recommended. Let the merchant know that the payer will need to find an alternate method of payment.
UNKNOWNFailed to capture the payment due to unknown reasons.unknownThe payment could not be captured for unknown reasonsReach out to WePay Support for assistance.
POS_ERRORFailed to complete the POS requestSee Card Present payment failure detail possible values.See Card Present payment failure detail possible values.Follow the guidance specific to the details.

Example

Copy
Copied
{
	"reason_code": "REVIEW",
	"reason_message": "Failed to capture the payment.",
	"details": {
		"detail_code": "risk_review",
		"detail_message": "The payment could not be captured as it failed risk review."
	}
}

Credit Card Payment Failure Details

reason_codemessagedetail_codedetail_message
NOT_CAPTUREDFailed to capture the paymentinvalid_addressThe address could not be verified
invalid_card_numberThe card number is invalid
invalid_card_typeThe card type is invalid
card_not_supportedThe card type does not support this purchase
incorrect_cidThe CVC number is incorrect
decline_insufficient_fundsThe card has insufficient funds for this transaction
decline_card_stolenThe card cannot be used for this transaction (it may have been reported stolen)
decline_card_inactiveThe card cannot be used for this transaction (it may have been reported inactive)
decline_credit_limitThe card has reached its balance or credit limit available
decline_generalThe card has been declined for unknown reasons
card_expiredThe card has expired
card_invalid_dataOne or more fields associated with this transaction has invalid data
card_missing_fieldsThe card data is missing required fields
system_failureIssuer or host system could not be reached
excessive_authorizationsThe card has exceeded its withdrawal limit
account_cannot_transactThe card or the account its connected to cannot transact
bank_failureThe bank declined this transaction for unknown reasons
no_payment_attemptedPayment could not be captured for unknown reasons
failed_permanentlyPayment could not be captured for unknown reasons
unexpectedPayment could not be captured for unknown reasons
undefinedPayment could not be captured for unknown reasons
debit_card_not_acceptedDebit card is not accepted for this transaction
exceeded_token_amount_limitThis transaction exceeds the token amount limit
token_currency_mismatchThis transaction does not match the currency specified in the token
processor_timed_outThe processor was unavailable so we could not capture the payment
processor_declinedThe payment was declined by processor for unknown reasons

ACH Payment Failure Details

\
reason_codemessagedetail_codedetail_messageNotes
BANK_NOT_CONFIRMEDFailed to capture the payment due to incorrect informationR01Insufficient funds in account
R02Account is closedThis payment method will be deleted, but the status will be set to unverified.
R03No account on fileThis payment method will be deleted, but the status will be set to unverified.
R04Invalid account numberThis payment method will be deleted, but the status will be set to unverified.
R06Returned at request of originating bank
R07Authorization revoked by customerThis payment method will be deleted.
R08Payment stoppedThis payment method will be deleted.
R09Insufficient collected funds in account being charged
R10Customer Advises Originator is Not Known to Receiver and/or Is Not Authorized by Receiver to Debit Receiver's Account.This payment method will be deleted.
R11Advise that the merchant work with the payer to resolve the Advises Entry Not In Accordance with the Terms of the Authorization
R12Account sold to another financial institution
R13Invalid ACH routing numberThis payment method will be deleted, but the status will be set to unverified.
R14Representative payee deceased or cannot continue in that capacityThis payment method will be deleted.
R15Beneficiary or account holder other than representative payee deceasedThis payment method will be deleted.
R16Account funds have been frozenThis payment method will be deleted.
R17Item returned because of invalid dataThis payment method will be deleted, but the status will be set to unverified.
R19Amount error
R20Account does not allow ACH transactions or limit has been exceededThis payment method will be deleted, but the status will be set to unverified.
R23Credit entry refused by receiverThis payment method will be deleted.
R28Routing / Transit number check digit errorThis payment method will be deleted, but the status will be set to unverified.
R29Corporate customer advises not authorizedThis payment method will be deleted.
R30RDFI not participant in check truncation program
R31Permissible return entry
R32Receiving bank non-settlement
R33Return of item
R34Limited participation originating bank
R35Return of improper debit entry
R36Return of improper credit entry
R40Return of item by government agency
R41Invalid Transaction Code
R42Routing/transit number check digit error
R43Invalid account number
R47Duplicate enrollment
R50State law affecting RCK acceptance
R70Permissible return entry not accepted
R71Misrouted dishonored return - incorrect routing/transit # in RDFI id field
R72Untimely return - dishonored return was not sent within the established timeframe
R73Timely original return - RDFI certifies the original return entry was sent within established timeframe for original returns
R74Corrected return - RDFI is correcting a previous return entry that was dishonored because it contained incomplete or incorrect information
R75Original return not a duplicate
R76No errors found
R80Cross-border payment coding error
R81Non-participant in cross-border program
R82Invalid foreign RDFI identification
R83Foreign RDFI unable to settle
R84Cross-border entry not processed by originating gateway operator
P01Customized reject code for Chase TS reject reason: MOD CHECK ON RDFI-ID FAILEDThis payment method will be deleted.
BANK_SYSTEM_ERRORFailed to capture the payment due to bank system error754Bank account has been closed
763Invalid account number
765Customer has not authorized bank to accept these transactions
R18Improper effective entry date
R21Invalid company identification
R22Invalid individual ID
R24Duplicate entry
R25Addenda record error
R26Mandatory field error
R27Trace number error
R28Routing/transit number check digit error
R37Source document presented for payment
R38Stop payment on source document
R39Improper source document
R44Invalid individual ID
R45Invalid individual or company name
R46Invalid payee indicator code
R51Item is ineligible, notice not provided, signature not genuine, or original item altered for adjustment entry
R52Stop payment on item
R53Item and ACH entry presented for payment
R61Misrouted return - RDFI has placed incorrect routing/transit # in RDFI id field
R67Duplicate return
R68Untimely return - the return was not sent within the established timeframe
R69Field errors
R94Administrative return item was processed and resubmitted as a photocopy
R95Administrative return item was processed and resubmitted as a MICR-Split
R97Administrative return item was processed and resubmitted with corrected dollar amount
R98Indicates a return PAC (pre-authorized check); RDFI provides a text reason and indicated a new account number on the PAC itself
R99Indicates a return PAC (pre-authorized check); RDFI provides a text reason on the PAC itself for which there is no equivalent return reason code
ECHECK_FRAUDFailed to capture the payment due to suspected fraudR05Unauthorized debit to consumer account
R10Customer advises not authorized or amount incorrect
R14Payee is deceased
R15Account holder is deceased
R29Corporate customer advised not authorized

Card Present Payment Failure Details

reason_codemessagedetail_codedetail_message
POS_ERRORFailed to complete the POS requestalready_refundedThe original POS transaction has already been refunded.
amount_exceededThe requested amount in the transaction is higher than the original POS amount.
not_yet_capturedThe original POS transaction has not been captured yet.
already_capturedThe original POS transaction has already been captured.
already_cancelledThe original POS transaction has already been cancelled.

Payment Pending Values

Reason codes for a payment in the pending state. These are only available as response values that WePay will send to your platform.

reason_codereason_messagedetail_codedetail_message
PENDING_CAPTUREPayment pending capturemanual_captureThe payment is pending a manual capture
UNKNOWNPayment is pending due to unknown reasonsunknownThe payment is pending due to unknown reasons
PROCESSINGPayment is being processedprocessingThe payment currently under processing
REVIEWPayment is currently in reviewrisk_reviewThe payment is currently pending risk review
ECHECK_SUBMISSIONPayment processing is pending echeck submissionecheck_submissionThe payment is currently pending echeck submission
BANK_VERIFICATIONPayment is pending bank verificationbank_verificationThe payment is currently pending bank verification

Refunds Failure Values

Values you can expect when interfacing with the /refunds endpoint, specifically for the failure case.
reason_codereason_messagedetail_codedetail_message
UNKNOWNFailed to refund the payment due to unknown reasonsunknkownThe payment could not be refunded for unknown reasons
REVIEWFailed to refund the paymentrisk_reviewThe payment could not be refunded as it failed risk review

Refunds Pending Values

Values you can expect when interfacing with the /refunds endpoint, specifically for the pending case.
reason_codereason_messagedetail_codedetail_message
UNKNOWNRefund is pending due to unknown reasonsunknownThe refund is pending due to unknown reasons
REVIEWRefund is currently in reviewrisk_reviewThe refund is currently pending risk review
PROCESSINGRefund is being processedprocessingThe refund is currently under processing

Payouts Failure Values

Values you can expect when interfacing with the /payouts endpoint, specifically for the failure case.
reason_codereason_messagedetail_codedetail_message
SUSPECTED_FRAUDPayout was rejected due to suspected fraudsuspected_payer_fraudThe payout was rejected due to suspected payer fraud
suspected_merchant_fraudThe payout was rejected due to suspected merchant fraud
account_compromisedThe payout was rejected as the account has been compromised
VERIFICATIONPayout was rejected as we were unable to verify the informationunable_to_verify_controlling_ownerThe payout was rejected as we were unable to verify the controlling owner of the account
unable_to_verify_payerThe payout was rejected as we were unable to verify one of the payments in this payout
unable_to_verify_owner_payerThe payout was rejected as we were unable to verify the controlling owner of the account and one of the payments in this payout
OTHERPayout was rejected for miscellaneous reasonsagainst_tosAccount violated our Terms of Service
account_cannot_go_negativeThe payout was rejected as it would have caused account to go negative
high_risk_accountThe payout was rejected for risk reasons
name_mismatchThe payout was rejected as the name on the account didn't match
admin_kyc_mismatchThe KYC country of the admin does not match the currency of the payout
otherThe payout failed due to unknown reasons
UNKNOWNPayout was rejected due to unknown reasonsunknownThe payout failed due to unknown reasons

Payouts Pending Values

Values you can expect when interfacing with the /payouts endpoint, specifically for the pending case.
reason_codereason_messagedetail_codedetail_message
REVIEWPayout is under reviewrisk_reviewThe Payout is currently under risk review
PROCESSINGPayout is being processedprocessingThe Payout is currently under processing

Recoveries Failure Values

Values you can expect when interfacing with the /recoveries endpoint, specifically for the failure case.
reason_codereason_messagedetail_codedetail_message
BANK_REJECTRejected by the bankinsufficient_fundsThe recovery attempt failed due to insufficient funds in the bank account
UNKNOWNFailed due to unknown reasonsunknownThe recovery attempt failed due to unknown reasons

Recoveries Pending Values

Values you can expect when interfacing with the /recoveries endpoint, specifically for the pending case.
reason_codereason_messagedetail_codedetail_message
PROCESSINGRecovery is being processedprocessingThe recovery is currently under processing
UNKNOWNRecovery is pending due to unknown reasonsunknownThe recovery is pending due to unknown reasons

Adjustments Values

Values you can expect when interfacing with the /adjustments endpoint, specifically for the pending case.
reason_codereason_messagedetail_codedetail_message
BALANCE_TRANSFERBalance transfer between accounts.balance_transferBalance transfer between two accounts owned by the same partner/merchant.
CHARGEBACKChargeback Adjustment.otherChargeback Adjustment (full amount).
partial_chargeback_reversalsChargeback Adjustment (partial amount).
chargeback_fee_reimbursementsReimbursement of Chargeback Fee.
ESCHEATMENTAdjustment due to abandoned funds.lien_or_levyCourt order requirement to withhold/collect funds owed.
escheatmentAbandoned funds escheated to state of account-holder.
REIMBURSEMENTS_AND_CORRECTIONSAdjustment for reimbursement or corrections.correction_to_fee_schedulesCorrection to Fee Schedule.
processing_fee_reimbursementsReimbursement of Processing Fee.
revshare_disbursementsRevenue Share Disbursement.
inadvertent_refundsRefund erroneously made due to WePay Error.
bank_overdraft_feeReimbursement of Bank Overdraft Fee.
negative_account_balance_recoveryWePay Recovery of Negative Account Balance.
negative_account_balance_to_zeroNegative Account Balance Brought to Zero.
system_issuesWePay Bug or System Flaws.
FEESAdjustment for fees.billing_statement_feesFees associated with a billing statement.
MISCELLANEOUSAdjustment due to miscellaneous reasons.miscellaneousOther Adjustment.

Disputes Values

Values you can expect when interfacing with the /disputes endpoint. We surface the card level error codes we receive. We group card level errors as detail_code, and apply a higher level grouping under reason_code. We return these in the response field reason. Find dispute reason codes according to the card network.

Visa

reason_codereason_messagedetail_codedetail_message
FRAUDThe payer identified the transaction as fraudulent.10.1EMV Liability Shift Counterfeit Fraud
10.2EMV Liability Shift Non-Counterfeit Fraud
10.3Other Fraud-Card Present Enviroment
10.4Other Fraud-Card Absent Enviroment
10.5Visa Fraud Monitoring Program
RECOGNITIONThe payer did not recognize the transaction11.1Card Recovery Bulletin
11.2Declined Authorization
11.3No Authorization
PROCESSING_ERRORThe payment processor reported an error processing this transaction12.1Late Presentment
12.2Incorrect Transaction Code
12.3Incorrect Currency
12.4Incorrect Account Number
12.5Incorrect Amount
12.6Duplicate Processing/ Paid by Other Means
12.6.1Duplicate Processing
12.6.2Paid by Other Means
12.7Invalid Data
13.8Original Credit Transaction Not Accepted
SERVICES_NOT_PROVIDEDThe payer claims the service was not provided13.1Merchandise/Services Not Received
13.2Cancelled Recurring
13.6Credit Not Processed
13.7Canceled Merchandise/Services
13.9Non-Receipt of Cash or Load Transaction Value
NOT_AS_DESCRIBEDThe payer claims the item was not as described13.3Not as Described or Defective Merchandise/Services
13.4Counterfeit Merchandise
13.5Misrepresentation

Mastercard

reason_codereason_messagedetail_codedetail_message
FRAUDThe payer identified the transaction as fraudulent4837No cardholder authorization
4840Fraudulent processing of transactions
4847Requested/required authorization not obtained and fraudulent transaction
4849Questionable merchant activity
4862Counterfeit transaction magnetic stripe POS fraud
4863Cardholder does not recognize-potential fraud
4870Chip liability shift
4871Chip/PIN liability shift
RECOGNITIONThe payer did not recognize the transaction6321Cardholder does not recognize transaction
PROCESSING_ERRORThe payment processor reported an error processing this transaction4835Card not valid or expired
4807Warning bulletin file
4808Requested/required authorization not obtained
4812Account number not on file
4831Transaction amount differs
4834Duplicate processing
4842Late presentment
4846Correct transaction currency code not provided
4850Credit posted as a purchase
4860Credit not processed
SERVICES_NOT_PROVIDEDThe payer claims the service was not provided4841Cancelled recurring transaction
4855Goods or services not provided
4859Addendum, no-show, or ATM dispute
6305Cardholder does not agree with billed amount
NOT_AS_DESCRIBEDThe payer claims the item was not as described4853Cardholder dispute-defective/not as described
4854Cardholder dispute-not elsewhere classified (U.S. region only)

AmEx

reason_codereason_messagedetail_codedetail_message
FRAUDThe payer identified the transaction as fraudulentF10Missing Imprint
F14Missing Signature
F22Expired or Not Yet Valid Card
F29Card Not Present
FR2Fraud Full Recourse Program
FR4Immediate Chargeback Program
FR6Partial Immediate Chargeback Program
RECOGNITIONThe payer did not recognize the transactionF25Unauthorized charge
F24No Card Member Authorization
PROCESSING_ERRORThe payment processor reported an error processing this transactionP01Unassigned Card Number
P03Credit Processed as Charge
P04Charge Processed as Credit
P05Incorrect Transaction Amount
P07Late Presentment
P08Duplicate Charge
P22Nonmatching Card Number
P23Currency Discrepancy
SERVICES_NOT_PROVIDEDThe payer claims the service was not providedC05Goods/Services Cancelled
C28Cancelled Recurring Billing
C08Goods/Services Not Received
NOT_AS_DESCRIBEDThe payer claims the item was not as describedC04Goods/Services Returned or Refused
C31Goods/Services Not as Described
C32Goods/Services Damaged or Defective

Discover, JCB, Diners

reason_codereason_messagedetail_codedetail_message
FRAUDThe payer identified the transaction as fraudulent7010Fraud - Card Present Transaction
7030Fraud - Card Not Present Transaction
RECOGNITIONThe payer did not recognize the transaction4752Declined Authorization
4754No Authorization
PROCESSING_ERRORThe payment processor reported an error processing this transaction4753Invalid Card Number
4534Duplicate Processing
4542Late Presentation
4550Credit Posted as Card Sale
4586Altered Amount Dispute
SERVICES_NOT_PROVIDEDThe payer claims the service was not provided4755Non-receipts of Goods or Services
4541Automatic Payment Dispute
NOT_AS_DESCRIBEDThe payer claims the item was not as described4553Quality of Goods or Services Dispute
INQUIRYA chargeback inquiry was openedunknownA chargeback inquiry was opened against the transaction
UNKNOWNA chargeback was opened with unknown reasonunknownA chargeback was posted against the transaction for unspecified reason