PHP支付宝当面付2.0代码
本文实例为大家分享了PHP支付宝当面付2.0代码,供大家参考,具体内容如下
//支付宝条码支付,直接调用ali_tiaoma_pay方法,把条码和金额传进去就ok
functionali_tiaoma_pay($tiaoma,$price){
$data['scene']='bar_code';//支付场景
$data['out_trade_no']=date("Ymd").rand(10000,99999);//订单号
$data['total_amount']=$price;//支付金额
$data['auth_code']=$tiaoma;//支付授权码
$data['subject']='订单标题';//订单标题
$data['body']='订单说明';//订单说明
$data=json_encode($data);
$params['app_id']=$alipay_account;
$params['method']='alipay.trade.pay';
$params['charset']='utf-8';
$params['sign_type']='RSA2';
$params['timestamp']=date("Y-m-dH:i:s");
$params['version']='1.0';
$params['notify_url']="";
$params['biz_content']=$data;
ksort($params);//对将要签名的数组排序
$string=$this->toUrlParam($params);//将数组转换成字符串
$params['sign']=$this->alipay_sign($string);//将字符串签名
$url='https://openapi.alipay.com/gateway.do?'.http_build_query($params);
$return=file_get_contents($url);//打开支付请求连接获取二维码地址
$return=json_decode($return,true);//将返回的字符串转换为数组
return$return;
}
//app支付宝签名
functionalipay_sign($data,$signType="RSA2")
$res="-----BEGINRSAPRIVATEKEY-----\n".
wordwrap('你的商户私钥,必须和公匙匹配',64,"\n",true).
"\n-----ENDRSAPRIVATEKEY-----";
($res)ordie('您使用的私钥格式错误,请检查RSA私钥配置');
if("RSA2"==$signType){
openssl_sign($data,$sign,$res,"SHA256");
}else{
openssl_sign($data,$sign,$res);
}
$sign=base64_encode($sign);
return$sign;
}
/*
*格式化参数格式化成url参数
*/
functiontoUrlParam($param){
$buff="";
foreach($paramas$k=>$v)
{
if($k!="sign"&&$v!=""&&!is_array($v)){
$buff.=$k."=".$v."&";
}
}
$buff=trim($buff,"&");
return$buff;
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。