0

尝试将 ApplePayJS 集成到我的网站并收到这条烦人的消息::

InvalidAccessError Code 15

"The object does not support the operation or argument"

一切似乎进展顺利,但现在没有任何效果。

4

2 回答 2

1

如果您收到此错误,根据我的经验,Safari 现在对 ApplePayJS 已死,您必须先强制​​退出并重新打开它。

如果您将字符串而不是对象传递到completeMerchantValidation.

如果您从服务器返回的不是 JSON 对象,而是一个字符串,那么您可以这样做:

session.completeMerchantValidation(JSON.parse(merchantSession));

或者更好 - 修复您的服务器以返回 JSON 对象而不是字符串。


4年后更新:

我今天刚刚再次为真正的客户看到了这一点,而不是在我自己的测试中。在这种情况下,订单已成功,而客户认为它已失败,因此尝试再次执行该流程。

奇怪的是,在这个调用中出现了同样的错误“对象不支持操作或参数”。

applePayTokenize.session.completePayment(ApplePaySession.STATUS_SUCCESS);

由于付款成功,我已更改逻辑以忽略异常(仅适用于 STATUS_SUCCESS)并进入最后一页。我什至不知道 ApplePay 表是否仍然打开,但即使它至少在取消时它也会在收据页面上。

于 2016-09-14T00:35:39.647 回答
0

我也遇到过这个问题,但原因不同

您在会话中的域名需要与您浏览器的域名相同。您在 InitiativeContext 中在后端设置域名

https://developer.apple.com/documentation/apple_pay_on_the_web/apple_pay_js_api/requesting_an_apple_pay_payment_session

于 2021-06-10T20:08:29.627 回答