2

我们在 ssl 后面有一个站点example.com,它使用 ApplePay 运行一个页面。我们有一个返回 Merchant Session 的服务器端,如下所示:

{"epochTimestamp":1581975586106,"expiresAt":1581979186106,"merchantSessionIdentifier":"SSH8E666B0...","nonce":"1239e567","merchantIdentifier":"...8557220BAF491419A...","domainName":"example.com","displayName":"ApplePay","signature":"...20101310f300d06096086480165030402010500308..."}

我们以字符串形式接收此响应session.onvalidatemerchant并将其转换为 Json 对象并传递给session.completeMerchantValidation. 结果我们得到以下错误:

Code: "InvalidAccessError"
Message: "The object does not support the operation or argument"

我们在页面上运行以下代码:

.....
session.onvalidatemerchant = (event) => {
        const validationURL = event.validationURL;        
        getApplePaySession(validationURL).then(function (response) {
            try {
                let resp = JSON.parse(response);
                session.completeMerchantValidation(resp);
            } catch (e) {
                console.error(JSON.stringify(e));
            }
        });
    };
....

附加问题:

  1. 上述对象是需要传递给的“正确”商家会话不透明对象completeMerchantValidation还是缺少某些字段?
  2. 该对象是需要按原样传递还是需要进行 base64 编码?
  3. 是否需要将其包裹到另一个对象中?

非常感谢任何帮助或领导。

4

0 回答 0