Skip to main content

verifyRedirectResponse Method

Overview

The verifyRedirectResponse method validates the authenticity of payment responses from redirect-based authentication flows (3DS, bank redirects, wallet callbacks).

Business Use Case: When a customer returns from a 3DS challenge or bank redirect, verify the response is legitimate before fulfilling the order.

Purpose

ScenarioBenefit
3DS completionValidate authentication result
Bank redirectConfirm payment success
Wallet paymentVerify token authenticity
Fraud preventionPrevent spoofed notifications

Request Fields

FieldTypeRequiredDescription
merchantOrderIdstringYesYour unique order reference
requestDetailsobjectYesRedirect request details
requestDetails.headersobjectYesHTTP headers
requestDetails.queryParamsobjectYesURL query parameters
requestDetails.bodystringYesRequest body

Response Fields

FieldTypeDescription
merchantOrderIdstringYour reference (echoed back)
sourceVerifiedbooleanWhether response is authentic
connectorTransactionIdstringConnector's transaction ID
statusPaymentStatusCurrent payment status
responseAmountMoneyVerified amount
errorErrorInfoError details if failed

Example

SDK Setup

const { PaymentClient } = require('hyperswitch-prism');

const paymentClient = new PaymentClient({
connector: 'stripe',
apiKey: 'YOUR_API_KEY',
environment: 'SANDBOX'
});

Request

const request = {
merchantOrderId: "order_001",
requestDetails: {
headers: {
"Content-Type": "application/x-www-form-urlencoded"
},
queryParams: {
payment_intent: "pi_3Oxxx...",
payment_intent_client_secret: "pi_3Oxxx..._secret_xxx"
},
body: ""
}
};

const response = await paymentClient.verifyRedirectResponse(request);

Response

{
merchantOrderId: "order_001",
sourceVerified: true,
connectorTransactionId: "pi_3Oxxx...",
status: "AUTHORIZED",
responseAmount: {
minorAmount: 1000,
currency: "USD"
},
statusCode: 200
}

Next Steps

  • capture - Finalize payment after verification
  • get - Check payment status