- 环境准备
首先在STRIPE官网注册账号之后进入首页,点击API密钥,查看账号对应的密钥以及测试密钥,测试密钥以sk_test,正式sk_live开头
sk_test开头的密钥用于服务端
pk_test开头用于客户端,如:web,Android,iOS
然后进入下面的WEBHOOK页面,选择添加端点,如果是要调自己本地代码测试的话,其中端点url需要给自己电脑配置一个内网穿透(你用自己本地localhost作为回调的url肯定是不支持的),也可以在webhook页面中选择“在本地环境中测试”,通过官方的CLI进行本地测试。
创建完webhook端点后可以看到自己webhook首页有一个 密钥签名,以whsec开头
此时最重要的两个密钥就已经获得了,一个API.KEY(调用STRIPE支付验证),一个webhook密钥(用于WEBHOOK回调验证)在后面代码中这两个密钥都需要用上。
- WEBHOOK回调
在刚刚创建WEBHOOK端点中可以看到有一个选择事件,其中我们选择监听payment_intent支付成功、失败、取消、创建四种状态,payment_intent是调用STRIPE支付过程中STRIPE自动创建的(也可以在代码中手动创建去扩展功能),通过这个payment_intent(支付意向)可以监听到你往STRIPE发送的支付请求的状态,捕获到状态之后再通过webhook回调到你自己的代码中。也就是监听到状态之后回调到你端点URL中。
根据整个支付流程我们可以把后端简单的划分为一个调用STRIPE的接口,一个用户接收STRIPE WEBHOOK回调的接口。也就是说调用STRIPE方和接收STRIPE回调方需要通过两个不同的密钥去与STRIPE进行验证
Stripe收款有三种方式:
- Stripe checkout
- Charges API(旧版)
- Payment Intents API(新版)
Stripe Checkout 是一个预构建的页面,可将您的客户重定向到这里,方便地完成购买和订阅。它提供了很多功能,例如 Apple Pay、Google Pay、国际化及表单验证。
Charges 和 Payment Intents API 可供您创建自定义的付款流程和使用体验。
Payment Intents API 是所有 Stripe 产品和支付方式的统一 API。虽然我们并未弃用 Charges,但新功能只可通过 Payment Intents API 来提供。
6.自定义支付(Payment Intents API支付方式)
自定义支付:
1. 多方支付(一部分转入平台,一部分转入商家)
2. 平台收取(全部平台收取)
paymentIntent.getClientSecret()获取客户端密钥,客户端调用stripe支付传这个参数
7. 创建经销商用户(多方支付)
创建用户分为三种
1.Standard(由stripe平台生成链接,收取验证商户信息, demo使用的是这种方式)
2.Express(商户信息一部分平台收取,一部分stripe收取)
3.Custom(完全平台收取验证商户信息)
- 支付回调测试工具(window)
- 安装并设置 Stripe CLI
一.下载
从 https://github.com/stripe/stripe-cli/releases/latest 下载最新的 windows tar.gz 文件
二.登录
打开命令行,进入CLI目录,在命令行中输入stripe login登录stripe账户
stripe login --api-key {{TEST_API_KEY}} 也可以通过apikey登录
三.输入本地访问webhook链接
stripe listen --forward-to http://localhost:4242/webhook然后输入webhook回调链接