1、背景:2018年,第三方支付机构(支付宝、微信、百度钱包等)应国家要求,必须接入网联支付接口api
2、目的:以【微信jsapi】公众号支付为demo,讲解微信jsapi支付接入网联支付api,实现支付成功
3、代码:$record[\'uniontid\'] 自己填写
function doMobilelist3(){ $post_data[\'msgSrc\']=\'WWW.***.COM\'; $post_data[\'requestTimestamp\']=date(\'Y-m-d H:i:s\'); $post_data[\'mid\']=\'8***\'; $post_data[\'tid\']=\'5****2\'; $post_data[\'instMid\']=\'Y***T\'; $post_data[\'msgType\']=\'WXPay.jsPay\'; $post_data[\'msgSrcId\']=\'*****\'; $post_data[\'merOrderId\']=$post_data[\'msgSrcId\'].$record[\'uniontid\']; $post_data[\'totalAmount\']=$params[\'fee\']*100; // $post_data[\'totalAmount\']=1; $post_data[\'notifyUrl\']=$_W[\'siteroot\'].\'app\'.ltrim($this->createMobileUrl(\'notfiy\'),\'.\'); $post_data[\'returnUrl\']=$_W[\'siteroot\'].\'app\'.ltrim($this->createMobileUrl(\'list\'),\'.\'); $post_data[\'expireTime\']=date(\'Y-m-d H:i:s\',time()+3*60); $key=\'****\'; $post_data[\'sign\']=$this->makemd5($post_data,$key); $path=\'https://qr.chinaums.com/netpay-portal/webpay/pay.do\'; $this->createform($post_data,$path,$charset=\'UTF-8\',\'get\'); }
/* * 银联支付创建签名 */ private function makemd5($post_data,$key){ ksort($post_data); $sign= strtoupper(md5(urldecode(http_build_query($post_data)).$key)); return $sign; }
private function createform($data,$submitUrl,$charset=\'UTF-8\',$method=\'POST\'){ $inputstr = ""; foreach($data as $key=>$v){ $inputstr .= \'<input type="hidden" id="\'.$key.\'" name="\'.$key.\'" value="\'.$v.\'"/>\'; } $form = \'<form action="\'.$submitUrl.\'" name="pay" id="pay" method="\'.$method.\'" accept-charset="\'.$charset.\'" onsubmit="document.charset=\\'\'.$charset.\'\\';">\'; $form.= $inputstr; $form.= \'</form>\'; $html = \'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>请不要关闭页面,支付跳转中.....</title> </head> <body>\'; $html.= $form; $html.= \'<script type="text/javascript"> document.getElementById("pay").submit(); </script>\'; $html.= \'</body> </html>\'; print_r($html);exit; Mheader(\'utf-8\'); echo $html; exit; }