国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > PHP > 正文

微信小程序支付功能用php進(jìn)行后臺(tái)對(duì)接

2020-03-22 19:44:00
字體:
供稿:網(wǎng)友
這篇文章主要為大家詳細(xì)介紹了html' target='_blank'>微信小程序支付功能,分享了php后臺(tái)對(duì)接完整代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

微信小程序支付,php后臺(tái)對(duì)接完整代碼,全是干貨呀,拿過來可以直接使用。小程序在調(diào)起微信支付之前需要5個(gè)參數(shù),這時(shí)候就需要攜帶code向后臺(tái)請(qǐng)求,然后后臺(tái)根據(jù)code獲取openid 再進(jìn)行服務(wù)器之間的。

一、準(zhǔn)備工作

1、小程序注冊(cè),要以公司的以身份去注冊(cè)一個(gè)小程序,才有微信支付權(quán)限;

2、綁定商戶號(hào)。

3、在小程序填寫合法域

二、完成以上條件,你可以得到

小程序appid 小程序秘鑰 這兩個(gè)用于獲取用戶openid;

商戶號(hào)id ,商戶號(hào)秘鑰 支付接口必須的;

三、開始開發(fā)

前臺(tái)代碼

 調(diào)起微信支付  @param 支付價(jià)格,不填寫默認(rèn)為1分錢 function pay(total_fee) {  var total_fee = total_fee;  wx.login({  success: res = {  //code 用于獲取openID的條件之一  var code = res.code;  wx.request({  url: 后臺(tái)地址/index.php ,  method: POST ,  data: {  total_fee:total_fee,  code: code,  header: {  content-type : application/x-www-form-urlencoded // 默認(rèn)值  success: function (res) { //后端返回的數(shù)據(jù)  var data = res.data;  console.log(data);  console.log(data[ timeStamp ]);  wx.requestPayment({  timeStamp: data[ timeStamp ],  nonceStr: data[ nonceStr ],  package: data[ package ],  signType: data[ signType ],  paySign: data[ paySign ],  success: function (res) {  wx.showModal({  title: 支付成功 ,  content: ,  fail: function (res) {  console.log(res);  }); 
}

以下是PHP后臺(tái)代碼 ,這里用的是tp框架

 ?php namespace Home/Controller; use Think/Controller; class PayController extends Controller {  /**  * [callback 微信支付回調(diào)處理]  * @Author zhengmingzhou  * @DateTime 2018-05-22  * @return function [description]  public function callback(){  vendor( Wechart.WxPay.Api  vendor( Wechart.NativePay  vendor( Wechart.WxPay.Data  vendor( Wechart.WxPay.Notify 
$result = $WxPayData- FromXml($xml); if($result[ return_code ] == SUCCESS $result[ result_code ] == SUCCESS ){ //回調(diào)邏輯處理。。。
$WX_SECRET = //AppSecret $url = https://api.weixin.qq.com/sns/jscode2session?appid= . $WX_APPID . secret= . $WX_SECRET . js_code= . $code . grant_type=authorization_code $infos = json_decode(file_get_contents($url)); $openid = $infos- openid; if(I( post.total_fee )) $total_fee=I( post.total_fee else $total_fee=0.01; $fee = 0.01;//舉例充值0.01 $appid = //appid $body = 標(biāo)題 $mch_id = //商戶號(hào) $nonce_str = $this- nonce_str();//隨機(jī)字符串 $notify_url = //回調(diào)的url【自己填寫】 $openid = $openid; $out_trade_no = $this- order_number();//商戶訂單號(hào) $spbill_create_ip = //服務(wù)器的ip【自己填寫】; $total_fee = $fee*100;//這里需要*100 $trade_type = JSAPI //交易類型 默認(rèn)
//這里是按照順序的 因?yàn)橄旅娴暮灻前凑枕樞?排序錯(cuò)誤 肯定出錯(cuò) $post[ appid ] = $appid; $post[ body ] = $body; $post[ mch_id ] = $mch_id; $post[ nonce_str ] = $nonce_str;//隨機(jī)字符串 $post[ notify_url ] = $notify_url; $post[ openid ] = $openid; $post[ out_trade_no ] = $out_trade_no; $post[ spbill_create_ip ] = $spbill_create_ip;//終端的ip $post[ total_fee ] = $total_fee;//總金額 $post[ trade_type ] = $trade_type; $sign = $this- sign($post);//簽名 $post_xml = xml appid .$appid. /appid body .$body. /body mch_id .$mch_id. /mch_id nonce_str .$nonce_str. /nonce_str notify_url .$notify_url. /notify_url openid .$openid. /openid out_trade_no .$out_trade_no. /out_trade_no spbill_create_ip .$spbill_create_ip. /spbill_create_ip total_fee .$total_fee. /total_fee trade_type .$trade_type. /trade_type sign .$sign. /sign /xml
$url = https://api.mch.weixin.qq.com/pay/unifiedorder $xml = $this- http_request($url,$post_xml); $array = $this- xml($xml);//全要大寫
//print_r($array); if($array[ RETURN_CODE ] == SUCCESS $array[ RESULT_CODE ] == SUCCESS ){ $time = time(); $tmp= //臨時(shí)數(shù)組用于簽名 $tmp[ appId ] = $appid; $tmp[ nonceStr ] = $nonce_str; $tmp[ package ] = prepay_id= .$array[ PREPAY_ID $tmp[ signType ] = MD5 $tmp[ timeStamp ] = $time
$data[ nonceStr ] = $nonce_str;//隨機(jī)字符串 $data[ signType ] = MD5 //簽名算法,暫支持 MD5 $data[ package ] = prepay_id= .$array[ PREPAY_ID //統(tǒng)一下單接口返回的 prepay_id 參數(shù)值,提交格式如:prepay_id=* $data[ paySign ] = $this- sign($tmp);//簽名,具體簽名方案參見微信公眾號(hào)支付幫助文檔; $data[ out_trade_no ] = $out_trade_no;
private function order_number($openid){ //date( Ymd ,time()).time().rand(10,99);//18位 return md5($openid.time().rand(10,99));//32位
$wx_key = //申請(qǐng)支付后有給予一個(gè)商戶賬號(hào)和密碼,登陸后自己設(shè)置的key $stringSignTemp = $stringA. key= .$wx_key; return strtoupper(md5($stringSignTemp));
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
}

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,更多相關(guān)內(nèi)容請(qǐng)關(guān)注PHP !

相關(guān)推薦:

在php中用html_entity_decode實(shí)現(xiàn)HTML實(shí)體轉(zhuǎn)義

以上就是微信小程序支付功能用php進(jìn)行后臺(tái)對(duì)接的詳細(xì)內(nèi)容,PHP教程

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 海安县| 科尔| 平度市| 齐河县| 利津县| 乐都县| 西华县| 靖安县| 磐石市| 商城县| 福鼎市| 商洛市| 措勤县| 历史| 阿城市| 楚雄市| 班戈县| 瓮安县| 天等县| 江门市| 长垣县| 华池县| 金门县| 加查县| 佛坪县| 河西区| 石嘴山市| 双柏县| 盱眙县| 泸定县| 杨浦区| 绩溪县| 句容市| 济南市| 饶平县| 深圳市| 囊谦县| 新巴尔虎右旗| 北海市| 峨边| 佛教|