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