把 Stripe 连接到你的 MonstarX 应用
要点用 Stripe,你的应用就能收取真实付款。把 Stripe 密钥粘贴到“后端 → 云服务”(或 MonstarX 在聊天中显示的卡片):试用阶段选择沙盒(测试密钥),真实客户付款时选择生产环境(正式密钥)。结账流程由 MonstarX 为你编写。
在你的应用中接收银行卡付款、订阅和结账。
- 类型
- 用于你的应用
- 类别
- 付款与账单
- 连接方式
- API 密钥
Stripe 是一家支付公司:它负责银行卡表单、与银行对接和开具收据,并把钱打到你的银行账户。连接 Stripe 后,你的应用就能卖东西,比如课程卡、商品或月度会员,并使用由 Stripe 运营的安全结账页面。
能用它构建什么?
Section titled “能用它构建什么?”- 一个“立即购买”按钮:打开 Stripe 的结账页面,客户付款后再回到你的应用。
- 课程卡和套餐,比如“5 节课 $90”,付款后在应用中解锁相应内容。
- 面向会员或付费套餐的月度或年度订阅。
- 每位客户的订单记录,以及列出所有付款的管理页面。
- 自动后续处理:Stripe 确认付款后,把订单标记为已付款并发送收据邮件。
- 一个 Stripe 账户。注册免费;每笔成功付款 Stripe 会收取手续费(详见 Stripe 价格)。MonstarX 不额外收费。
- 如果只是测试,不需要其他任何东西:每个 Stripe 账户都可以使用沙盒,也就是账户的练习副本,不会产生真实的资金流动。
- 如果要收取真实付款,Stripe 会要求你先激活账户:填写你的商家信息和收款银行账户。
沙盒和生产环境是什么?
Section titled “沙盒和生产环境是什么?”Stripe 会给你两套密钥。MonstarX 会在环境选项中问你粘贴的是哪一套:
| 环境 | 密钥开头 | 会发生什么 |
|---|---|---|
| 沙盒(测试密钥) | sk_test_… 和 pk_test_… | 用测试卡号模拟付款。不会扣真实银行卡,也没有资金流动。构建期间使用。 |
| 生产环境(正式密钥) | sk_live_… 和 pk_live_… | 真实银行卡、真实资金,打到你的银行账户。真实客户付款时使用。 |
在一个环境中创建的内容在另一个环境中不存在:在沙盒中创建的产品、价格、客户和付款都只留在沙盒里。
怎样用测试卡付款?
Section titled “怎样用测试卡付款?”在沙盒中,Stripe 的结账页面接受它公开的测试卡。有效期填任意未来日期(如 12/34),CVC 填任意三位数,邮编随意:
| 卡号 | 效果 |
|---|---|
4242 4242 4242 4242 | 付款成功。 |
4000 0000 0000 0002 | 银行卡被拒,你可以看到付款失败时客户看到的界面。 |
4000 0025 0000 3155 | 付款完成前,银行会要求额外验证(3D Secure)。 |
千万不要在沙盒结账页面中输入真实卡号。更多测试卡见 Stripe 的测试指南。
获取你的密钥
Section titled “获取你的密钥”-
登录 Stripe Dashboard。
-
如果要测试,从左上角的账户菜单中打开一个 sandbox(沙盒)。如果要上线,改为切换到 live mode(正式模式)。
-
打开 API keys(在 Developers 下)。复制 Publishable key(可发布密钥),然后显示并复制 Secret key(私密密钥)。
在 MonstarX 中连接
Section titled “在 MonstarX 中连接”当你提出需要收款时,MonstarX 通常会在聊天中显示一张连接 Stripe 卡片,上面的字段和这里相同。你也可以自己连接:
-
打开你的项目,点击顶部栏中的后端,再点击云服务。
-
在连接器下,点击 Stripe 旁边的连接。
-
选择环境:沙盒(测试密钥)或生产环境(正式密钥)。
-
粘贴私密密钥和可公开密钥。Webhook 签名密钥暂时留空。
-
点击连接 Stripe。这一行会显示已连接 · 沙盒(或已连接 · 生产环境),你的预览会带着这些密钥重新启动。
MonstarX 不会检查密钥是否与你选择的环境一致,所以请确认 sk_test_ 密钥配沙盒,sk_live_ 密钥配生产环境。
需要 Webhook 签名密钥吗?
Section titled “需要 Webhook 签名密钥吗?”Webhook 是 Stripe 通知你的应用“这笔付款成功了”的方式,即使客户在回到应用之前就关闭了页面也能收到。付款后要解锁内容或运营订阅的应用,都应该配置一个。请在应用发布后再添加,因为 Stripe 访问不到你的私有预览:
-
问 MonstarX:“我的 Stripe webhook 地址是什么?应该监听哪些事件?”地址通常是
https://your-app.monstarx.app/api/stripe-webhook。 -
在 Stripe 中打开 Webhooks,点击 Create an event destination,选择这些事件,选择 Webhook endpoint,然后粘贴地址。
-
显示 signing secret(签名密钥,以
whsec_开头)并复制。 -
在 MonstarX 中,点击 Stripe 一行的更新密钥,把它粘贴到 Webhook 签名密钥中,点击保存密钥。重新发布,让线上应用拿到它。
沙盒和正式模式各有自己的 webhook 和签名密钥。
让 MonstarX 使用它
Section titled “让 MonstarX 使用它”| 你输入 | 会发生什么 |
|---|---|
| “让会员用 Stripe 购买 5 节课的课程卡,价格 $90。” | 一个购买按钮、一个该金额的 Stripe 结账页面和一个感谢页面;付款后课程卡会自动添加。 |
| “用 Stripe 添加一个每月 $12 的 Pro 套餐,再加一个查看我套餐的页面。” | 一个订阅结账流程,以及一个显示会员当前套餐的页面。 |
| “加一个列出所有付款的管理页面。” | 一个付款列表页面,显示谁付了款、买了什么、什么时候付的。 |
| “把我的 Stripe 产品导入商店。” | MonstarX 需要你的密钥才能读取你的账户,所以卡片会显示 MonstarX 需要 Stripe 才能继续;你连接后,它会自动接着做。 |
还没有密钥?在卡片上点击稍后。MonstarX 照样会构建完整的结账流程,在你添加密钥之前,按钮会提示 Stripe 尚未连接。
-
激活你的 Stripe 账户,切换到正式模式,复制正式环境密钥。
-
在 后端云服务 中,点击 Stripe 一行的更新密钥。
-
把环境设为生产环境(正式密钥),粘贴两个正式环境密钥(如果用了 webhook,再加上正式环境的 Webhook 签名密钥),然后点击保存密钥。
-
重新发布应用。从现在起,付款都是真实的。
- 你的密钥加密保存,只用于这个应用。它们的名称会显示在 后端密钥 中,值不会再显示。
- 私密密钥和 Webhook 签名密钥只由应用的服务器使用。可公开密钥本来就是给浏览器看的,这是安全的。
- 卡号是在 Stripe 自己的结账页面上输入的,永远不会到达你的应用或 MonstarX。
- 只有项目所有者可以连接、更新或断开 Stripe。断开连接会从这个应用中移除密钥,之后结账页面会显示 Stripe 尚未连接。
- 如果密钥泄露,请在 Stripe Dashboard 中轮换(roll)密钥,然后用更新密钥粘贴新密钥。
- 一个应用同一时间只能使用一个 Stripe 环境。把线上应用切回沙盒密钥后,真实付款会停止,直到你再切换回来。
- Stripe 还提供受限密钥(
rk_…),只包含你选择的权限。只要它允许应用需要的所有操作(比如创建结账会话),就可以填在私密密钥字段中。 - QA 测试会把付款流程测试到 Stripe 这一步;Stripe 未连接时,会把它标记为需要密钥。
MonstarX 会从我的销售额中抽成吗?
不会。付款直接进入你的 Stripe 账户,只收取 Stripe 自己的手续费。
不用真实银行卡可以试用付款吗?
可以。用沙盒(测试密钥)连接,然后用测试卡 4242 4242 4242 4242 付款,有效期填任意未来日期,CVC 随意。不会有资金流动。
怎样从测试切换到真实付款?
点击 Stripe 一行的更新密钥,把环境设为生产环境(正式密钥),粘贴正式环境密钥,点击保存密钥,然后重新发布。
为什么我的结账页面显示 Stripe 尚未连接?
密钥还没有填入,或者已被移除。打开后端 → 云服务连接 Stripe,你的预览会带着这些密钥重新启动。
能在 MonstarX 中查看付款吗?
你的应用会显示 MonstarX 为它构建的内容,比如订单页面。每笔付款、退款和打款的完整记录都在你的 Stripe Dashboard 中。