Skip to content

支付宝支付配置

DJAOD 集成支付宝支付,需要开通 PC网站支付手机网站支付当面付(扫码/条码)、APP支付小程序支付 等多种场景。本章从账号注册、应用创建、产品申请、密钥生成到 DJAOD 后台配置,介绍全流程操作。


一、注册开发者账号

前往 支付宝开放平台 注册开发者账号并完成企业实名认证(个人账号部分产品受限)。

登录后进入 控制台我的应用,后续所有操作均在此进行。


二、创建应用

1. 新建应用

点击 创建应用网页/移动应用,选择 自定义接入

  • 应用名称:如 DJAOD商城
  • 应用类型:选择 网页应用(支持PC网站支付+手机网站支付)
  • 应用图标:上传应用图标

2. 添加能力

创建成功后进入应用详情页,在 能力列表 中点击 + 添加能力,根据你的业务需求勾选:

能力名称对应场景DJAOD接口
电脑网站支付PC端网页支付web()alipay.trade.page.pay
手机网站支付H5移动端支付wap()alipay.trade.wap.pay
当面付线下扫码/条码支付scan()alipay.trade.precreate
App支付移动App内支付app()alipay.trade.app.pay
小程序支付支付宝小程序内支付mini()alipay.trade.create

注意:当面付需单独签约,首次添加能力后需要在 产品绑定 页面提交审核。

3. 设置接口加签方式

在应用详情的 开发设置接口加签方式 中配置:

  • 加签模式:选择 公钥模式(推荐普通开发者使用)或 证书模式(推荐企业级使用,支持提现转账)
  • 密钥格式:选择 PKCS1(非Java)PKCS8(Java适用),Node.js 环境使用 PKCS1

密钥生成方式见下文第四章。


三、产品申请与审核

电脑网站支付

添加 电脑网站支付 能力后,在 产品配置 中填写:

  • 授权回调地址https://www.example.com/payment/alipay/return
  • 支付结果通知地址https://www.example.com/payment/alipay/notify
  • 支付宝异步通知地址:同上

以上地址替换为你的实际域名,路径以 DJAOD 实际路由为准。

手机网站支付

添加能力后需配置:

  • 授权回调地址:同上
  • 支付结果通知地址:同上

当面付

当面付需单独签约,在 产品绑定当面付 中点击 立即签约,提交营业执照等资料,审核通过后即可使用。

当面付支持两种模式:

  • 扫码支付:商户生成二维码,用户扫码支付(alipay.trade.precreate
  • 条码支付:用户出示付款码,商户扫码收款(alipay.trade.pay,需要扫码枪设备)

四、密钥生成

安装OpenSSL工具

  • Windows:下载 OpenSSL for Windows 并安装,或使用 Git Bash 自带的 OpenSSL
  • macOS / Linux:系统自带,直接使用

生成 RSA 密钥对(推荐 RSA2 签名算法)

bash
# 1. 生成 2048位 RSA 私钥(PKCS1 格式)
openssl genrsa -out app_private_key.pem 2048

# 2. 从私钥导出 PKCS1 格式公钥
openssl rsa -in app_private_key.pem -pubout -out app_public_key.pem

# 3. (可选)转换为 PKCS8 格式(Java等环境使用)
openssl pkcs8 -topk8 -inform PEM -in app_private_key.pem -outform PEM -nocrypt -out app_private_key_pkcs8.pem

查看密钥内容

bash
# 查看私钥
cat app_private_key.pem
# 查看公钥
cat app_public_key.pem

私钥内容示例(PKCS1):

-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEA...
-----END RSA PRIVATE KEY-----

公钥内容示例:

-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA...
-----END PUBLIC KEY-----

上传公钥至开放平台

  1. 在应用详情 开发设置接口加签方式 中点击 设置
  2. 加签模式:选择 公钥模式
  3. app_public_key.pem---BEGIN PUBLIC KEY------END PUBLIC KEY--- 之间的内容(包含标记行)复制粘贴到输入框
  4. 点击 保存 后,平台会生成 支付宝公钥,复制保存到记事本中

重要:保存下图中平台返回的 支付宝公钥alipay_public_key),DJAOD 后台配置需要同时填写 应用私钥支付宝公钥

证书模式(可选)

如需使用证书模式(支持转账提现能力),在加签方式中选择 证书模式

  1. 上传应用公钥证书(使用 app_public_key.pem 在开放平台生成的 CSR 申请)
  2. 下载 支付宝根证书alipay_root_cert.crt)和 支付宝公钥证书alipay_public_cert.crt
  3. 下载 应用公钥证书app_cert_public_key.crt

将以上三个证书文件上传至 DJAOD 服务器的 data/certs/ 目录下。


五、DJAOD后台配置

登录 DJAOD 后台,进入 系统设置支付宝配置

签名方式选择

首先选择 签名方式

  • 普通公钥:适用于大多数场景
  • 公钥证书:如需使用转账、提现等功能,必须选此模式

普通公钥模式配置

选择 普通公钥 后,填写以下字段:

配置项说明
支付宝应用PID开放平台应用详情中的 AppID(格式如 2021003141661189
支付宝应用私钥上一步生成的 app_private_key.pem 文件完整内容(含标记行)
支付宝公钥开放平台生成的支付宝公钥完整内容(含标记行)

公钥证书模式配置

选择 公钥证书 后,还需额外上传三个证书文件:

配置项说明
支付宝应用PID同普通公钥模式
支付宝应用私钥同普通公钥模式
支付宝根证书alipay_root_cert.crt 文件
支付宝根证书路径alipay_public_cert.crt 文件
支付宝应用公钥证书app_cert_public_key.crt 文件

证书文件上传后会自动存储在 data/certs/ 目录。

保存验证

填写完成后点击 保存,然后在网站前端发起一笔测试支付订单,验证支付流程是否正常:

  1. 点击支付,能够正确跳转至支付宝收银台
  2. 支付完成后能够正确回跳至网站
  3. 支付宝异步通知能够正确更新订单状态

六、沙箱环境测试

支付宝提供 沙箱环境 用于开发调试:

  1. 进入沙箱应用页面,获取沙箱 AppID
  2. 系统已预置测试买家账号和商家账号,无需真实资金
  3. 沙箱网关地址:https://openapi-sandbox.dl.alipaydev.com
  4. 在 DJAOD 后台将应用 PID 替换为沙箱 AppID,即可进行测试

注意:沙箱环境的支付宝公钥和应用私钥需单独生成,步骤同正式环境。


七、常见问题

问题原因与解决
无效的应用IDAppID 填写错误或应用未审核通过
签名验证失败私钥与支付宝公钥不匹配,重新检查密钥配置
2019: 商家未签约对应产品能力未开通或未提交审核
4004: 调用接口权限不足应用未添加对应能力,在能力列表补充
异步通知收不到通知地址需公网可访问,检查服务器防火墙和Nginx配置
订单已支付但状态未更新检查 notify_url 是否可达,验证签名逻辑是否正常

Released under the MIT License.