ZPAY 支付
概述
NuxtBase 支持多种支付方式,包括 ZPAY、易支付、Stripe 等。其中 ZPAY 支付是我特别推荐给个人开发者的支付解决方案(🤑费率低+安全+无最低提现限额)
为什么选择 ZPAY?
ZPAY 具有以下特点:
- 支持多种主体类型:个人、个体工商户、企业均可开通
- 支持主流支付方式:支付宝/微信的扫码支付和 H5 支付
- 官方资金结算:资金由支付宝/微信官方 D+1 结算,自动下发至个人银行卡或支付宝账户
- 快速接入:仅需配置几个环境变量即可完成接入
- 安全可靠:资金由官方渠道结算,无中间商介入
接入流程
1. 配置环境变量
从 ZPAY 后台 获取到商户 ID(PID)和商户秘钥(PAY_KEY),并填入到项目的 .env
文件中。
在项目的 .env
文件中填入以下环境变量:
# ZPAY 支付相关
ZPAY_PAY_PID=ZPAY商户ID
ZPAY_PAY_KEY=ZPAY商户秘钥
ZPAY_WEBHOOK_URL=ZPAY支付回调地址
ZPAY_PAY_TYPE=支付类型(alipay/wxpay)
注意:ZPAY_PAY_TYPE 请根据你实际的支付类型选择,如果选择支付宝,则使用 alipay,如果选择微信,则使用 wxpay
2. 重启项目
配置完环境变量后,重启项目即可完成 ZPAY 的接入。
本地测试说明
由于本地环境无法接收外网回调,所以 webhook 无法正确触发。但是你可以本地触发,流程如下:
- 假设支付成功后的跳转地址为:
http://localhost:3000/dashboard?param1=xxx¶m2=yyy
,复制该 url - 将该 url 修改改成为:
http://localhost:3000/api/checkout/providers/zpay/webhook?param1=xxx¶m2=yyy
,刷新访问 - 如果一切正常,你会看到支付成功的返回值:
success
,此时支付状态会自动更新为成功 - 在 supabase 后台数据库中,你应该可以看到该笔支付订单
注意:在部署到生产环境时,请务必将 webhook 地址修改为你的实际生产环境域名。