PrimeiroPay
Search
⌃K
Comment on page

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)
800.100.168
transaction declined (restricted card)
800.100.169
transaction declined (card type is not processed by the authorization center)
800.100.170
transaction declined (transaction not permitted)
800.100.171
transaction declined (pick up card)
800.100.172
transaction declined (account blocked)
800.100.173
transaction declined (invalid currency, not processed by authorization center)
800.100.174
transaction declined (invalid amount)
800.100.175
transaction declined (invalid brand)
800.100.176
transaction declined (account temporarily not available. Please try again later)
800.100.177
transaction declined (amount field should not be empty)
800.100.178
transaction declined (PIN entered incorrectly too often)
800.100.179
transaction declined (exceeds withdrawal count limit)
800.100.190
transaction declined (invalid configuration data)
800.100.191
transaction declined (transaction in wrong state on aquirer side)
800.100.192
transaction declined (invalid CVV, Amount has still been reserved on the customer's card and will be released in a few business days. Please ensure the CVV code is accurate before retrying the transaction)
800.100.195
transaction declined (UserAccount Number/ID unknown)
800.100.196
transaction declined (registration error)
800.100.197
transaction declined (registration cancelled externally)
800.100.198
transaction declined (invalid holder)
800.100.199
transaction declined (invalid tax number)
800.100.200
Refer to Payer due to reason not specified
800.100.201
Account or Bank Details Incorrect
800.100.202
Account Closed
800.100.203
Insufficient Funds
800.100.204
Mandate Expired
800.100.205
Mandate Discarded
800.100.206
Refund of an authorized payment requested by the customer
800.100.207
Refund requested
800.100.208
Direct debit not enabled for the specified account or bank
800.100.402
cc/bank account holder not valid
800.100.403
transaction declined (revocation of authorisation order)
800.100.500
Card holder has advised his bank to stop this recurring payment
800.100.501
Card holder has advised his bank to stop all recurring payments for this merchant
800.700.100
transaction for the same session is currently being processed, please try again later.
800.700.101
family name too long
800.700.201
given name too long
800.700.500
company name too long
800.800.102
Invalid street
800.800.202
Invalid zip
800.800.302
Invalid city

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
100.400.039
transaction declined for other error
100.400.040
authorization failure
100.400.041
transaction must be executed for German address
100.400.042
transaction declined by SCHUFA (Insufficient credibility score)
100.400.043
transaction declined because of missing obligatory parameter(s)
100.400.044
transaction not authorized. Please check manually
100.400.045
SCHUFA result not definite. Please check manually
100.400.051
SCHUFA system error (possible incorrect/missing input data)
100.400.060
authorization failure
100.400.061
transaction declined (Insufficient credibility score)
100.400.063
transaction declined because of missing obligatory parameter(s)
100.400.064
transaction must be executed for Austrian, German or Swiss address
100.400.065
result ambiguous. Please check manually
100.400.071
system error (possible incorrect/missing input data)
100.400.080
authorization failure
100.400.081
transaction declined
100.400.083
transaction declined because of missing obligatory parameter(s)
100.400.084
transaction can not be executed for given country
100.400.085
result ambiguous. Please check manually
100.400.086
transaction declined (Wrong Address)
100.400.087
transaction declined (Wrong Identification)
100.400.091
system error (possible incorrect/missing input data)
100.400.100
transaction declined - very bad rating
100.400.120
authorization failure
100.400.121
account blacklisted
100.400.122
transaction must be executed for valid German account
100.400.123
transaction declined because of missing obligatory parameter(s)
100.400.130
system error (possible incorrect/missing input data)
100.400.139
system error (possible incorrect/missing input data)
100.400.140
transaction declined by GateKeeper
100.400.141
Challenge by ReD Shield
100.400.142
Deny by ReD Shield
100.400.143
Noscore by ReD Shield
100.400.144
ReD Shield data error
100.400.145
ReD Shield connection error
100.400.146
Line item error by ReD Shield
100.400.147
Payment void and transaction denied by ReD Shield
100.400.148
Payment void and transaction challenged by ReD Shield
100.400.149
Payment void and data error by ReD Shield
100.400.150
Payment void and connection error by ReD Shield
100.400.151
Payment void and line item error by ReD Shield
100.400.152
Payment void and error returned by ReD Shield
100.400.241
Challenged by Threat Metrix
100.400.242
Denied by Threat Metrix
100.400.243
Invalid sessionId
100.400.260
authorization failure
100.400.300
abort checkout process
100.400.301
reenter age/birthdate
100.400.302
reenter address (packstation not allowed)
100.400.303
reenter address
100.400.304
invalid input data
100.400.305
invalid foreign address
100.400.306
delivery address error
100.400.307
offer only secure methods of payment
100.400.308
offer only secure methods of payment; possibly abort checkout
100.400.309
confirm corrected address; if not confirmed, offer secure methods of payment only
100.400.310
confirm bank account data; if not confirmed, offer secure methods of payment only
100.400.311
transaction declined (format error)
100.400.312
transaction declined (invalid configuration data)
100.400.313
currency field is invalid or missing
100.400.314
amount invalid or empty
100.400.315
invalid or missing email address (probably invalid syntax)
100.400.316
transaction declined (card missing)
100.400.317
transaction declined (invalid card)
100.400.318
invalid IP number
100.400.319
transaction declined by risk system
100.400.320
shopping cart data invalid or missing
100.400.321
payment type invalid or missing
100.400.322
encryption method invalid or missing
100.400.323
certificate invalid or missing
100.400.324
Error on the external risk system
100.400.325
External risk system not available
100.400.326
Risk bank account check unsuccessful
100.400.327
Risk report unsuccessful
100.400.328
Risk report unsuccessful (invalid data)

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