我正在尝试为网络上的 applepay 处理设置一个 POC。我在 Azure 上有一个经过验证的商家域的网站,并且能够生成据我所知看起来有效的支付会话,例如
{
"epochTimestamp": 1618320255698,
"expiresAt": 1618323855698,
"merchantSessionIdentifier": "some identifier",
"nonce": "some nonce",
"merchantIdentifier": "some identifier",
"domainName": "myVerifiedDomain.azurewebsites.net",
"signature": "a nice long signature",
"operationalAnalyticsIdentifier": "display name:the merchant session identifier above",
"retries": 0
}
这是在
onvalidatemerchant
事件处理程序中生成的,并传递到 session.completeMerchantValidation
。
使用沙盒帐户或带有链接卡的真实 Apple 帐户,接下来发生的事情是页面上的 ApplePay 弹出窗口中立即显示“付款未完成”消息,并且点击
oncancel
事件检查该事件,我不知道没有看到任何暗示该问题的内容。有一个 sessionError
对象,但其代码为 "unknown"
并且 info
对象为空。
这可能是什么原因造成的?我发现的其他报告似乎主要是关于未验证的域,但它绝对与已验证的域匹配,并且我尝试了一些变体(包括 https:// 和完整页面 URL 而不仅仅是域) )我也有同样的症状
我已经弄清楚了。我的模型中缺少 displayName 属性,因此未从 JSON 中反序列化
我们遇到的问题是我们没有四舍五入到小数点后两位。 Apple Pay 对
4.435
不满意,而是想要 4.44
支付金额。