尝试将 ApplePayJS 集成到我的网站并收到这条烦人的消息::
InvalidAccessError Code 15
"The object does not support the operation or argument"
一切似乎进展顺利,但现在没有任何效果。
尝试将 ApplePayJS 集成到我的网站并收到这条烦人的消息::
InvalidAccessError Code 15
"The object does not support the operation or argument"
一切似乎进展顺利,但现在没有任何效果。
如果您收到此错误,根据我的经验,Safari 现在对 ApplePayJS 已死,您必须先强制退出并重新打开它。
如果您将字符串而不是对象传递到completeMerchantValidation
.
如果您从服务器返回的不是 JSON 对象,而是一个字符串,那么您可以这样做:
session.completeMerchantValidation(JSON.parse(merchantSession));
或者更好 - 修复您的服务器以返回 JSON 对象而不是字符串。
4年后更新:
我今天刚刚再次为真正的客户看到了这一点,而不是在我自己的测试中。在这种情况下,订单已成功,而客户认为它已失败,因此尝试再次执行该流程。
奇怪的是,在这个调用中出现了同样的错误“对象不支持操作或参数”。
applePayTokenize.session.completePayment(ApplePaySession.STATUS_SUCCESS);
由于付款成功,我已更改逻辑以忽略异常(仅适用于 STATUS_SUCCESS)并进入最后一页。我什至不知道 ApplePay 表是否仍然打开,但即使它至少在取消时它也会在收据页面上。
我也遇到过这个问题,但原因不同
您在会话中的域名需要与您浏览器的域名相同。您在 InitiativeContext 中在后端设置域名