API开发文档简介
使用 DDPay 商户服务系统的技术架构师、研发工程师、系统运维工程师,通过本文档可了解 DDPay 接入的技术、接入的产品、接入的流程、接入规范等信息,以便于商户顺利完成接入工作。
接入网关
网关:请登录商户中心,在“API管理-API开发文档” 菜单中查看网关地址和对接参数。
协议:接口使用HTTP协议请求,请求头Content-Type: application/x-www-form-urlencoded,数据编码统一采用UTF-8。
统一下单接口
请求方式:POST
请求地址: 网关地址+/Pay_index.html
参数名称 参数含义 是否必填 参与签名参数说明
pay_memberid 商户号 [String类型]平台分配商户号
pay_orderid 订单号 [String类型]订单号(只能包含字母、数字),值唯一,最大长度30
pay_applydate 提交时间 [String类型]时间格式:2016-12-26 18:18:18
pay_bankcode 通道编码 [String类型]支付方式,在商户中心 API管理里查询
pay_notifyurl 异步通知url [String类型]支付后异步通知地址(POST返回数据)
pay_callbackurl 同步回调url [String类型]支付后回调页面跳转地址
pay_amount 订单金额 [Price类型]金额单位:元(两位小数),示例:100.00
pay_md5sign MD5签名 [String类型]请查看签名算法
pay_productname 产品名称 [String类型]产品(订单)描述信息或各通道的特殊值
pay_productnum 产品数量 [Number类型]示例:1
pay_client_ip 客户IP [String类型]示例:159.138.35.190
pay_attach 自定义字段 [String类型]附加数据 (中文需urlencode)
return_type 响应方式 [String类型]若值为json时则响应JSON数据(推荐),值为html时则直接跳转HTML支付页面;示例:json
eb_code 银行编码 [String类型]网银支付类型的编号参数,示例:CCB
响应参数
根据return_type参数系统有两种响应方式 :
1.响应HTML方式
直接跳转到支付页面(请求方式须使用form表单提交),系统默认使用本方式响应

