上一篇介绍了怎么申请 PayPal 个人卖家账户,这篇接着讲怎么把 PayPal 接入到自己的网站里。
我用的是 Next.js,整个流程走下来,核心代码不复杂,但踩了几个坑,这里一起记录。
一、获取 API 凭据
登录 PayPal 开发者后台 https://developer.paypal.com/,左上角可以切换 Sandbox(测试)和 Live(生产)环境。

先在 Sandbox 环境下测试,点击 "Apps & Credentials",然后 "Create App",App Name 可以填自己项目名称,Type 选 Merchant。


创建完成后会看到 Client ID 和 Secret,这两个值很重要。

把它们加到项目的 .env.local 文件里:
PAYPAL_CLIENT_ID=你的ClientID
PAYPAL_CLIENT_SECRET=你的Secret
PAYPAL_MODE=sandbox
测试没问题后,切到 Live 环境重新创建一个 App,拿到生产环境的凭据,把 PAYPAL_MODE 改成 live 就行。

二、集成方式选择
PayPal 提供了好几种接入方式,根据实际的业务需求可以选择不同的方案。
方式一:PayPal.Me 链接
最简单的方式,在 PayPal 后台开启 PayPal.Me 功能,会得到一个专属链接(比如 paypal.me/YourName)。把链接发给买家,对方打开后输入金额就能付款。适合社交媒体交易、朋友转账这种场景,不需要写任何代码。
地址:https://www.paypal.com/paypalme/my/settings



方式二:支付按钮 / 付款链接(No-Code)
在 PayPal 后台可以创建付款链接和二维码,适合还没有网站的情况。也可以生成一个"立即购买"按钮的 HTML 代码,复制粘贴到网页上就能用。适合简单的静态网站,比如个人博客卖电子书、小工具网站收费下载。不需要开发能力,但定制性比较差。
地址:https://www.paypal.com/ncp/links/create

如果你卖的是固定价格的服务,用这里的付款链接更合适;如果是接受打赏或者金额不确定的情况,用 PayPal.Me。
方式三:JavaScript SDK
在网页上嵌入 PayPal 的 JS SDK,页面上会显示 PayPal 按钮,用户点击后弹出支付窗口,就在当前页面不跳转。这种方式集成比较快,PayPal 官方说 15 分钟就能跑通。适合前端为主的项目,不需要太多后端逻辑。
JS SDK 的入口在开发者文档:https://developer.paypal.com/docs/checkout/standard/integrate/
方式四:REST API(Orders API)
完全通过后端调用 PayPal 的 API,自己控制整个支付流程。灵活度最高,但需要写后端代码。适合有自己订单系统、需要和业务逻辑深度集成的项目。
我的网站是 Next.js 项目,已经有一套订单系统,需要在支付成功后触发自动处理、发邮件等后续流程,所以选了第四种方式。
大概的逻辑是这样的:
用户在我的网站上点击 PayPal 支付 → 后端调用 PayPal API 创建订单,拿到一个跳转链接 → 用户被重定向到 PayPal 页面完成支付 → PayPal 把用户重定向回我的网站 → 后端调用 API 确认支付(Capture)→ 更新订单状态,触发后续业务逻辑。

这里用的是 Return URL 同步回调模式,没有用 Webhook。对于目前的项目量级来说够用了,实现起来也简单。
Webhook 更可靠一些,但需要做签名验证,配置稍微麻烦,等业务量上来了再考虑。
三、测试环境怎么测
Sandbox 环境下用测试账号测试支付流程。
在开发者后台点击 Sandbox > Accounts,会看到 PayPal 自动生成的两个测试账号,一个 Personal(买家),一个 Business(卖家)。

点击 Personal 账号右边的 "..." > View/Edit Account,就能看到测试账号的邮箱和密码。


支付的时候用这个测试账号登录就行,不会真的扣钱。


如果想测试信用卡支付,可以试试这些测试卡号(我自己没有去试)
- Visa: 4032039668297305
- Mastercard: 5425233430109903
- CVV 随便填 3 位,过期日期填未来的日期
- 账单地址要填美国地址,填中国地址会报错
四、踩过的坑
坑 1:测试前要先退出卖家账户
在 Sandbox 环境测试支付时,如果浏览器里还登着卖家账号,去付款页面会报错,提示"您当前是商家账号"之类的。因为 PayPal 不允许自己付款给自己。
测试前记得先退出,或者用无痕模式打开支付页面,然后操作付款。
坑 2:中国买家不能付款给中国卖家
这个是 PayPal 的政策限制。如果你的 PayPal 账户注册地是中国,国内买家用借记卡或信用卡付款时会看到这个提示:"很抱歉,账单地址在中国的买家不能使用PayPal付款给注册地在中国的卖家。"

解决办法要么是用香港或美国的 PayPal 账户收款,要么引导国内用户走其他支付方式(比如 Stripe 支持的支付宝/微信)。

五、最后一些补充
建议一个网站接入多种收款方式,提升付款率。

Guest Checkout:PayPal 支持访客支付,用户不需要注册 PayPal 账号,直接填信用卡信息就能付款。在支付页面点"使用借记卡或信用卡付款"就行。

关于 PayPal 的汇率、提现、转账损耗这些,涉及的东西还挺多的,如果感兴趣的话后面再单独聊聊。
💡 AI 工具的爆发,让普通人也能快速做出产品。
但如何做?如何变现?如何真正走向海外市场?
👇 想了解更多 AI 编程 & 出海实战信息,扫码添加好友了解更多
🔗 更多教程请访问 ipengtao.com
文章评论