ZPAY 支付

概述

NuxtBase 支持多种支付方式,包括 ZPAY、易支付、Stripe 等。其中 ZPAY 支付是我特别推荐给个人开发者的支付解决方案(🤑费率低+安全+无最低提现限额)

ZPAY 支付

为什么选择 ZPAY?

ZPAY 具有以下特点:

  • 支持多种主体类型:个人、个体工商户、企业均可开通
  • 支持主流支付方式:支付宝/微信的扫码支付和 H5 支付
  • 官方资金结算:资金由支付宝/微信官方 D+1 结算,自动下发至个人银行卡或支付宝账户
  • 快速接入:仅需配置几个环境变量即可完成接入
  • 安全可靠:资金由官方渠道结算,无中间商介入

接入流程

1. 配置环境变量

ZPAY 后台 获取到商户 ID(PID)和商户秘钥(PAY_KEY),并填入到项目的 .env 文件中。

ZPAY 配置

在项目的 .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&param2=yyy,复制该 url
  • 将该 url 修改改成为:http://localhost:3000/api/checkout/providers/zpay/webhook?param1=xxx&param2=yyy,刷新访问
  • 如果一切正常,你会看到支付成功的返回值:success,此时支付状态会自动更新为成功
  • 在 supabase 后台数据库中,你应该可以看到该笔支付订单

注意:在部署到生产环境时,请务必将 webhook 地址修改为你的实际生产环境域名。