ApplePay 未在使用 Braintree 的 Web 应用程序中显示

问题描述 投票:0回答:2

我正在尝试将 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 帐户 (文档

here),我还没有登录此帐户,因为 文档中的警告指出,如果您在 生产设备(我认为是我工作用的 Macbook?) 帐户将不再是沙盒帐户并且不再有效。 我的理解是这个帐户只能在尝试时使用 通过 apple pay 结帐。

话虽如此,我已遵循上述链接的 Braintree 文档中概述的所有其他步骤。

不幸的是,当 dropin 组件加载到网页上时(我使用的是 Safari),我仍然只看到信用卡和 Paypal 作为仅有的两个可用选项。

我的问题是:我做错了什么导致ApplePay选项没有出现在braintree-web-drop-in

组件中?我在这里错过了一步吗?当我在 Mac 上使用 Safari 时,我希望看到 ApplePay 作为可用选项出现在此处。

javascript reactjs safari braintree applepay
2个回答
1
投票
我已经解决了这个问题。我们正在与客户沟通,通过他们的 Braintree Sandbox 控制面板设置 Braintree 沙箱帐户。

事实证明,该应用程序实际上并未连接到他们的沙箱,而是连接到另一个开发人员最初提出问题时创建的完全不同的沙箱帐户。一旦我们意识到这一点,我们就访问了该开发者的帐户,启用了 ApplePay,ApplePay 现在显示在选项列表中!

所以我想说,如果将来有人遇到类似的问题,请确保 Braintree 访问密钥与您认为他们所属的帐户相匹配。


0
投票
我们遇到了 Apple Pay 底页打开并在一秒钟内消失的问题。有什么想法吗?

© www.soinside.com 2019 - 2024. All rights reserved.