SiteSparkSiteSpark星火建站输入一句话 · 交付一个网站
← 全部文章
收款

独立站怎么接 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 官方要求为准:支持的账户类型和所需资料因国家和地区而异,我们无法替你判断,也不代办开户。
  • 币种怎么定 —— 按买家在哪定:境外买家收美元,境内买家收人民币。定错了后期改回来最麻烦。
  • 退款怎么处理 —— 在支付机构后台按原路退回;本站的额度退回规则见「退款政策」页面,两者是分开的两件事。

下一步

想直接在一个项目里把上面这些走一遍,从下面任意一个入口进就行。

想法 → 网站

你的下一个网站,只差一句话。

别再搭脚手架了。开始描述吧。在无需离开对话的情况下构建、运行并交付一个真实网站。