php - 在 cardinalcommerce 中为 Amex 获取 API 错误 [9000] desc [服务 CCA 查找错误]
问题描述
我正在使用 Cardinal Cruise Hybrid 进行 3D 安全。我遵循了Cardinal Cruise提供的文档。我用 PHP 创建了 JWT。我正在使用Cardinal Cruise Javascript Activation Credentials。我收到了带有 Visa 和 master 的 cmpi_lookup 响应和 cmpi_authenticate 响应。
我无法使用美国运通卡获得 cmpi_lookup 响应。谁能帮我解决这个问题?我的js代码
Cardinal.configure({
logging: {
level: "on"
}
});
var orderObject = {
"Authorization": {
"AuthorizeAccount": true
},
"Cart": [
{
"Name": "test",
"SKU": "sdsadsf",
"Quantity": "3",
"Description": "ccccc"
}
],
"Consumer": {
"Email1": "test@mail.com",
"Email2": "test1@mail.com",
"ShippingAddress": {
"FullName": "John Smith",
"FirstName": "John",
"MiddleName": "",
"LastName": "Smith",
"Address1": "8100 Tyler Blvd.",
"Address2": "",
"Address3": "",
"City": "Mentor",
"State": "Ohio",
"PostalCode": "44060",
"CountryCode": "US",
"Phone1": "",
"Phone2": ""
},
"BillingAddress": {
"FullName": "John Smith",
"FirstName": "John",
"MiddleName": "",
"LastName": "Smith",
"Address1": "8100 Tyler Blvd.",
"Address2": "",
"Address3": "",
"City": "Mentor",
"State": "Ohio",
"PostalCode": "44060",
"CountryCode": "US",
"Phone1": "",
"Phone2": ""
},
"Account": {
"AccountNumber": 340000000003961,
"ExpirationMonth": 01,
"ExpirationYear": 2022,
"CardCode": 0775,
"NameOnAccount": "John Smith"
}
},
"Options": {
"EnableCCA": true
},
"OrderDetails": {
"OrderNumber": Math.random(0, 1000000) + "-shzs",
"Amount": 25.00,
"CurrencyCode": "840",
"OrderDescription": "nothg",
"OrderChannel": "S",
"TransactionId": "2fDSaySnCmDGCjPglzqX"
},
"Token": {
"Token": "",
"CardCode": 0775,
"ExpirationMonth": 01,
"ExpirationYear": 2022
},
"CCAExtension" : {
"AcquirerId" : "",
"AcquirerMerchantId" : "",
"AcquirerPassword" : "",
"CountryCodeOverride" : "US",
"FormId" : "",
"MerchantName" : "devCenterMerchant",
"MerchantUrl" : "https://centineltest.cardinalcommerce.com/maps/txns.asp",
"PAResPayload" : "",
"ProductCode" : "01",
"ShippingMethod" : "01"
}
};
Cardinal.setup('init', {
jwt: document.getElementById('JWTContainer').value,
order: orderObject
});
Cardinal.on('payments.setupComplete', function(){
Cardinal.start('cca', orderObject);
});
得到回应
ActionCode: "NOACTION"
ErrorDescription: "Error in service CCA lookup"
ErrorNumber: 9000
ECIFlag: "07"
Enrolled: "U"
解决方案
这暂时对我有用,但仍有其他阻止程序
const orderObj = {
OrderDetails: {
Amount: '2000',
CurrencyCode: "NGN"
},
Consumer: {
DFReferenceId: ReferenceId,
Account: {
AccountNumber: '4000000000001091',
ExpirationMonth: '01',
ExpirationYear: '2022',
CardCode: '111'
},
}
}
Cardinal.trigger("bin.process", `${fields.card}`)
.then(function (result) {
if (result.Status) {
Cardinal.start('cca', orderObj);
}
})
.catch(function (error) {
console.log(error, '===== bin.process error log');
// An error occurred during profiling
})
推荐阅读
- r-lavaan - 如何在 R 中编写多级 SEM 模型?
- python - pylint/flake8 linter 检查等同于 PyCharm 中的“名称'x'可以未定义”和“局部变量'x'可能在赋值之前被引用”
- c++ - 有没有办法将犰狳矢量转换为 C++ 中的字符串?
- javascript - 反应动画列表中的新元素
- javascript - 数组创建由来自 xml 的数据过滤(过滤器和矩阵)
- mysql - MySQL删除每个id的所有行,除了最新的行
- c# - 在 c# 中检索和预览存储在 IEnumerable<> 中的属性值
- postgresql - 使用 srid 32636 时 st_distance 的错误结果
- r - 具有多重插补 (MICE)、标准化系数的 R 中的中介分析
- javascript - 无法在画布 HTML 上绘图