WordPress站点Stripe Checkout Bancontact支付选项不显示问题求助
WordPress Stripe结账页Bancontact选项缺失修复方案
前置校验
- 确认Stripe后台对应账户的Bancontact支付方式状态为已启用,且WordPress站点绑定的Stripe API密钥与开通Bancontact的账户一致,注意区分测试模式、生产模式的密钥。
- 确认你使用的Stripe插件(如WooCommerce Stripe Payment Gateway)已更新至最新版本,旧版本可能未适配Bancontact这类本地支付方式。
- 确认订单结算货币为欧元,Bancontact仅支持欧元计价的交易,非欧元订单会自动隐藏该支付选项。
参数配置方案
Stripe官方要求的payment_method_data/payment_method_types参数配置,根据你使用的集成方式选择对应方案:
方案1:使用WooCommerce Stripe官方插件集成
将以下代码添加到WordPress当前主题的functions.php文件,或通过代码片段类插件添加即可:
// 追加Bancontact到支持的支付方式列表 add_filter( 'wc_stripe_payment_methods', function( $payment_methods ) { $payment_methods[] = 'bancontact'; return $payment_methods; } ); // 注入Stripe结账会话所需的支付方式参数 add_filter( 'wc_stripe_create_session_args', function( $args ) { // 单Bancontact支付场景用以下配置 $args['payment_method_data'] = [ 'type' => 'bancontact' ]; // 需同时支持信用卡等多支付方式的场景,替换上面的配置为下一行即可 // $args['payment_method_types'][] = 'bancontact'; return $args; } );
方案2:自定义代码调用Stripe API创建结账会话
如果是自行开发的Stripe集成逻辑,直接在创建结账会话的参数中追加对应配置即可,参考示例:
// 初始化Stripe SDK $stripe = new \Stripe\StripeClient('你的Stripe密钥'); $checkout_session = $stripe->checkout->sessions->create([ 'payment_method_types' => ['card', 'bancontact'], 'line_items' => [[ 'price_data' => [ 'currency' => 'eur', 'product_data' => [ 'name' => '示例产品', ], 'unit_amount' => 1999, ], 'quantity' => 1, ]], 'mode' => 'payment', 'success_url' => '支付成功跳转地址', 'cancel_url' => '支付取消跳转地址', ]);
配置完成后清空WordPress站点缓存、浏览器缓存,重新进入结账页即可看到Bancontact支付选项。
内容的提问来源于stack exchange,提问作者HananeK
相关产品推荐
相关产品推荐

