我正在尝试将 Apple Pay 实现到使用 Braintree 管理支付的现有 React 应用程序中。具体来说,该项目正在使用 braintree-web-drop-in。
该应用程序已经成功处理信用卡和 PayPal 的付款,我只是想添加 Apple Pay 支持。我相信有几种方法可以实现 Dropin,但目前项目中使用的是 dropin.create()。
根据文档(上面链接),所需要做的就是为applePay
方法的
create()
参数提供
options
属性,我已经这样做了:
createPaymentForm() {
const total = this.getTotal();
const displayTotal = total.toFormat('$0.00');
const paypalConfig = config.payPalEnabled && { paypal: { flow: 'vault' } };
const applePayConfig = config.applePayEnabled && {
applePay: {
displayName: 'Test Display Name',
paymentRequest: {
total: {
label: 'Test Fee',
amount: displayTotal,
},
countryCode: 'US',
currencyCode: 'USD',
supportedNetworks: ['visa', 'masterCard', 'amex', 'jcb', 'discover'],
merchantCapabilities: ['supports3DS', 'supportsCredit'],
}
},
};
dropin.create(
{
authorization: this.props.token,
selector: '#braintree-container',
paymentOptionPriority: ['card', 'paypal', 'applePay'],
...paypalConfig,
...applePayConfig,
card: {
overrides: {
styles: {
// style overrides are here, I didn't change this
},
},
},
},
(err, instance) => {
// callback stuff is here, I didn't change this
}
);
}
据我所知,我已遵循文档中概述的所有说明:此处。 applePay
属性定义以及 Apple 的
paymentRequest
定义的链接可以在here 找到。
一个重要的注意事项是,虽然我创建了 Apple Sandbox 帐户 (文档话虽如此,我已遵循上述链接的 Braintree 文档中概述的所有其他步骤。
不幸的是,当 dropin 组件加载到网页上时(我使用的是 Safari),我仍然只看到信用卡和 Paypal 作为仅有的两个可用选项。
我的问题是:我做错了什么导致ApplePay选项没有出现在braintree-web-drop-in
组件中?我在这里错过了一步吗?当我在 Mac 上使用 Safari 时,我希望看到 ApplePay 作为可用选项出现在此处。