API接入文档

欢迎接入phppay支付接口。

接口参数说明

注意,提交方式是 POST ,请不要用 GET 方式提交

请求参数:

参数名称 参数含义 是否必填 参与签名 参数说明
pay_memberid 商户号 平台分配商户号
pay_orderid 订单号 上送订单号唯一, 字符长度20
pay_applydate 提交时间 时间格式:2018-12-01 18:18:18
pay_bankcode 银行编码 参考后续说明
pay_notifyurl 服务端通知 服务端返回地址.(POST返回数据)
pay_callbackurl 页面跳转通知 页面跳转返回地址(POST返回数据)
pay_amount 订单金额 商品金额
pay_md5sign MD5签名 请看MD5签名字段格式
pay_attach 附加字段 此字段在返回时按原样返回 (中文需要url编码)
pay_productname 商品名称
pay_productnum 商户品数量
pay_productdesc 商品描述
pay_producturl 商户链接地址

签名算法:

签名生成的通用步骤如下:
第一步,设所有发送或者接收到的数据为集合M,将集合M内非空参数值的参数按照参数名ASCII码从小到大排序(字典序),使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串。
第二步,在stringA最后拼接上key得到stringSignTemp字符串,并对stringSignTemp进行MD5运算,再将得到的字符串所有字符转换为大写,得到sign值signValue。
1. 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=key" sign=MD5(stringSignTemp) .toUpperCase()

支付结果通知:

如果接收到服务器点对点通讯时,在页面输出“OK”(没有双引号,OK两个字母大写),否则会重复3次发送点对点通知.
参数名称 参数含义 参与签名 参数说明
memberid 商户编号
orderid 订单号
amount 订单金额
transaction_id 交易流水号
datetime 交易时间
returncode 交易状态 “00” 为成功
attach 扩展返回 商户附加数据返回
sign 签名 请看验证签名字段格式

接入网站DEMO示例

以下为接入系统的DEMO示例,请下拉查看各语言DEMO代码。

订单状态查询接口

查询网关地址: 网站地址/Pay_Trade_query.html
注意,提交方式是 POST ,请不要用 GET 方式提交

请求参数:

参数名称 参数含义 是否必填 参与签名 参数说明
pay_memberid 商户号 平台分配商户号
pay_orderid 订单号 上送订单号唯一, 字符长度20
pay_md5sign MD5签名 请看MD5签名字段格式

查询结果通知:

参数名称 参数含义 参与签名 参数说明
memberid 商户编号
orderid 订单号
amount 订单金额
time_end 支付成功时间
transaction_id 交易流水号
returncode 交易状态 “00” 为成功
trade_state 交易状态 NOTPAY-未支付 SUCCESS已支付
sign 签名 请看验证签名字段格式

[附件]银行编码参考

附:银行编码/具体查看后台/通道管理/支付产品管理的编号 即是银行编码
901 微信公众号
902 微信扫码支付
903 支付宝扫码支付
904 支付宝手机
905 QQ手机支付
907 网银支付
908 QQ扫码支付
909 百度钱包
910 京东支付