Introduction
Visa Acceptance Solutions (including Cybersource) transaction responses return either Reason Codes or Reply Flags, depending on the integration method used. These values indicate the outcome of a transaction, including successful processing, declines, errors, and fraud-related decisions.
Understanding reason codes helps merchants quickly identify transaction status, troubleshoot issues, and determine next steps.
Reason Codes vs Reply Flags
Reason Codes
A reason code is returned for transactions submitted using:
- Simple Order API
- Virtual Terminal
- Secure Acceptance – Hosted Checkout
- Secure Acceptance – Checkout API
- SOAP Toolkit API
- Offline Transaction File Submission
Reply Flags (SCMP)
The SCMP integration method returns a related value called a reply flag (rflag). Reply flags represent similar outcomes but are specific to SCMP messaging.
Reason Code / Reply Flag Descriptions
The tables below list reason codes, corresponding SCMP reply flags (where applicable), descriptions of what each response indicates, and possible follow-up actions.
If you receive a reason code not listed here, please contact Client Services.
Successful Transactions
| Reason Code | Reply Flag | Description | Possible Action |
|---|---|---|---|
| 100 | SOK | Successful transaction | — |
Request Validation Errors
| Reason Code | Reply Flag | Description | Possible Action |
|---|---|---|---|
| 101 | DMISSINGFIELD | Missing required fields | Review missingField_0..N and resend |
| 102 | DINVALIDDATA | Invalid data provided | Review invalidField_0..N and resend. |
| 104 | DDUPLICATE | Duplicate merchantReferenceCode | Resend with a unique reference |
Partial Approvals
| Reason Code | Reply Flag | Description | Possible Action |
|---|---|---|---|
| 110 | SPARTIALAPPROVAL | Partial amount approved | Refer to Partial Authorization documentation |
Issuer & Bank Declines
| Reason Code | Reply Flag | Description | Possible Action |
|---|---|---|---|
| 120 | — | Transaction not permitted | Customer contacts issuer |
| 200 | DAVSNO | AVS mismatch (soft decline) | Capture allowed; review for fraud |
| 201 | DCALL | Issuer requires clarification | Contact processor |
| 202 | DCARDEXPIRED | Expired card | Request updated card |
| 203 | DCARDREFUSED | General issuer decline | Request alternate payment |
| 204 | DCARDREFUSED | Insufficient funds | Request alternate payment |
| 205 | DCARDREFUSED | Lost or stolen card | Refer to support |
| 207 | DCARDREFUSED | Issuer unavailable | Retry after delay |
| 208 | DCARDREFUSED | Inactive or CNP not allowed | Request alternate payment |
| 209 / 211 | DCARDREFUSED | CVN mismatch | Request alternate payment |
| 210 | DCARDREFUSED | Credit limit exceeded | Request alternate payment |
| 230 | DCV | CVN mismatch (soft decline) | Capture allowed; review |
| 231 | DINVALIDCARD | Invalid card number | Request alternate payment |
| 232 | DINVALIDCARD | Card type not accepted | Contact merchant bank |
| 233 | DINVALIDDATA | Processor decline | Request alternate payment |
System & Configuration Errors
| Reason Code | Reply Flag | Description | Possible Action |
|---|---|---|---|
| 150 | ESYSTEM | System Error – A system error occurred during transaction processing.
Depending on the payment processor handling the transaction, this response may indicate:
| Verify status; avoid endless retries If RRC 150 occurs repeatedly for the same merchant or transaction type:
|
| 151 / 152 | ETIMEOUT | Server timeout | Check Business Center before retry |
| 154 | ESYSTEM | Bad MAC key | Safe to retry payout |
| 234 | DINVALIDDATA | Configuration error | Contact Client Services |
| 236 | DINVALIDDATA | Processor failure | Retry after delay |
| 250 / 268 | ETIMEOUT | Processor timeout | Verify transaction status |
| 261 | — | Invalid processor setup | Contact Client Services |
Fraud & Authentication Responses
| Reason Code | Reply Flag | Description | Possible Action |
|---|---|---|---|
| 400 | DSCORE | Fraud score exceeded | Review before capture |
| 474 | DAUTHENTICATE | PIN required | Collect PIN |
| 475 / 476 | DAUTHENTICATE | Payer authentication required/failed | Authenticate cardholder |
| 478 | DAUTHENTICATE | SCA required | Resubmit with SCA |
| 480 | DREVIEW | Decision Manager review | Review in DM |
| 481 | DREJECT | Rejected by Decision Manager | Follow DM guidance |
Aggregator & Regulatory Restrictions
| Reason Code | Reply Flag | Description | Possible Action |
|---|---|---|---|
| 490–494 | DAGGDENIED / DSYSREJECTED | Acquirer or safeguard rejection | Contact acquirer |
| 700–703 | DRESTRICTED | Denied parties / export controls | Reject order |
Refunds and Credits
Some reason codes require issuing refunds or credits after authorization or settlement. Refer to:
Payments – How to Issue a Refund or Credit
Recommended Merchant Workflow
- Identify the reason code in the API response or Business Center
- Determine the category (success, decline, error, fraud)
- Apply the recommended action
- Escalate when required (issuer, processor, Client Services)
- Prevent recurrence through validation and configuration review
