function argSort($para) {


        ksort( $para );

        reset( $para );

        return $para ;

}

function createLinkstring($para) {


$arg  = "";


foreach ($para as $key => $val) {


$arg.=$key."=".$val."&";


}


//去掉最后一个&字符


$arg = substr($arg,0,strlen($arg)-1);



//如果存在转义字符,那么去掉转义


if(get_magic_quotes_gpc()){$arg = stripslashes($arg);}



return $arg;


}


    /*去掉字符空值*/


function paraFilter($para){


$para_filter = array();


foreach ($para as $key => $val){


if($key == "sign")continue;


else


$para_filter[$key] = $para[$key];


}


return $para_filter;


}




   function md5Verify($prestr,$sign=null,$key) {


   $para=paraFilter($prestr);


   $parm=argSort($para);


   $prestr=createLinkstring($parm);


   $prestr = $prestr.$key;


   $mysgin = md5($prestr);


   if($sign==null){


   return $mysgin;


   }else{


   if($mysgin == $sign) {


   return true;


   }else{


   return false;


   }


   }


  }


function vpost($url, $data = array()) {// 模拟提交数据函数


    $curl = curl_init();


    // 启动一个CURL会话


    curl_setopt($curl, CURLOPT_URL, $url);


    // 要访问的地址


    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);


    // 对认证证书来源的检查


    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);


    // 从证书中检查SSL加密算法是否存在


if(isset($_SERVER['HTTP_USER_AGENT'])){


    curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);


}


    // 模拟用户使用的浏览器


    curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);


    // 使用自动跳转


    curl_setopt($curl, CURLOPT_AUTOREFERER, 1);


    // 自动设置Referer


    curl_setopt($curl, CURLOPT_POST, 1);


    // 发送一个常规的Post请求


    @curl_setopt($curl, CURLOPT_POSTFIELDS, $data);


    // Post提交的数据包


    curl_setopt($curl, CURLOPT_TIMEOUT, 10);


    // 设置超时限制防止死循环


    curl_setopt($curl, CURLOPT_HEADER, 0);


    // 显示返回的Header区域内容


    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);


    // 获取的信息以文件流的形式返回


    $tmpInfo = curl_exec($curl);


    // 执行操作


    if (curl_errno($curl)) {


        return false;


        //捕抓异常


    }else{


    curl_close($curl);


    // 关闭CURL会话


    return $tmpInfo;


}


    // 返回数据


}


function blsend($para, $method, $button_name,$url) {


$sHtml = "<form id='blpaysubmit' name='blpaysubmit' action='".$url."' method='".$method."'>";


foreach ($para as $key => $val) {


$sHtml.= "<input type='hidden' name='".$key."' value='".$val."'/>";


}


$sHtml = $sHtml."<input type='submit' style='border:none;width:200px;height:35px;line-height:35px;background:none;font-size:18px;' value='".$button_name."'></form>";


$sHtml = $sHtml."<script>document.forms['blpaysubmit'].submit();</script>";


return $sHtml;


}

微信公众号登陆

 

POST方式 :http://域名/wxindex.html

参数名称

变量名

类型长度

说明

域名ID

id

int(5)

平台开通网站的ID

推广ID

qrcode

varchar(20)

一般用于平台推广者id,本站原样返回

 

为了减少本站域名被封必须POST提交;

 

到平台商户中心-》域名中心 添加域名

 

填写 网站名称

填写 域名链接:此地址必须带http:// 是返回给网站登陆信息的地址

 

添加完域名回到域名中心 会看到添加的域名信息 ,访问地址是系统自动生成 在微信访问 访问地址 就会携带微信openid 昵称 name  头像 head 到你添加的域名地址  。

 

利用本站提供SIGN生成方式生成加密串

$map['id']=域名id;

$map['qrcode']=$qrcode;

$sign=md5Verify($map,"",$skey);

    $map['sign']=$sign;

