请求地址:/submit.php
请求方式:POST/GET
请求数据:pid={商户ID}&type={支付方式}&out_trade_no={商户订单号}¬ify_url={服务器异步通知地址}&return_url={页面跳转通知地址}&name={商品名称}&money={金额}&sitename={网站名称}&sign={签名字符串}&sign_type=MD5
参数说明:
参数 | 类型 | 描述 |
---|---|---|
pid | 整数 | 【必传】判断请求的商户ID |
type | 字符串 | 【必传】alipay:支付宝,wxpay:微信支付,qqpay:QQ支付 |
out_trade_no | 长整数 | 【必传】商户订单号,可以是时间戳,不可重复 |
notify_url | 字符串 | 【必传】传入则设置该订单的异步通知接口为该参数,不传或传空则使用后台设置的接口 |
return_url | 字符串 | 【必传】传入则设置该订单的同步跳转接口为该参数,不传或传空则使用后台设置的接口 |
name | 字符串 | 【必传】商品名称 |
money | 整数 | 【必传】商品金额 |
param | 字符串 | 【可选】自定义参数,不传或传空则 |
isHtml | 字符串 | 【可选】默认自动跳转到支付页面,1返回创建结果的json数据 |
sign | 字符串 | 【必传】MD5签名,计算方式为 签名算法与支付宝签名算法相同 |
sign_type | 字符串 | 【必传】默认为MD5 |
返回数据(示例):{"code":1,"msg":"成功","data":{"trade_no":"20200716034627356","out_trade_no":"202007161107295495","type":2,"name":"测试商品","money":"0.01","reallyPrice":"0.06","payUrl":"HTTPS:\/\/QR.ALIPAY.COM\/FKX06856G4GM17LDZXHV5D","isAuto":1,"state":0,"timeOut":"3","date":1594871189}}
返回参数 | 参数类型 | 参数说明 | ||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
code | 整数 | 返回代码(1:成功,-1:调用失败) | ||||||||||||||||||||||||||||||||||||
msg | 字符串 | api调用结果说明 | ||||||||||||||||||||||||||||||||||||
data | 数组 | api调用结果(如果code为-1,则data为null)
|
请求地址:/submit.php?act=actfdsa
请求方式:POST/GET
参数说明:
参数 | 参数类型 | 参数说明 |
---|---|---|
pid | 整数 | 【必传】商户ID |
key | 字符串 | 【必传】通讯密钥 |
out_trade_no | 字符串 | 【必传】商户订单号 |
返回数据(示例):{"code":1,"msg":"成功","data":{"orderId":"202007221907159879","out_trade_no":"1595419095","type":"wxpay","money":10,"reallyPrice":10,"create_date":1595419095,"close_date":1595419100,"state":1}}
返回参数 | 参数类型 | 参数说明 | |||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
code | 整数 | 返回代码(1:成功,-1:调用失败) | |||||||||||||||||||||||||||
msg | 字符串 | api调用结果说明 | |||||||||||||||||||||||||||
data | 数组 | api调用结果(如果code为-1,则data为null)
|
请求地址:/submit.php?act=getState
请求方式:POST/GET
参数说明:
参数 | 参数类型 | 参数说明 |
---|---|---|
pid | 整数 | 【必传】商户ID |
key | 字符串 | 【必传】通讯密钥 |
sign | 字符串 | 【必传】MD5签名:md5(商户ID+通讯密钥) |
返回数据(示例):{"code":1,"msg":"成功","data":{"pzqrcode":"//pay.ylcom.net/enQrcode?url=pay.ylcom.net/123456789/1","input":"pay.ylcom.net/123456789/1","lastpay":"1547394640","lastheart":"1547613873","state":"1"}}
返回参数 | 参数类型 | 参数说明 | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
code | 整数 | 返回代码(1:成功,-1:失败,具体原因查看msg字段) | ||||||||||||||||||
msg | 字符串 | 调用结果说明 | ||||||||||||||||||
data | 字符串 | api调用结果(如果code为-1,则data为null)
|
通知类型:服务器异步通知(notify_url)、页面跳转通知(return_url)当系统收到用户收款后,将会向您后台设定的异步通知地址发送GET请求,通知您的服务端订单完成收款若您使用的是isHtml=默认则在支付完成后会携带参数跳转到您的同步通知接口,若使用isHtml=1则只有异步通知
传输参数(示例):pid=1000&trade_no=20160806151343349021&out_trade_no=20160806151343349&type=wxpay&name=VIP会员&money=1.00&trade_status=TRADE_SUCCESS&sign=202cb962ac59075b964b071&sign_type=MD5
字段名 | 参数 | 类型 | 描述 |
---|---|---|---|
商户ID | pid | 整数 | 判断请求的商户ID |
云端订单号 | trade_no | 字符串 | 云端订单号 |
商户订单号 | out_trade_no | 字符串 | 商户系统内部的订单号 |
支付方式 | type | 字符串 | wxpay |
商品名称 | name | 字符串 | VIP会员 |
商品金额 | money | 整数 | 1.00 |
自定义参数 | param | 字符串 | 测试 |
支付状态 | trade_status | 字符串 | TRADE_SUCCESS |
签名字符串 | sign | 字符串 | MD5签名,计算方式为 签名算法与支付宝签名算法相同 |
<?php /* * *************************页面功能说明************************* * 创建该页面文件时,请留心该页面文件中无任何HTML代码及空格。 * 该页面不能在本机电脑测试,请到服务器上做测试。请确保外部可以访问该页面。 * 该页面调试工具请使用写文本函数logResult,该函数已被默认关闭,见alipay_notify_class.php中的函数verifyNotify */ //计算得出通知验证结果 require_once("./config.php");//核心文件 $_SERVER['REQUEST_METHOD']=='GET' ? $api = $_GET : $api = $_POST;//判断:GET和POST ksort($api); //排序GET和POST参数 reset($api); //内部指针指向数组中的第一个元素 $sign = '';//初始化 foreach ($api AS $key => $val) { //遍历GET和POST参数 if ($val == '' || $key == 'sign' || $key == 'sign_type' || $key == 'param') continue; //跳过这些不签名 if ($sign) $sign .= '&'; //第一个字符串签名不加& 其他加&连接起来参数 $sign .= "$key=$val"; //拼接为url参数形式 } if (md5($sign.$config['key'])==$api['sign']) { //不合法的数据 //请在这里加上商户的业务逻辑程序代 //——请根据您的业务逻辑来编写程序(以下代码仅作参考)—— $out_trade_no = $api['out_trade_no'];//商户订单号 $type = $api['type'];//支付方式 exit("success");//请不要修改或删除 } else { exit("fail");//验证失败 } ?>