我们在 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));
}
});
};
....
附加问题:
- 上述对象是需要传递给的“正确”商家会话不透明对象
completeMerchantValidation
还是缺少某些字段? - 该对象是需要按原样传递还是需要进行 base64 编码?
- 是否需要将其包裹到另一个对象中?
非常感谢任何帮助或领导。