PrimeiroPay
Search…
Result Codes
The result codes are part of the response body's JSON (field result) containing a code and a description explaining the code.

Structure of result codes

A result code has the format ddd.ddd.ddd, i.e. 3 groups of 3-digit numbers. The codes are split into rough groups by the first number, then into more detailed sub-groups by the second number, then into the exact code by the third number.
Example: 800.100.153 means: 800 -> Bank declined, 100 -> it declined the authorization, 153 -> it declined authorization because the CVV is wrong

Complete list of result codes

You can pull a JSON with the result codes as listed in the table below by sending a GET request to https://test.oppwa.com/v1/resultcodes.
In many cases however you don't need the precise evaluation for each and every code, but just for a certain subgroup. Therefore the following list presents the result codes in a grouped way that you typically can evaluate by just taking the first two number-groups.

Result codes for successful and pending transactions

Result codes for successfully processed transactions

The regular expression pattern for filtering out this group is: /^(000\.000\.|000\.100\.1|000\.[36])/
Result Code
Result Description
000.000.000
Transaction succeeded
000.000.100
successful request
000.100.105
Chargeback Representment is successful
000.100.106
Chargeback Representment cancellation is successful
000.100.110
Request successfully processed in 'Merchant in Integrator Test Mode'
000.100.111
Request successfully processed in 'Merchant in Validator Test Mode'
000.100.112
Request successfully processed in 'Merchant in Connector Test Mode'
000.300.000
Two-step transaction succeeded
000.300.100
Risk check successful
000.300.101
Risk bank account check successful
000.300.102
Risk report successful
000.310.100
Account updated
000.310.101
Account updated (Credit card expired)
000.310.110
No updates found, but account is valid
000.600.000
transaction succeeded due to external update

Result codes for successfully processed transactions that should be manually reviewed

