如何让stripe支持支付宝和微信支付

Stripe作为全球知名的收款服务平台,聚合了世界各地丰富的支付方式,拉进了用户和商户的距离,让支付与收款不再是难事。
然而,不少的中国大陆商户在出海的过程中,可能都遇到过一个问题,那就是为什么我的Stripe不支持支付宝和微信支付。即便是用户的确是中国大陆用户,在支付界面也没有出现支付宝和微信支付的选项呢?
接下来,我以自身经验,为大家讲讲原因及解决办法。

原因

原因1:没有在商户管理后台激活

一般来讲,你需要进到Stripe的商户管理后台,在支付方式设置界面设置并激活支付宝和微信支付。
1.打开Stripe商户管理后台,进入设置界面,找到支付方式:
Stripe商户后台-支付设置

2.点击进入支付方式设置界面:
Stripe商户后台-支付设置

3.找到支付宝和微信支付,并对其进行设置:
iShot_2025-07-12_22.41.47.png
iShot_2025-07-12_22.42.18.png

4.设置支持的货币币种和国家/地区:
iShot_2025-07-12_22.42.41.png
设置完成之后记得保存。这样一来,基础的前置条件就已经准备就绪了。

如果你的支付宝和微信支付设置是置灰状态,不能设置,可能是与注册的公司国家/地区有关,也有可能是官方没有给你启用。具体情况,可以联系Stripe官方客服。

原因2:没有在调用处声明

在API调用的过程中,需要对支付方式进行显式的声明,将参数传递至Stripe的支付系统。 以下代码是使用的Stripe官方SDK,语言为Go语言:
iShot_2025-07-12_22.54.28.png
红色框中的代码就是显式指定支付方式。
需要注意的是,priceID需要和你的产品价格id完全对应,这是与币种相关的。
例如,我的Pro套餐分别设置了三种价格:

  • 28人民币的一次性付款
  • 4美元的的一次性付款
  • 4美元的周期性付款

如下图:
StarDots产品价格
后面会讲到为什么要设置几种价格。

原因3:你使用了订阅模式进行支付

上面的代码中,你可能看到了有一句这样的注释:

//单独购买,就使用一次性付费方式  

经过代码调试以及与Stripe客服人员的沟通,我了解到,在Stripe平台内支付宝和微信支付是不支持订阅模式的,这也是绝大多数人踩中的坑。
因此,我为我的用户提供了两种付费模式:

  • 连续订阅
  • 单次购买

如下图:
StarDots套餐计划
如果用户点击单次购买,那么就会走到form.PurchaseType == 1这个代码分支:
Stripe订阅/单次购买代码示例
你可以看到,两个代码分支设置的请求参数是不一样的。这也是为什么在上面要设置多种不同的价格
单独购买就使用一次性价格,也就是对应Stripe产品的¥28价格id。
当然,设置CNY币种并不是必须的,USD币种用这样的方式也可以使用微信和支付宝收款,我个人这样做完全是为了显得更加本地化,当用户的系统语言是中文的时候才触发,否则还是以USD进行收款,因为不排除有使用支付宝和微信的外国人或者华人华侨,相对来讲,可以尽可能都兼顾。大家可以根据自己的情况酌情使用。

提示:微信支付需要额外设置一个客户端参数

req.PaymentMethodOptions = &stripe.CheckoutSessionPaymentMethodOptionsParams{
	WeChatPay: &stripe.CheckoutSessionPaymentMethodOptionsWeChatPayParams{
		Client: stripe.String("web"),
	},
}

经过上述的设置之后,你将成功的使用支付宝和微信进行收款了,付款界面:
iShot_2025-07-12_23.09.52.png

可以在这里进行体验尝试:星光图床
步骤:
注册星光图床账号并登录 -> 进入到仪表台 -> 点击计划菜单 -> 选择任意计划 -> 分别选择"购买订阅" / "单次购买" 查看效果。

最后祝大家出海顺利,产品大卖!🎉


转载请注明原文地址:https://blog.keepchen.com/a/How-to-get-Stripe-to-support-Alipay-and-WeChat-Pay.html


980_120.png(via stardots.io)