独立站怎么接 Stripe 和 PayPal
收款账号是你自己在 Stripe / PayPal 开的,我们做的是把这些密钥接进站点。这篇给出 6 段可直接复制的提示词,并说清两件容易踩的事:托管结账为什么不能嵌在页面里、PayPal 为什么拿不到买家地址。
先说这一段在流程里的位置
平台上的生成流程还是那四步,收款属于第 3 步(预览并迭代)里的一段,到第 4 步之前必须定下来 —— 换收款方式比其他改动都贵。
另外一句实话:Stripe 和 PayPal 的账号要你自己去开,我们不代办、也不代收。下面说的“接”,指的是把这些账号的密钥配置到站点里,让买家付的钱直接进你自己的账户。
- 描述想法 —— 把“卖什么、卖给谁、走哪个收款”一起说清楚
- 智能体生成 —— 它会建出下单、回调、订单记录这些接口
- 预览并迭代 —— 用测试密钥跑通一遍,再换成正式密钥
- 发布到全世界 —— 上线前用真实小额支付验收一次
第 1 步 · 描述想法:把收款写进第一句(提示词 1)
收款方式和币种要在第一句话里定,因为它们会影响页面结构(比如要不要显示含税价、要不要问地址)。境外买家通常走 Stripe 或 PayPal、按美元结算;境内买家走支付宝或微信、按人民币结算。
生成完检查什么:商品价格显示的是不是你要的币种,结账入口有没有出现。
帮我做一个电子产品独立站,卖蓝牙耳机和充电配件,面向境外个人消费者,结账走 Stripe 收美元、PayPal 作为备选支付方式。先搭首页和商品列表两个页面。
第 2 步 · 智能体生成:它会建出哪些接口
这一步你不用输入。生成完成后可以看到它建出的东西:商品接口、购物车接口,以及一个下单接口(创建支付会话的地方)和一个回调接口(支付成功后落单的地方)。
你要做的是确认这两件事存在:下单和回调分开,订单会写进数据库 —— 这决定了付款成功以后你有没有据可查。
第 3 步 · 预览并迭代(1/4):接上 Stripe(提示词 2)
Stripe 走的是“托管结账”:你的服务器创建一笔 Checkout Session,然后把买家送到 Stripe 自己的页面完成付款。这意味着密钥必须留在服务端,浏览器里只能有可公开的那把 publishable key。
生成完检查什么:下单接口能不能返回一个跳转地址、付款成功后能不能回到你的站点。
给结账页接上 Stripe 托管结账(Checkout Session):服务端用 STRIPE_PUBLISHABLE_KEY 和 STRIPE_SECRET_KEY 两个环境变量,下单时创建支付会话并跳转;付款成功后回到站点的成功页,并把订单写进数据库。
第 3 步 · 预览并迭代(2/4):再接一个 PayPal 作为备选(提示词 3)
多一个支付方式,海外买家的放弃率会低一些 —— 有人习惯信用卡,有人只信 PayPal。接入方式和 Stripe 类似,也是两步:创建订单、买家批准后再捕获。
生成完检查什么:PayPal 下单能不能跳转、批准后能不能正确捕获并记订单。用沙箱账号先跑,别拿真钱试。
再加 PayPal 作为备选支付方式:只从服务端环境变量读取 PAYPAL_CLIENT_ID 和 PAYPAL_SECRET,下单时创建订单并跳转;买家批准后调用捕获接口完成扣款,成功后回到站点并记录订单号。
第 3 步 · 预览并迭代(3/4):付款成功、取消、失败分别怎么处理(提示词 4)
这一段最容易被忽略,但它直接决定售后纠纷的多少:付款成功要清空购物车并给出订单号;买家主动取消要保留购物车、别让订单变成半成品;支付失败要给明确提示,不能静默失败。
生成完检查什么:成功路径跑一遍、取消路径跑一遍、随便填个会失败的卡再跑一遍 —— 三种情况的提示都得是人话。
完善结账后的处理:付款成功后清空购物车、生成订单号并写入数据库;买家取消支付时保留购物车内容并回到结账页,不要留下未完成的订单;支付失败时显示明确的失败提示和重试入口,不要静默失败。
第 3 步 · 预览并迭代(4/4):密钥只放服务端(提示词 5)
这是安全问题,不是风格问题:secret key 一旦进了前端代码或接口响应,等于把你的收款账户交给别人。让智能体自查一遍,并给你一份环境变量清单。
生成完检查什么:在浏览器里打开开发者工具搜索 secret,搜不到才算过。
检查所有支付相关代码:密钥只能从服务端环境变量读取,前端代码和任何接口响应里都不能出现 secret;同时给我一份需要配置的环境变量清单(名称、用途、在哪里填)。
第 4 步 · 发布:上线前跑一次真实小额支付(提示词 6)
沙箱通过不等于真钱能收。上线前把商品价格临时改到最小金额,用自己的真实账号完整走一遍(包括退款),确认订单记录、购物车状态、回调都对,再改回真实价格。
把商品价格临时改成最小金额,我要用真实账号跑一次完整支付(含退款)来验收;跑完再改回真实价格,并把这次验收到的东西写进订单备注字段。
两件必须知道的现实问题
第一,Stripe 和 PayPal 的托管结账页不能嵌在 iframe 里(支付机构主动设置了禁止内嵌),所以点付款会离开你的页面、到对方页面完成。这不是 bug,也不建议绕 —— 绕过会有合规和风控问题。
第二,PayPal 不会把买家的账单地址回传给商家。所以如果你的站要按买家所在地算税,就得在结账页自己问一次:大多数国家只要选国家/地区,美国再填州和邮政编码。我们在自己的结账页就是这么做的。
常见问题
三个最常被问到的:
- 个人能不能开 Stripe 或 PayPal —— 以 Stripe / PayPal 官方要求为准:支持的账户类型和所需资料因国家和地区而异,我们无法替你判断,也不代办开户。
- 币种怎么定 —— 按买家在哪定:境外买家收美元,境内买家收人民币。定错了后期改回来最麻烦。
- 退款怎么处理 —— 在支付机构后台按原路退回;本站的额度退回规则见「退款政策」页面,两者是分开的两件事。
下一步
想直接在一个项目里把上面这些走一遍,从下面任意一个入口进就行。