The regular expression pattern for filtering out this group is: /^(000\.400\.0[^3]|000\.400\.100)/
Result Code
Result Description
000.400.000
Transaction succeeded (please review manually due to fraud suspicion)
000.400.010
Transaction succeeded (please review manually due to AVS return code)
000.400.020
Transaction succeeded (please review manually due to CVV return code)
000.400.040
Transaction succeeded (please review manually due to amount mismatch)
000.400.050
Transaction succeeded (please review manually because transaction is pending)
000.400.060
Transaction succeeded (approved at merchant's risk)
000.400.070
Transaction succeeded (waiting for external risk review)
000.400.080
Transaction succeeded (please review manually because the service was unavailable)
000.400.081
Transaction succeeded (please review manually, as the risk status not available yet due network timeout)
000.400.082
Transaction succeeded (please review manually, as the risk status not available yet due processing timeout)
000.400.090
Transaction succeeded (please review manually due to external risk check)
000.400.100
Transaction succeeded, risk after payment rejected

Result codes for pending transactions

The regular expression pattern for filtering out this group is: /^(000\.200)/. These codes mean that there is an open session in the background, meaning within half an hour there will be a status change, if nothing else happens, to timeout.
Result Code
Result Description
000.200.000
transaction pending
000.200.001
Transaction pending for acquirer, the consumer is not present
000.200.100
successfully created checkout
000.200.101
successfully updated checkout
000.200.102
successfully deleted checkout
000.200.103
checkout is pending
000.200.200
Transaction initialized
There is another kind of pending regular expression pattern for filtering out this group is: /^(800\.400\.5|100\.400\.500)/. These codes describe a situation where the status of a transaction can change even after several days.
Result Code
Result Description
100.400.500
waiting for external risk
800.400.500
Waiting for confirmation of non-instant payment. Denied for now.
800.400.501
Waiting for confirmation of non-instant debit. Denied for now.
800.400.502
Waiting for confirmation of non-instant refund. Denied for now.

Result codes for rejected transactions

Result codes for rejections due to 3Dsecure and Intercard risk checks

The regular expression pattern for filtering out this group is: /^(000\.400\.[1][0-9][1-9]|000\.400\.2)/
Result Code
Result Description
000.400.101
card not participating/authentication unavailable
000.400.102
user not enrolled
000.400.103
Technical Error in 3D system
000.400.104
Missing or malformed 3DSecure Configuration for Channel
000.400.105
Unsupported User Device - Authentication not possible
000.400.106
invalid payer authentication response(PARes) in 3DSecure Transaction
000.400.107
Communication Error to VISA/Mastercard Directory Server
000.400.108
Cardholder Not Found - card number provided is not found in the ranges of the issuer
000.400.109
Card is not enrolled for 3DS version 2
000.400.200
risk management check communication error

Result codes for rejections by the external bank or similar payment system

The regular expression pattern for filtering out this group is: /^(800\.[17]00|800\.800\.[123])/
Result Code
Result Description
800.100.100
transaction declined for unknown reason
800.100.150
transaction declined (refund on gambling tx not allowed)
800.100.151
transaction declined (invalid card)
800.100.152
transaction declined by authorization system
800.100.153
transaction declined (invalid CVV)
800.100.154
transaction declined (transaction marked as invalid)
800.100.155
transaction declined (amount exceeds credit)
800.100.156
transaction declined (format error)
800.100.157
transaction declined (wrong expiry date)
800.100.158
transaction declined (suspecting manipulation)
800.100.159
transaction declined (stolen card)
800.100.160
transaction declined (card blocked)
800.100.161
transaction declined (too many invalid tries)
800.100.162
transaction declined (limit exceeded)
800.100.163
transaction declined (maximum transaction frequency exceeded)
800.100.164
transaction declined (merchants limit exceeded)
800.100.165
transaction declined (card lost)
800.100.166
transaction declined (Incorrect personal identification number)
800.100.167
transaction declined (referencing transaction does not match)

Result codes for rejections due to communication errors

The regular expression pattern for filtering out this group is: /^(900\.[1234]00|000\.400\.030)/
Result Code
Result Description
000.400.030
Transaction partially failed (please reverse manually due to failed automatic reversal)
900.100.100
unexpected communication error with connector/acquirer
900.100.200
error response from connector/acquirer
900.100.201
error on the external gateway (e.g. on the part of the bank, acquirer,...)
900.100.202
invalid transaction flow, the requested function is not applicable for the referenced transaction.
900.100.203
error on the internal gateway
900.100.300
timeout, uncertain result
900.100.301
Transaction timed out without response from connector/acquirer. It was reversed.
900.100.310
Transaction timed out due to internal system misconfiguration. Request to acquirer has not been sent.
900.100.400
timeout at connectors/acquirer side
900.100.500
timeout at connectors/acquirer side (try later)
900.100.600
connector/acquirer currently down
900.200.100
Message Sequence Number of Connector out of sync
900.300.600
user session timeout
900.400.100
unexpected communication error with external risk provider

Result codes for rejections due to system errors

The regular expression pattern for filtering out this group is: /^(800\.[56]|999\.|600\.1|800\.800\.[84])/
Result Code
Result Description
600.100.100
Unexpected Integrator Error (Request could not be processed)
800.500.100
direct debit transaction declined for unknown reason
800.500.110
Unable to process transaction - ran out of terminalIds - please contact acquirer
800.600.100
transaction is being already processed
800.800.400
Connector/acquirer system is under maintenance
800.800.800
The payment system is currenty unavailable, please contact support in case this happens again.
800.800.801
The payment system is currenty unter maintenance. Please apologize for the inconvenience this may cause. If you were not informed of this maintenance window in advance, contact your sales representative.
999.999.888
UNDEFINED PLATFORM DATABASE ERROR
999.999.999
UNDEFINED CONNECTOR/ACQUIRER ERROR

Result codes for rejections due to error in asynchonous workflow

The regular expression pattern for filtering out this group is: /^(100\.39[765])/
Result Code
Result Description
100.395.101
Bank not supported for Giropay
100.395.102
Account not enabled for Giropay e.g. test account
100.395.501
Previously pending online transfer transaction timed out
100.395.502
Acquirer/Bank reported timeout on online transfer transaction
100.396.101
Cancelled by user
100.396.102
Not confirmed by user
100.396.103
Previously pending transaction timed out
100.396.104
Uncertain status - probably cancelled by user
100.396.106
User did not agree to payment method terms
100.396.201
Cancelled by merchant
100.397.101
Cancelled by user due to external update
100.397.102
Rejected by connector/acquirer due to external update

Result codes for Soft Declines

The regular expression pattern for filtering out this group is: /^(300\.100\.100)/
Result Code
Result Description
300.100.100
Transaction declined (additional customer authentication required)

Rejections specific to risk handling

Result codes for rejections due to checks by external risk systems

The regular expression pattern for filtering out this group is: /^(100\.400\.[0-3]|100\.38|100\.370\.100|100\.370\.11)/
Result Code
Result Description
100.370.100
transaction declined
100.370.110
transaction must be executed for German address
100.370.111
system error( possible incorrect/missing input data)
100.380.100
transaction declined
100.380.101
transaction contains no risk management part
100.380.110
transaction must be executed for German address
100.380.201
no risk management process type specified
100.380.305
no frontend information provided for asynchronous transaction
100.380.306
no authentication data provided in risk management transaction
100.380.401
User Authentication Failed
100.380.501
risk management transaction timeout
100.400.000
transaction declined (Wrong Address)
100.400.001
transaction declined (Wrong Identification)
100.400.002
transaction declined (Insufficient credibility score)
100.400.005
transaction must be executed for German address
100.400.007
System error ( possible incorrect/missing input data)
100.400.020
transaction declined
100.400.021
transaction declined for country
100.400.030
transaction not authorized. Please check manually

Result codes for rejections due to address validation

The regular expression pattern for filtering out this group is: /^(800\.400\.1)/
Result Code
Result Description
800.400.100
AVS Check Failed
800.400.101
Mismatch of AVS street value
800.400.102
Mismatch of AVS street number
800.400.103
Mismatch of AVS PO box value fatal
800.400.104
Mismatch of AVS zip code value fatal
800.400.105
Mismatch of AVS settings (AVSkip, AVIgnore, AVSRejectPolicy) value
800.400.110
AVS Check Failed. Amount has still been reserved on the customer's card and will be released in a few business days. Please ensure the billing address is accurate before retrying the transaction.
800.400.150
Implausible address data
800.400.151
Implausible address state data

Result codes for rejections due to 3Dsecure

The regular expression pattern for filtering out this group is: /^(800\.400\.2|100\.380\.4|100\.390)/
Result Code
Result Description
100.380.401
User Authentication Failed
100.390.101
purchase amount/currency mismatch
100.390.102
PARes Validation failed
100.390.103
PARes Validation failed - problem with signature
100.390.104
XID mismatch
100.390.105
Transaction rejected because of technical error in 3DSecure system
100.390.106
Transaction rejected because of error in 3DSecure configuration
100.390.107
Transaction rejected because cardholder authentication unavailable
100.390.108
Transaction rejected because merchant not participating in 3DSecure program
100.390.109
Transaction rejected because of VISA status 'U' or AMEX status 'N' or 'U' in 3DSecure program
100.390.110
Cardholder Not Found - card number provided is not found in the ranges of the issuer
100.390.111
Communication Error to VISA/Mastercard Directory Server
100.390.112
Technical Error in 3D system
100.390.113
Unsupported User Device - Authentication not possible
100.390.115
Authentication failed due to invalid message format
100.390.116
Access denied to the authentication system
100.390.117
Authentication failed due to invalid data fields
800.400.200
Invalid Payer Authentication in 3DSecure transaction

Result codes for rejections due to blacklist validation

The regular expression pattern for filtering out this group is: /^(100\.100\.701|800\.[32])/
Result Code
Result Description
100.100.701
suspecting fraud, this card may not be processed
800.200.159
account or user is blacklisted (card stolen)
800.200.160
account or user is blacklisted (card blocked)
800.200.165
account or user is blacklisted (card lost)
800.200.202
account or user is blacklisted (account closed)
800.200.208
account or user is blacklisted (account blocked)
800.200.220
account or user is blacklisted (fraudulent transaction)
800.300.101
account or user is blacklisted
800.300.102
country blacklisted
800.300.200
email is blacklisted
800.300.301
ip blacklisted
800.300.302
ip is anonymous proxy
800.300.401
bin blacklisted
800.300.500
transaction temporary blacklisted (too many tries invalid CVV)
800.300.501
transaction temporary blacklisted (too many tries invalid expire date)
800.310.200
Account closed
800.310.210
Account not found
800.310.211
Account not found (BIN/issuer not participating)

Result codes for rejections due to risk validation

The regular expression pattern for filtering out this group is: /^(800\.1[123456]0)/
Result Code
Result Description
800.110.100
duplicate transaction
800.120.100
Rejected by Throttling.
800.120.101
maximum number of transactions per account already exceeded
800.120.102
maximum number of transactions per ip already exceeded
800.120.103
maximum number of transactions per email already exceeded
800.120.200
maximum total volume of transactions already exceeded
800.120.201
maximum total volume of transactions per account already exceeded
800.120.202
maximum total volume of transactions per ip already exceeded
800.120.203
maximum total volume of transactions per email already exceeded
800.120.300
chargeback rate per bin exceeded
800.120.401
maximum number of transactions or total volume for configured MIDs or CIs exceeded
800.130.100
Transaction with same TransactionId already exists
800.140.100
maximum number of registrations per mobile number exceeded
800.140.101
maximum number of registrations per email address exceeded
800.140.110
maximum number of registrations of mobile per credit card number exceeded
800.140.111
maximum number of registrations of credit card number per mobile exceeded
800.140.112
maximum number of registrations of email per credit card number exceeded
800.140.113
maximum number of registrations of credit card number per email exceeded
800.150.100
Account Holder does not match Customer Name

Result codes for rejections due to validation

Result codes for rejections due to configuration validation

The regular expression pattern for filtering out this group is: /^(600\.[23]|500\.[12]|800\.121)/
Result Code
Result Description
500.100.201
Channel/Merchant is disabled (no processing possible)
500.100.202
Channel/Merchant is new (no processing possible yet)
500.100.203
Channel/Merchant is closed (no processing possible)
500.100.301
Merchant-Connector is disabled (no processing possible)
500.100.302
Merchant-Connector is new (no processing possible yet)
500.100.303
Merchant-Connector is closed (no processing possible)
500.100.304
Merchant-Connector is disabled at gateway (no processing possible)
500.100.401
Connector is unavailable (no processing possible)
500.100.402
Connector is new (no processing possible yet)
500.100.403
Connector is unavailable (no processing possible)
500.200.101
No target account configured for DD transaction
600.200.100
invalid Payment Method
600.200.200
Unsupported Payment Method
600.200.201
Channel/Merchant not configured for this payment method
600.200.202
Channel/Merchant not configured for this payment type
600.200.300
invalid Payment Type
600.200.310
invalid Payment Type for given Payment Method
600.200.400
Unsupported Payment Type
600.200.500
Invalid payment data. You are not configured for this currency or sub type (country or brand)

Result codes for rejections due to registration validation

The regular expression pattern for filtering out this group is: /^(100\.[13]50)/
Result Code
Result Description
100.150.100
request contains no Account data and no registration id
100.150.101
invalid format for specified registration id (must be uuid format)
100.150.200
registration does not exist
100.150.201
registration is not confirmed yet
100.150.202
registration is already deregistered
100.150.203
registration is not valid, probably initially rejected
100.150.204
account registration reference pointed to no registration transaction
100.150.205
referenced registration does not contain an account
100.150.300
payment only allowed with valid initial registration
100.350.100
referenced session is REJECTED (no action possible).
100.350.101
referenced session is CLOSED (no action possible)
100.350.200
undefined session state
100.350.201
referencing a registration through reference id is not applicable for this payment type
100.350.301
confirmation (CF) must be registered (RG) first
100.350.302
session already confirmed (CF)
100.350.303
cannot deregister (DR) unregistered account and/or customer
100.350.310
cannot confirm (CF) session via XML
100.350.311
cannot confirm (CF) on a registration passthrough channel
100.350.312
cannot do passthrough on non-internal connector

Result codes for rejections due to job validation

The regular expression pattern for filtering out this group is: /^(100\.250|100\.360)/
Result Code
Result Description
100.250.100
job contains no execution information
100.250.105
invalid or missing action type
100.250.106
invalid or missing duration unit
100.250.107
invalid or missing notice unit
100.250.110
missing job execution
100.250.111
missing job expression
100.250.120
invalid execution parameters, combination does not conform to standard
100.250.121
invalid execution parameters, hour must be between 0 and 23
100.250.122
invalid execution parameters, minute and seconds must be between 0 and 59
100.250.123
invalid execution parameters, Day of month must be between 1 and 31
100.250.124
invalid execution parameters, month must be between 1 and 12
100.250.125
invalid execution parameters, Day of week must be between 1 and 7
100.250.250
Job tag missing
100.360.201
unknown schedule type
100.360.300
cannot schedule(SD) unscheduled job
100.360.303
cannot deschedule(DS) unscheduled job
100.360.400
schedule module not configured for LIVE transaction mode

Result codes for rejections due to reference validation

The regular expression pattern for filtering out this group is: /^(700\.[1345][05]0)/
Result Code
Result Description
700.100.100
reference id not existing
700.100.200
non matching reference amount
700.100.300
invalid amount (probably too large)
700.100.400
referenced payment method does not match with requested payment method
700.100.500
referenced payment currency does not match with requested payment currency
700.100.600
referenced mode does not match with requested payment mode
700.100.700
referenced transaction is of inappropriate type
700.100.701
referenced a DB transaction without explicitly providing an account. Not allowed to used referenced account.
700.100.710
cross-linkage of two transaction-trees
700.300.100
referenced tx can not be refunded, captured or reversed (invalid type)
700.300.200
referenced tx was rejected
700.300.300
referenced tx can not be refunded, captured or reversed (already refunded, captured or reversed)
700.300.400
referenced tx can not be captured (cut off time reached)
700.300.500
chargeback error (multiple chargebacks)
700.300.600
referenced tx can not be refunded or reversed (was chargebacked)
700.300.700
referenced tx can not be reversed (reversal not possible anymore)
700.300.800
referenced tx can not be voided
700.400.000
serious workflow error (call support)
700.400.100
cannot capture (PA value exceeded, PA reverted or invalid workflow?)

Result codes for rejections due to format validation

The regular expression pattern for filtering out this group is: /^(200\.[123]|100\.[53][07]|800\.900|100\.[69]00\.500)/
Result Code
Result Description
100.300.101
invalid test mode (please use LIVE or INTEGRATOR_TEST or CONNECTOR_TEST)
100.300.200
transaction id too long
100.300.300
invalid reference id
100.300.400
missing or invalid channel id
100.300.401
missing or invalid sender id
100.300.402
missing or invalid version
100.300.501
invalid response id
100.300.600
invalid or missing user login
100.300.601
invalid or missing user pwd
100.300.700
invalid relevance
100.300.701
invalid relevance for given payment type
100.370.100
transaction declined
100.370.101
responseUrl not set in Transaction/Frontend
100.370.102
malformed responseUrl in Transaction/Frontend
100.370.110
transaction must be executed for German address
100.370.111
system error( possible incorrect/missing input data)
100.370.121
no or unknown ECI Type defined in Authentication
100.370.122
parameter with null key provided in 3DSecure Authentication
100.370.123
no or unknown verification type defined in 3DSecure Authentication

Result codes for rejections due to address validation

The regular expression pattern for filtering out this group is: /^(100\.800)/
Result Code
Result Description
100.800.100
request contains no street
100.800.101
The combination of street1 and street2 must not exceed 201 characters.
100.800.102
The combination of street1 and street2 must not contain only numbers.
100.800.200
request contains no zip
100.800.201
zip too long
100.800.202
invalid zip
100.800.300
request contains no city
100.800.301
city too long
100.800.302
invalid city
100.800.400
invalid state/country combination
100.800.401
state too long
100.800.500
request contains no country
100.800.501
invalid country

Result codes for rejections due to contact validation

The regular expression pattern for filtering out this group is: /^(100\.[97]00)/
Result Code
Result Description
100.700.100
customer.surname may not be null
100.700.101
customer.surname length must be between 0 and 50
100.700.200
customer.givenName may not be null
100.700.201
customer.givenName length must be between 0 and 50
100.700.300
invalid salutation
100.700.400
invalid title
100.700.500
company name too long
100.700.800
identity contains no or invalid 'paper'
100.700.801
identity contains no or invalid identification value
100.700.802
identification value too long
100.700.810
specify at least one identity
100.900.100
request contains no email address
100.900.101
invalid email address (probably invalid syntax)
100.900.105
email address too long (max 50 chars)
100.900.200
invalid phone number (has to start with a digit or a '+', at least 7 and max 25 chars long)
100.900.300
invalid mobile phone number (has to start with a digit or a '+', at least 7 and max 25 chars long)
100.900.301
mobile phone number mandatory
100.900.400
request contains no ip number
100.900.401
invalid ip number

Result codes for rejections due to account validation

The regular expression pattern for filtering out this group is: /^(100\.100|100.2[01])/
Result Code
Result Description
100.100.100
request contains no creditcard, bank account number or bank name
100.100.101
invalid creditcard, bank account number or bank name
100.100.104
invalid unique id / root unique id
100.100.200
request contains no month
100.100.201
invalid month
100.100.300
request contains no year
100.100.301
invalid year
100.100.303
card expired
100.100.304
card not yet valid
100.100.305
invalid expiration date format
100.100.400
request contains no cc/bank account holder
100.100.401
cc/bank account holder too short or too long
100.100.402
cc/bank account holder not valid
100.100.500
request contains no credit card brand
100.100.501
invalid credit card brand
100.100.600
empty CVV for VISA,MASTER, AMEX not allowed
100.100.601
invalid CVV/brand combination
100.100.650
empty CreditCardIssueNumber for MAESTRO not allowed
100.100.651
invalid CreditCardIssueNumber

Result codes for rejections due to amount validation

The regular expression pattern for filtering out this group is: /^(100\.55)/
Result Code
Result Description
100.550.300
request contains no amount or too low amount
100.550.301
amount too large
100.550.303
amount format invalid (only two decimals allowed).
100.550.310
amount exceeds limit for the registered account.
100.550.311
exceeding account balance
100.550.312
Amount is outside allowed ticket size boundaries
100.550.400
request contains no currency
100.550.401
invalid currency
100.550.601
risk amount too large
100.550.603
risk amount format invalid (only two decimals allowed)
100.550.605
risk amount is smaller than amount (it must be equal or bigger then amount)
100.550.701
amounts not matched
100.550.702
currencies not matched

Result codes for rejections due to risk management

The regular expression pattern for filtering out this group is: /^(100\.380\.[23]|100\.380\.101)/
Result Code
Result Description
100.380.101
transaction contains no risk management part
100.380.201
no risk management process type specified
100.380.305
no frontend information provided for asynchronous transaction
100.380.306
no authentication data provided in risk management transaction
The regular expression pattern for filtering out this group is: /^(000\.100\.2)/
Result Code
Result Description
000.100.200
Reason not Specified
000.100.201
Account or Bank Details Incorrect
000.100.202
Account Closed
000.100.203
Insufficient Funds
000.100.204
Mandate not Valid
000.100.205
Mandate Cancelled
000.100.206
Revocation or Dispute
000.100.207
Cancellation in Clearing Network
000.100.208
Account Blocked
000.100.209
Account does not exist
000.100.210
Invalid Amount
000.100.211
Transaction succeeded (amount of transaction is smaller then amount of pre-authorization)
000.100.212
Transaction succeeded (amount of transaction is greater then amount of pre-authorization)
000.100.220
Fraudulent Transaction
000.100.221
Merchandise Not Received
000.100.222
Transaction Not Recognized By Cardholder
000.100.223
Service Not Rendered
000.100.224
Duplicate Processing
000.100.225
Credit Not Processed