目录
前言
Stripe的文档还是比较专业的,开发起来还是有点难度的,同时虽然入门很简单,但是还是有很多需要学习掌握的地方
官方Checkout的Payment Link最大的问题是不能调用支付宝和微信(看演示支付宝在中国IP是可用的,但是实际测出来的是不行的)
相关链接
Stripe 全解教程(二) :GitHub Student Developer Pack 1000USD付款手续费免费
Stripe 全解教程(三): 风控与审查的应对第一期:业务审核失败相关的实战教学
Stripe 全解教程(四):基于服务器PHP 构建官方Checkout 调用支付宝&微信支付&银行卡&ApplePay&Gpay等
Stripe 全解教程(五):风控与审查的应对第二期: 警惕银行拒付、如何正确养号、可能的KYC
Stripe 全解教程(六): 支付宝Alipay和微信支付WeChatPay的限制政策与综合使用指南
Stripe 全解教程(七):开户与新手养号综合指导[最低仅需身份证]
Stripe 全解教程(九):通过英国注册公司来完美注册Stripe UK
Stripe 全解教程(十):Radar 智能风控系统入门指导
Stripe 全解教程(十一):科普篇-进一步学习 银联+发现Discover支付网关和苹果&谷歌钱包
基础入门
环境准备
首先服务器环境(PHP等部署好)
我这边选择宝塔全家桶,语言用PHP,官方也有给Java啊,GO啊什么的,但是额外部署挺麻烦,还是PHP简单易用
Stripe Checkout PHP构建的话,需要用到PHP Composer,而这玩意宝塔PHP内置了,直接网站设置页安装就行
原理详解
本次参考对象是官方的PHP+HTML版,基于服务器构建
HTML本质上并不重要,主要功能是入口和付款成功提示页
PHP是重点,PHP核心文件 create-checkout-session.php ,字面意思就是创建Checkout会话
预构建文件下载
https://stripe.com/docs/checkout/integration-builder?client=html
首先上方 Download full app 是下载完整版后端,不含三个默认前端,需要自己复制(Checkout、Success、Cancel)
左侧可调参数 包括
- 预建商品
- 支付方式
- 自定义UI
- 自动税费
首先自动税费没啥用,不管他,然后商品这边只能调用test模式下,所以你可用新建一个,等下可改,自定义UI开上
然后支付方式勾选 支付宝微信银行卡等,根据你需要的勾选
然后这时候右侧的4个文件就构建好了
其他提示不用管他,我们有宝塔
首先你需要把Full App上传到网站跟目录,然后把右侧四个文件也丢进去覆盖掉,然后去宝塔网站设置安装 Composer
然后在网站域名 /checkout.html 打开 点击按钮,就可以跳转StripeCheckout了
进阶设置
无需调用开局HTML
把网站默认设置改成那个PHP文件就行
重定向URL修改
在PHP 文件尾部的 success_url 那边
默认域名修改
在PHP文件的参数 $YOUR_DOMAIN 里面,带http(s),默认需要带 /public
支付宝支付适配
支付宝无需奇怪的操作,直接 payment_method_types 里面有alipay就行,预构建里面帮你加进去了
微信支付适配
微信支付需要额外设置,默认包无法使用微信(但是预览正常)
需要在和 payment_method_types 并行的地方增加如下参数
'payment_method_options' =>[
'wechat_pay' => [
'client' => 'web',
],
],
如果没有,则会报错 payment_method_options[wechat_pay][client]` to be set to `web`
Client变量为 web,ios,android
默认建议web,如果你会做UA适配,那随意
不过需要注意这个是必填的,且没有Auto
如果你用过独角数卡就知道,你的微信码,保存到手机相册再用APP从相册扫码会报错,不给付款
这里Stripe文档也提到 “在微信支付注册的应用程序ID。只有当客户端是ios或android时才需要。”
那很明显了,如果是IOS、安卓的Client的话,你需要APPid,这个要是微信支付官方的,而这个id哪里来我不知道,自己研究微信吧
Client为web时需要微信用APP直接相机扫码
Api设置
默认是Test API ,在PHP文件头部有很明显的API,你要换成sk-live开头的
Submit_type
建议改为Auto
允许自定义商品数量
参考如下写法
'line_items' => [[
'price' => 'price_1XXXXXXXXXkO',
'quantity' => 1,
'adjustable_quantity' => [
'enabled' => true,
'minimum' => 1,
'maximum' => 99,
],
]],
自定义商品信息
在Line items中的Price修改这个ID就行,这个ID在Stripe后台里面设置有
免前端,打开自动跳转付款
把默认文件改成这个php文件就行
自定义商品价格
我是把商品定价1USD然后自定义数量来解决这个问题
官方给出的解决方案比较繁琐
需要Post进来金额参数,自己看文档吧
ApplePay
已内置,原则上需要 iOS、iPadOS、MacOS的 Safari 浏览器下才可用,其他浏览器可能不行
需要注意的是,哪怕美区支持银联,但是ApplePay的银联卡仍然不可用
Gpay(Google)
已内置,原则上需要 Android、Windows的 Chrome 浏览器下才可用,其他浏览器可能不行
Comments NOTHING