2.响应JSON方式
参数名称 参数含义 参数说明
status 状态 成功:success ;其他表示失败
payurl 支付链接
orderno 平台订单号
amount 金额 金额单位是元
响应示例(JSON):
{"status":"success", "msg":"成功", "orderno":"E2021011814145299969", "amount":100.88, "payurl":"http://www.aonipay.com/5464"}
支付异步通知
请求方式:POST
接收到服务器点对点异步通知时,验证签名金额业务正确后请返回“OK”(没有双引号,字母大写)字符串给服务器,否则服务器会重复3次发送通知。
参数名称 参数含义 是否必填 参与签名 参数说明
memberid 商户编号 平台分配商户号
orderid 订单号 商户订单号
amount 订单金额 单位:元
transaction_id 平台单号 平台单号
datetime 交易时间 格式:yyyyMMddHHmmss
returncode 响应状态 "00" 表示交易成功,其它表示失败
sign MD5签名 规则详见签名算法
attach 自定义字段 商户附加数据返回
订单查询接口
请求方式:POST
请求地址: 网关地址+/Pay_Trade_query.html
参数名称 参数含义 是否必填 参与签名参数说明
pay_memberid 商户编号
pay_orderid 商户订单号
pay_md5sign MD5签名 商户号和订单号参与签名(签名算法同上)
响应参数(JSON)
参数名称 参数含义 参数说明
memberid 商户编号
returncode 响应状态 00表示成功,其它表示失败
sign MD5签名 算法:md5(pay_memberid=123&pay_orderid=234&key=key)转大写
orderid 商户订单号
transaction_id 平台订单号
amount 订单金额 单位:元
time_end 支付成功时间
trade_state 支付状态 SUCCESS:支付成功,NOTPAY:未支付
响应示例(JSON):
{ "memberid": "190472564", "orderid": "E2024061518181413191", "amount": "50.00", "time_end": "2024-06-15 18:20:14", "transaction_id": "20240615181831534484331", "returncode": "00", "trade_state": "SUCCESS", "sign": "7A5162AF5F2C42FDE7566EA45146D573" }
代付提交接口
请求方式:POST
请求地址:网关地址+/Payment_Dfpay_add.html
参数名称 参数含义 是否必填 参与签名 参数说明
mchid 商户编号 平台分配商户号
out_trade_no 商户订单号 只能包含字母、数字,值唯一,最大长度30
money 订单金额 单位:元,示例:100.25
bankname 银行名称 若是支付宝账户请输入“支付宝”;示例:支付宝、工商银行、中国银行...
subbranch 支行名称 若是支付宝账户可输入任意值
accountname 收款人姓名
cardnumber 收款账号 银行卡号或支付宝账户
province 省份
city 城市
extends 附加字段 扩展字段
eb_code 银行编码
notifyurl 异步通知地址 代付异步通知URL,若为空,则系统不发送异步通知
sign MD5签名
响应参数(JSON)
参数名称 参数含义 参数说明
status 状态 成功:success ;失败:error
msg 状态描述
transaction_id 平台订单号 成功时返回
代付查询接口
请求方式:POST
请求地址:网关地址+/Payment_Dfpay_query.html
参数名称 参数含义 是否必填 参与签名 参数说明
out_trade_no 商户订单号
mchid 商户号
sign 签名
响应参数(JSON)
参数名称 参数含义 参数说明
status 状态 success:请求成功(不代表业务成功),error:请求失败
msg 状态描述
mchid 商户号 status=success时返回
out_trade_no 商户订单号 status=success时返回
amount 金额 status=success时返回
transaction_id 平台单号 status=success时返回
refCode 业务状态 status=success时返回
refMsg 业务描述 status=success时返回
success_time 成功时间 status=success,refCode=1时返回
refCode返回值说明
返回值 含义
1 成功
2 失败
3 处理中
4 待处理
5 审核驳回
6 待审核
注:当status=success和refCode=1同时成立时才表示转账成功
代付异步通知
请求方式:POST
接收到服务器点对点异步通知时,验证签名金额业务正确后请返回“OK”(没有双引号,字母大写)字符串给服务器,否则服务器会重复3次发送通知。
参数名称 参数含义 是否必填 参与签名 参数说明
memberid 商户编号 平台分配商户号
orderid 订单号 商户订单号
amount 订单金额 单位:元
transaction_id 平台单号 平台单号
datetime 交易时间 格式:yyyyMMddHHmmss
status 交易状态 "1" 表示成功,其它表示失败
sign MD5签名 规则详见签名算法
签名算法(MD5)
签名生成的通用步骤如下:
第一步,设所有发送或者接收到的数据为集合M,将集合M内非空参数值的参数按照参数名ASCII码从小到大排序(字典序),使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串。
第二步,在stringA最后拼接上应用 key="密钥" 得到stringSignTemp字符串,并对stringSignTemp进行MD5运算,再将得到的字符串所有字符转换为大写,得到sign值signValue。
示例:
stringSignTemp="pay_amount=pay_amount&pay_applydate=pay_applydate&pay_bankcode=pay_bankcode &pay_callbackurl=pay_callbackurl&pay_memberid=pay_memberid&pay_notifyurl=pay_notifyurl&pay_orderid=pay_orderid&key=密钥";
sign=MD5(stringSignTemp).toUpperCase();
账户余额查询接口
请求方式:POST
请求地址:网关地址+/Payment_Dfpay_balance.html
参数名称 参数含义 是否必填 参与签名 参数说明
mchid 商户编号 平台分配商户号
timestamp 时间戳 位数为10的时间戳(秒),示例:1719417341
sign MD5签名
响应参数(JSON)
参数名称 参数含义 参数说明
status 状态 success:请求成功,error:请求失败
msg 状态描述
mchid 商户号 请求成功时返回
balance 可提现余额 请求成功时返回
blockedbalance 冻结余额 请求成功时返回
name 名称 请求成功时返回
渠道编码
请登录商户中心,在“API管理-查看通道费率”菜单中查看所属应用的支付通道编码。