laravel 如何在条纹支付中禁用卡?仅显示Apple Pay、Google Pay

i5desfxk  于 2023-05-08  发布在  Go
关注(0)|答案(2)|浏览(241)

我实现了stripe,它使用JS自动加载一个支付表单,其中包括以下选项。卡,苹果支付/谷歌支付,Klarna,Afterpay.
这是很好的,它的工作很好,唯一的事情是它加载非常慢。几秒钟内页面将是空白的。所以我现在要做的是通过一个表单手动收集卡信息并将其传递给stripe。我已经实现了这一罚款,但我如何禁用其他条纹元素要求卡的详细信息,只显示苹果支付/谷歌支付,克拉纳,Afterpay。
我试着更改这个'payment_method_types' => ['card'],
这是我当前加载按钮的代码`

</script>
        <script defer>
            const stripe_key = '{{ config('app.stripe_key') }}';
            const payment_intent_route = '{{ route('checkout.payment.intent') }}';
            const _token = '{{ csrf_token() }}';
            const place_order_route = '{{ route('checkout.store') }}';
            const order_cancel_route = '{{ route('checkout.cancel') }}';
            const finish_page = '{{ route('checkout.finished') }}';
            const buy_now_mode = '{{ $buy_now_mode ?? 0 }}';
        </script>
        <script src="{{ asset('js/checkout.js') }}" defer></script>
5hcedyr0

5hcedyr01#

Apple Pay和Google Pay包含在card支付方式类型中,因此您无法在启用Apple Pay和Google Pay的同时禁用收集卡详细信息。
所以我现在要做的是通过一个表单手动收集卡信息并将其传递给stripe。
我想提醒你这看起来很危险。这听起来像是您自己在处理原始卡的详细信息,这会给您带来重大的PCI合规负担。我强烈建议您使用支付元素专门收集卡的详细信息,而不是使用自己的自定义表单。
[The付款元素]加载非常慢..几秒钟内页面将是空白的。
我知道目前的状态并不理想,但我相信Stripe正在努力改善这一点。如果您使用付款元素,您将立即免费获得这些未来的改进,而无需进一步的工作。

yfwxisqw

yfwxisqw2#

如果您使用的是Payment元素,您可以为它提供允许或不允许某些钱包的选项:

<PaymentElement
        options={
          myConditon
            ? {}
            : {
                wallets: {
                  applePay: 'never',
                  googlePay: 'never'
                }
              }
        }

相关问题