What is Processor Raw Response?
The processor raw response is the complete, unprocessed response from the payment processor (WorldPay, Adyen, Nuvei, etc.). It contains detailed information that’s not included in Revolv3’s simplified response, including:- Processor-specific transaction IDs
- Detailed fraud check results
- AVS (Address Verification System) results
- Processor-specific error codes
- Additional metadata and flags
- Debugging: Understanding exactly what the processor returned
- Auditing: Keeping detailed records of processor responses
- Processor-specific logic: When you need processor-specific codes or data
- Support: Providing detailed information when contacting support
- Reconciliation: Matching with processor reports using processor transaction IDs
Note: Raw responses are optional and increase response size. Only request them when you need the detailed information.
Important: Raw Response Format
TherawResponse is returned as an escaped JSON string, not a JSON object. This means it looks “ugly” with backslashes:
Enabling Raw Processor Responses
To include the raw processor response, add this parameter to your request:In Payment Requests
Add it to payment-related endpoints:POST {{Api Root}}/api/payments/salePOST {{Api Root}}/api/payments/sale/{paymentMethodId}POST {{Api Root}}/api/payments/authorizationPOST {{Api Root}}/api/payments/capture/{paymentMethodAuthorizationId}
In Invoice Retrieval
Add it as a query parameter:{{Api Root}} with api.revolv3.com (production) or api-sandbox.revolv3.com (sandbox).
Example: Payment with Raw Response
Request
Response (Success)
TherawResponse field contains the escaped JSON string:
Parsing the Raw Response
Before parsing (escaped string):Response (Failure)
For a failed transaction, the raw response includes the decline reason:"response": "110" which corresponds to “Insufficient Funds” in WorldPay’s documentation.
How to Parse Raw Responses
JavaScript/Node.js
Python
C#
Understanding Processor Response Fields
Processor-specific: Each processor has its own field names and codes. Refer to your processor’s documentation for specific meanings.When to Use Raw Responses
Use Raw Responses When:
- Debugging payment issues: Need to see exactly what the processor returned
- Processor-specific logic: Building logic based on processor codes
- Detailed auditing: Need complete records for compliance
- Reconciliation: Matching with processor reports using processor transaction IDs
- Support requests: Providing detailed information to Revolv3 support
Don’t Use Raw Responses When:
- Simple integrations: Revolv3’s simplified response is usually enough
- Performance sensitive: Raw responses increase response size
- You don’t need the details: If
invoiceAttemptStatusare sufficient
Best Practices
- Always parse: Treat
rawResponseas a string and parse it—don’t try to use it as an object - Handle parsing errors: Wrap parsing in try/catch—malformed JSON can break your code
- Use sparingly: Only request when needed—it increases response size
- Fallback to simplified: If parsing fails, use Revolv3’s fields as a fallback
Processor-Specific Codes
Each processor has its own response codes. Common examples:WorldPay
"000": Approved"110": Insufficient Funds"200": Generic Decline
Adyen
"Authorised": Approved"Refused": Declined- Various refusal reasons
Common Questions
Q: Do I have to parse the raw response? A: Yes, it’s returned as an escaped JSON string. You must parse it to use the data. Q: What if parsing fails? A: Log the raw string and use Revolv3’s fields as a fallback. Check processor documentation for format changes. Q: Should I always request raw responses? A: No, only when you need the detailed information. It increases response size and processing time. Q: Can I use raw responses for all processors? A: Yes, but the format and fields vary by processor. Check your processor’s documentation for specifics. Q: Is raw response data sensitive? A: It may contain transaction details.Next Steps
- Get Invoice Details — See how to get raw responses for existing invoices
- Error Responses — Understand how to handle API errors
- Make a Payment — See how to include raw response in payment requests

