我最近将 Cybersource 集成到我的系统中,并遇到了 3D Secure 支付身份验证问题。以下是情况的简要概述:
初步测试:
在 Cybersource 中添加了测试卡。 进行了简单的付款,一切顺利。 3D 安全设置步骤:
**按照以下步骤设置 3D 安全支付: ** 第1步:设置服务 第2步:设备数据收集 第3步:付款人身份验证检查注册服务 第 3 步后收到“AUTHENTICATION_SUCCESSFUL”。
当前问题:
尝试处理付款时,我收到“已拒绝”状态。
3D支付负载:
{
"processingInformation": {
"actionList": [
"VALIDATE_CONSUMER_AUTHENTICATION"
],
"capture": true
},
"paymentInformation": {
"paymentInstrument": {
"id": "ad5a4da4dad5d4a4d5a4d54d"
}
},
"orderInformation": {
"amountDetails": {
"totalAmount": "",
"currency": ""
},
"billTo": {
"firstName": "John",
"lastName": "Smith",
"address1": "201 S. Division St._1",
"locality": "Foster City",
"administrativeArea": "CA",
"postalCode": "94404",
"country": "US",
"email": "[email protected]",
"phoneNumber": "6504327113"
}
},
"consumerAuthenticationInformation": {
"authenticationTransactionId": "OiCtXA1j1AxtSNDh5lt1"
}
}
错误信息如下:
"errorInformation": {
"$id": "2",
"reason": "CONSUMER_AUTHENTICATION_FAILED",
"message": "Encountered a Payer Authentication problem. Payer could not be authenticated."
}
我已确保付款人身份验证成功,但由于“CONSUMER_AUTHENTICATION_FAILED”原因而付款被拒绝。
如果有人遇到过类似问题或拥有 Cybersource 3D Secure 支付方面的专业知识,我们将非常感谢您的见解和帮助。我渴望解决这个问题并确保付款流程顺利。
提前感谢您的帮助!
如果您或任何人需要帮助:
从 processingInformation 中删除 actionList 数组,您只需要在付款人在付款前进行身份验证时遇到挑战时验证身份验证,如果您成功/获得了成功的无摩擦身份验证,那么您就可以开始了。而且,如果您尝试验证成功的无摩擦身份验证,您将收到“遇到付款人身份验证问题。付款人无法通过身份验证。”的错误消息。
如果您转到 Cybersource 帐户,您可以检查验证身份验证的交易详细信息,您会在详细信息中看到您没有发送 consumerAuthenticationInformation.authenticationTransactionId,但事实并非如此,但注册/认证成功了。
付款人身份验证检查注册已返回“AUTHENTICATION_SUCCESSFUL”状态,还在同一响应上检查 paresStatus 和 veresEnrolled 的值,两者都应返回“Y”或类似值。
成功无摩擦身份验证的完整响应如下所示(我删除了所有令牌和 ID):
{
"clientReferenceInformation": {
"code": "cybs_test"
},
"consumerAuthenticationInformation": {
"eciRaw": "05",
"authenticationTransactionId": "$2",
"strongAuthentication": {
"OutageExemptionIndicator": "0"
},
"eci": "05",
"token": "$3",
"cavv": "$4=",
"paresStatus": "Y",
"acsReferenceNumber": "Cardinal ACS",
"xid": "$4=",
"directoryServerTransactionId": "$5",
"veresEnrolled": "Y",
"threeDSServerTransactionId": "$6",
"acsOperatorID": "MerchantACS",
"ecommerceIndicator": "vbv",
"specificationVersion": "2.1.0",
"acsTransactionId": "$7"
},
"id": "$1",
"paymentInformation": {
"card": {
"bin": "400000",
"type": "VISA"
}
},
"status": "AUTHENTICATION_SUCCESSFUL",
"submitTimeUtc": "2024-02-21T20:56:11Z"
}
您还可以通过您的帐户在 Cybersource 面板上检查注册状态。
此外,请记住在有效负载中包含 processingInformation.capture 字段并将其设置为 true,以便在与付款相同的请求上执行结算。如果您将其设置为 false,您可以稍后从您的 Cybersource 帐户结算交易。
希望有帮助。