代付 API 对接文档

本文档面向商户接入代付(出款)业务。商户通过签名请求向平台发起代付,平台异步回调代付结果,商户验签后入账。

1. 基本信息

项目
下单接口POST https://apiflb.88upay.com/daifu_Dffapay_add.html
请求格式application/x-www-form-urlencoded
字符编码UTF-8
签名算法MD5(大写)
商户号 mchid平台分配(示例:10464
密钥 apikey平台分配,仅用于签名,切勿泄露

2. 代付下单

2.1 请求参数

参数必填说明
mchid商户号
out_trade_no商户订单号,唯一
money代付金额,保留两位小数,如 5000000.00(单位 VND)
bankname收款银行名称/编码
cardnumber收款银行卡号
accountname收款人姓名
notifyurl异步回调地址(接收代付结果)。为空则平台不发回调
province
city
subbranch支行
r_time请求时间戳(10位秒级)。可选;若上送,与服务器时差需 < 6 秒,否则报错。建议上送以防重放
extends扩展参数,base64_encode(json_encode([...]))。若上送则需参与签名
pay_md5sign签名(见第 4 节)

2.2 响应

成功:

{"status":"success","msg":"代付申请成功","transaction_id":"P0622295680986222eb"}

失败:

{"status":"error","msg":"错误原因","data":[]}

transaction_id 为平台系统订单号,请保存以便对账。

3. 代付结果回调

代付完成后,平台向商户 notifyurl 发送 POSTx-www-form-urlencoded)。

3.1 回调参数

参数说明
mchid商户号
orderid商户订单号(即下单时的 out_trade_no)
sysorderid平台系统订单号
money代付金额
status1=代付成功,2=代付驳回/失败
remark备注
timestamp回调时间戳
pay_md5sign签名(见第 4 节,回调验签)
商户应答:商户验签通过并处理后,必须返回纯文本 success。否则平台判定回调失败,将按策略重试(每分钟一次)直到收到 success
幂等:同一订单可能重复回调,商户须以 orderid/sysorderid 做幂等,避免重复入账。

4. 签名算法

4.1 下单签名(商户生成)

  1. 取所有非空业务参数(不含 pay_md5sign),按参数名 ASCII 升序排序(ksort)
  2. 拼接为 k1=v1&k2=v2&...&(每项后带 &)。
  3. 末尾追加 key=APIKEY
  4. pay_md5sign = strtoupper(md5(上述字符串))
// 待签名串(已按 ksort 排序,末尾接 key)
accountname=收款人&bankname=银行&cardnumber=卡号&city=Hanoi&mchid=10464&money=5000000.00¬ifyurl=https://.../notify&out_trade_no=ORDER123&province=Hanoi&r_time=1782129600&subbranch=支行&key=APIKEY
// MD5 后转大写即为 pay_md5sign

4.2 回调验签(商户校验)

回调签名参数按固定顺序拼接(不排序):mchid → orderid → sysorderid → money → status → remark → timestamp,跳过空值,末尾追加 key=APIKEY,MD5 转大写后与 pay_md5sign 比对。

$str = "mchid={mchid}&orderid={orderid}&sysorderid={sysorderid}&money={money}&status={status}&remark={remark}×tamp={timestamp}&key=APIKEY";
$sign = strtoupper(md5($str));   // 与回调中的 pay_md5sign 比对,一致即验签通过
实测样例(验签通过):
回调: mchid=10464 orderid=FORMALPAYOUT20260622195927 sysorderid=P0622295680986222eb
      money=5000000.000 status=1 remark=1 timestamp=1782129602
      pay_md5sign=AF57C47007307A93229FC48DAF2EA2F2
商户重算 → AF57C47007307A93229FC48DAF2EA2F2  ✓ 一致

5. 接入自测步骤

  1. 用测试 mchid/apikey 按 4.1 生成签名,POST 下单接口,确认返回 success + transaction_id
  2. 提供可访问的 notifyurl(公网 HTTPS),实现:验签 → 入账 → 返回 success
  3. 等待平台回调,确认收到参数、验签通过、并正确返回 success(平台不再重试即为成功)。
  4. 核对 status:1 成功入账,2 失败需退款/标记。

6. 常见错误

返回原因
IP白名单限制!x.x.x.x下单来源 IP 未加白,联系平台加白
缺少签名参数pay_md5sign未传 pay_md5sign
下单r_time时间差太大r_time 与服务器时差 ≥ 6 秒,请同步时间
代付API未开启商户未开通代付,联系平台

如需测试商户号/密钥或加白 IP,请联系平台对接人。