- API 凭据
- API 密钥
- 可发布密钥
- Webhook 密钥
Stripe Elements 会把 Stripe 的银行卡输入框放到你的预订页面上,旅客无需离开页面即可用银行卡付款。你需要一个能收取真实付款的 Stripe 账户:Stripe 指南介绍了如何开设。
从 Stripe 复制你的密钥
- 1
在正式模式下打开 API 密钥
打开 dashboard.stripe.com/apikeys,确认你处于正式模式,而不是沙盒中。测试密钥不会报错:它会用并不存在的钱把预订标记为已付款。
- 2
复制可发布密钥
在 Standard keys 下,复制 Publishable key。它以 pk_live_ 开头。
- 3
复制密钥
复制 Secret key(如果它被隐藏,请点击 Reveal live key)。它以 sk_live_ 开头。请妥善保密:它能以你的名义从银行卡扣款。
在 Stripe 中添加 Webhook
你用于 Stripe Elements 的 TourTask Webhook 地址
https://api.tourtask.com/v1/payments/stripe-elements/notifications/booking- 1
创建事件目标
仍在正式模式下,打开 dashboard.stripe.com/webhooks,点击 Create an event destination。
- 2
选择你的账户和 Snapshot
选择 Your account 和 Snapshot 负载格式:TourTask 无法读取 Stripe 推荐的 Thin 事件。
- 3
选择事件
选择 payment_intent.succeeded,不要选择其他事件。
- 4
选择 Webhook 端点
点击 Continue,选择 Webhook endpoint 作为目标类型。
- 5
输入 TourTask 地址
点击 Continue,把上面的 TourTask 地址粘贴到 Endpoint URL,然后点击 Create destination。
- 6
复制签名密钥
在该目标的页面上点击 Reveal secret,复制签名密钥。它以 whsec_ 开头。
在 TourTask 中添加 Stripe Elements
- 1
打开 Stripe Elements 卡片
前往 配置 → 付款方式,在 网上支付 → 支付网关 下点击 Stripe Elements 卡片。找不到?在卡片下方选择 显示所有网关。
- 2
选择国家和货币
在 国家 中选择你的 Stripe Elements 账户及其银行账户所在的国家,在 货币 中选择旅客付款所用的货币,然后点击 添加。之后如要更改其中任何一项,请用 移除 移除 Stripe Elements 后重新添加。
- 3
填写 API 凭据
在 验证 下,卡片为每一项提供一个字段:
API 密钥
可发布密钥
Webhook 密钥在字段外点击即可保存该字段。
- 4
启用 Stripe Elements
填写完所有字段后,点击 启用。卡片会变为 已启用,旅客即可在你的预订页面上使用 Stripe Elements 付款。每笔付款都直接进入你自己的 Stripe Elements 账户:TourTask 从不经手你的资金。
检查 Stripe Elements 是否正常工作
TourTask 没有 Stripe Elements 测试模式,而 Stripe 的条款禁止用真实银行卡进行测试付款。
- 1
打开银行卡表单
在你自己的预订页面上预订一个行程并选择银行卡付款:Stripe 的银行卡表单会出现。不付款直接关闭页面。
- 2
取消测试预订
在 TourTask 中打开该预订,点击取消预订。
- 3
检查你的第一笔付款
旅客用银行卡付款后,预订会显示为已付款,这笔付款也会出现在你的 Stripe Dashboard 中。
- 4
检查 Webhook
在 Stripe 中打开该目标的 Event deliveries 选项卡:payment_intent.succeeded 应显示为 Delivered。
添加 Apple Pay 和 Google Pay
Apple Pay 和 Google Pay 是各自独立的支付网关,设置方法与 Stripe Elements 相同,使用同样的两个密钥。每个网关都需要自己的 Webhook 端点和地址,该端点的签名密钥要填入对应网关的 Webhook 密钥。
Apple Pay
https://api.tourtask.com/v1/payments/apple-pay/notifications/bookingGoogle Pay
https://api.tourtask.com/v1/payments/google-pay/notifications/booking