$html=blsend($map,"post","",$url);

    echo $html;//生成自动提交表单

微信零钱提现到账

 

1.请求方式:

 

 POST 返回json格式

 

2.提交网址:

 

http://域名/withdrawal.html

 

3.参数说明:

参数名称

变量名

类型长度

说明

商户编号

uid

int(5)

平台的商户ID

商户订单号

order

varchar(20)

商户订单号,唯一

订单金额

money

decimal(18,2)

支付金额

提现用户id

name

Int(10)

提现风控使用

openid

openid

varchar(50)

微信获取的openid,使用本站公众号接口登陆的无需另外获取,直接使用会员登陆openid,其他登陆方式openid获取方式查看第4

md5签名串

sign

varchar(32)

参照5签名

 

4.获取openid

 

POST ,GET方式 :http://域名/wxindex.html

 

  

参数名称

变量名

类型长度

说明

商户编号

id

int(5)

平台的商户ID

回调地址

url

varchar(20)

获取到openid返回给商户的地址,可带参数

 

 

例如:http://skb.dzvlw.xin/wxindex.html?id=6&url=http://skb.dzvlw.xin/123.php?id=1025

 

5.生成SIGN

 

txid={txid}&uid={uid}&money={money}&order={order}&key={key}

一:此文档只适用于技术人员阅读

 

1为方便使用商户集成所需接口支付,特编写此文档以作参考!

 

2请认真阅读每一步流程所需参数及验证方法!

 

 

 

 

二:简单支付流程演示

undefined

 

提交支付订单:

1.请求方式:

 POST

 

2.提交网址:

http://skb.dzvlw.xin/payapi.html

 

3.参数说明:

参数名称

变量名

类型长度

是否可空

说明

商户编号

partner

int(8)

no

商户后台获取

商户订单号

order

varchar(20)

no

商户自定义组成

订单金额

price

decimal(18,2)

no

精确到小数点后两位,例如10.24

通道类型

class

varchar(10)

no

 

充值用户ID

name

Int(10)

yes

再后期提现控制能用到,不参与加密

异步通知URL

notify

varchar(50)

no

可以带参数

自定义参数

custom

Varchar(50)

yes

自定义参数原样返回

同步跳转URL

return

varchar(50)

no

可以带参数

md5签名串

sign

varchar(32)

no

参照订单MD5签名

 

4.订单MD5签名方法:

 

使用 krsort() 函数对数组按照键名进行降序排序用&号连接接个数据再加上KEY,进行MD5得到sign

如:MD5(class=alipay&hallway=visa¬ifyify=http://localhost/demo/php/notify.php&order=1536401793

&partner=1003&price=1.00&return=http://localhost/demo/php/return.php{key})

 

备注:平台返回数据也采用此方式生成SIGN

 

异步通知回调:

1.通知方式:

POST

 

 

2.收到通知回复:

收到通知后请回复  success

 

3.参数说明:

参数名称

变量名

类型长度

说明

状态

status

varchar(10)

1:成功,其他失败

商户编号

partner

int(8)

订单对应的商户ID

商户订单号

order

varchar(20)

商户网站上的订单号

订单金额

price

decimal(18,2)

支付金额

实际支付金额

money

decimal(18,2)

实际支付金额

平台订单号

platform

varchar(50)

平台订单号

md5签名串

sign

varchar(32)

参照通知MD5签名

 

4.通知MD5签名方法:

 

参照提交数据生成MD5方式

 

同步通知跳转:

1.通知方式:

GET 返回order订单号和money 金额

 

 

2.其他说明:

请不要在同步通知页面处理交易结果,最终结果以异步通知为准。

 

 

3.参数说明:

同异步参数说明

 

 


收款宝 - 支付系统, Inc.
skb.1ytaob.cn
客服QQ:718147916
客服邮箱
718147916@qq.com

Copyright © 收款宝 - 支付系统. All rights reserved.

豫ICP备16002109号-1