Merchant's system / server received a detailed response for every transaction processed on the Peach Payments platform. Each transaction response contains the following 2 codes that help the merchant understand what happened to the transaction:

1. Processing Code - The processing code is simply a concatenation of the Status Code and the Reason Code. Processing codes have the format: 00.00 e.g. 90.00 with the first two digits representing the status and the last two digits representing the reason.

2. Return Code - The return tag is a more specific message that provides the merchant with more granular information on the overall result of the transaction.

Please note that the availability and use of the particular Status, Reason and Return codes also depend on whether they are supported by the applicable processing partner. Hence, some of these may not be available for your payment method / partner bank / payment method operator.



NOTE: it is possible to pull a list of all available return codes in JSON format, via the following GET request: https://eu-test.oppwa.com/v1/resultcodes

Please see below for the table (.pdf version attached at the bottom of this article) 

Following is a list of the most relevant Result codes that you will encounter when processing payments with Peach Payments.


Please note - this is NOT an exhaustive list


You can download the file with the link at the bottom of the article.


To determine whether a transaction was successful or not please use the following link: Determine Transaction Status from Result Code



CODEDESCRIPTIONNOTES
000.000.000Transaction succeededThis and 000.400.* are the only codes when a trasnaction is SUCCESSFUL - All others below are REJECTS - See yellow highlights in Sheet 1
000.100.110Request successfully processed in 'Merchant in Integrator Test Mode' 
500.100.201Channel/Merchant is disabled (no processing possible) 
600.200.202Channel/Merchant not configured for this payment typeExample would be if Amex is not enabled and a customer tried to process Amex
600.200.400Unsupported Payment TypeExample would be if you try to execute a payment type (such as Rebill) that is not supported for that payment method
600.200.500Invalid payment data. You are not configured for this currency or sub type (country or brand)Example would be if Amex is not enabled and a customer tried to process Amex or if cards issued in a particular country are blocked
800.121.100Channel not configured for given source type. Please contact your account manager. 
100.300.101invalid test mode (please use LIVE or INTEGRATOR_TEST or CONNECTOR_TEST) 
100.300.300invalid reference idExample - Refund did not reference a successful debit
100.300.400missing or invalid channel idMerchant credentials not correct with transaction request
100.300.601invalid or missing user pwd 
200.100.302invalid Request/Transaction/Payment/Presentation tag (not present or [partially] empty)Merchant credentials not correct with transaction request
800.900.300user authorization failedMerchant credentials not correct with transaction request
700.100.600referenced mode does not match with requested payment mode 
700.100.700referenced transaction is of inappropriate type 
700.100.701referenced a DB transaction without explicitly providing an account. Not allowed to used referenced account.
700.400.100cannot capture (PA value exceeded, PA reverted or invalid workflow?)If you try to Capture an Authorization (PA) that is already captured(CP) or reversed (RV) ot try to capture a value greater than the PA amount
700.400.200cannot refund (refund volume exceeded or tx reversed or invalid workflow?)If you try to Refund a transaction that is already Refunded(RF) or Reversed (RV) or try to refund a value greater than the original amount
700.400.300cannot reverse (already refunded|reversed or invalid workflow?)If you try to Reverse a transaction that is already Refunded(RF) or Reversed (RV) or try to reverse a value greater than the original amount
700.400.520refund needs at least one successful transaction of type (CP or DB or RB or RC)If you try to Refund a transaction that was unsuccessful originally
700.400.570cannot reference a waiting/pending transactionYou try te execute another transaction based on a transaction that is still processing (i.e. refund while the debit is not completed yet)
700.400.700initial and referencing channel-ids do not matchIf you try to refund a transaction on a different channel as the original debit or similarly try to capture and authorization on a different channel - the reason is that merchant accounts are connected to each channel and it would send the transaction to the bank with the wrong credentials
800.110.100duplicate transactionIf the exact same transaction request is sent to our system (same card, holder, order ID and amount) within 60 secs then we reject to protect against merchant's system glitches such as rogue scripts etc.
800.120.103maximum number of transactions per email already exceededTransaction is rejected if it fails velocity checking for email ID in Risk Management 
100.550.300request contains no amount or too low amountAmount has to be >0.00
100.550.400request contains no currencyCurrency code needs to be provided for each transaction
800.160.120Invalid payment data for configured Recurring Transaction Dispatching TypeIf the API parameters were incorrect for recurring / one-click transactions
100.100.100request contains no creditcard, bank account number or bank name 
100.100.101invalid creditcard, bank account number or bank name 
100.100.201invalid month 
100.100.301invalid year 
100.100.303card expired 
100.100.400request contains no cc/bank account holderNo card data provided in transaction request
100.100.401cc/bank account holder too short or too long 
100.100.402cc/bank account holder not valid 
100.100.500request contains no credit card brandBrand - i.e. VISA , MASTER , AMEX etc was not specified in the transaction request
100.100.501invalid credit card brandUser specified VISA but gave a mastercard number and vice versa 
100.100.700invalid cc number/brand combinationNumber of digits of the CVV/CVC did not match card type i.e. Amex has 4 digits and Master and Visa have 3 digits
800.700.100transaction for the same session is currently being processed, please try again later.Duplicate request while another request is still being processed
800.300.101account or user is blacklistedCard is blacklisted
800.300.200email is blacklistedEmail address is blacklist
800.300.401bin blacklistedBIN number (first 6 digits of the card) is blacklisted - this is used if a merchant wants to blacklist / block all African Bank cards or all FNB cards etc
800.300.501transaction temporary blacklisted (too many tries invalid expire date) 
100.150.101invalid length for specified registration id (must be 32 chars) 
100.150.200registration does not existNo stored card found for that token
100.150.202registration is already deregisteredStored card was already deleted
100.150.203registration is not valid, probably initially rejectedInitially rejected / did not pass 3DS and therefore the token is not valid
100.150.204account registration reference pointed to no registration transaction 
100.350.100referenced session is REJECTED (no action possible).Example - Try to refund a rejected Debit
100.350.101referenced session is CLOSED (no action possible) 
000.400.000Transaction succeeded (please review manually due to fraud suspicion)This transaction was processed by the bank but we have flagged it for risk / fraud suspiscion
900.100.100unexpected communication error with connector/acquirerBankserv may be down and not reachable at this time
900.100.200error response from connector/acquirer 
900.100.300no response from connector/acquirer [uncertain result]Nedbank / ABSA systems may be down and not available for processing at this time
100.380.305no frontend information provided for asynchronous transactionMerchants using XML API did not provide the right parameters for a 3DS transaction
100.380.501risk management transaction timeoutUser dropped out of the 3DS process i.e. did not receive OTP or did not enter it into the bank's page (ECI value will be 01 or 06 since Merchant attempted 3DS but user did not complete)
100.380.401User Authentication FailedUser entered the wrong OTP or their card is blocked by the bank (ECI 07)
100.390.103PARes Validation failed - problem with signatureThe 3DS data returned for this transaction was incorrect and was not validated by the bank
100.390.105Transaction rejected because of technical error in 3DSecure systemThere was a technical error with Bankserv / Bank or both at this time for this card or possible for all cards
100.390.109Transaction rejected because of VISA status 'U' in 3DSecure program 
100.390.112Technical Error in 3D system 
100.396.101Cancelled by user 
100.396.102Not confirmed by user 
100.396.103Previously pending transaction timed out 
800.100.151transaction declined (invalid card) 
800.100.152transaction declined by authorization system 
800.100.153transaction declined (invalid CVV) 
800.100.154transaction declined (transaction marked as invalid) 
800.100.155transaction declined (amount exceeds credit) 
800.100.156transaction declined (format error) 
800.100.157transaction declined (wrong expiry date) 
800.100.158transaction declined (suspecting manipulation) 
800.100.159transaction declined (stolen card) 
800.100.165transaction declined (card lost) 
800.100.166transaction declined (Incorrect personal identification number) 
800.100.168transaction declined (restricted card) 
800.100.169transaction declined (card type is not processed by the authorization center) 
800.100.170transaction declined (transaction not permitted) 
800.100.171transaction declined (pick up card)