葵司免费一区二区三区四区五区_久久九九久久九九_国产精品户外野外_亚洲免费在线精品一区

小程序支付開發(fā)
2019-03-19

小程序開發(fā)中經(jīng)常碰到支付的問題,今天鄭州小程序開發(fā)公司開拓者科技跟大家分享一下相關(guān)的經(jīng)驗(yàn)。

一、申請微信支付
想要對接微信支付,就必須先想微信支付官方提交資料申請支付賬號,通常微信服務(wù)號、微信小程序內(nèi)都有支付申請的接口,申請一次就夠了。

二、微信小程序的支付對接

1:下列參數(shù)分解表示:

                    $data["appid"] = "";

                    $data["body"] = "支付";

                    $data["mch_id"] = ""; //商戶平臺號

                    $data["nonce_str"] = $this->nonce_str();//隨機(jī)數(shù),會顯示在下圖

                    $data["notify_url"] = '';//回調(diào)地址。在當(dāng)前控制器寫回調(diào)方法,注意路徑

                    $data["openid"] = xx;//付款人的openid

                    $data["out_trade_no"] = xxx;訂單號

                    $data["spbill_create_ip"] = $request->ip();//當(dāng)前請求的ip,用官方獲取函數(shù)

                    $data["total_fee"] = 0.01 * 100;//付款的金額

                    $data["trade_type"] = "JSAPI";//支付的方式

                    $sign = $this->sign($data);//加密

                    $data['sign'] = $sign;

                    $xmldata = $this->xml($data);

                    $url = "https://api.mch.weixin.qq.com/pay/unifiedorder";

                    $res = $this->http_request($url, $xmldata);

                    $result = $this->getxml($res);

                    if ($result['RETURN_CODE'] == 'SUCCESS') {

                        $info['appId'] = '';

                        $info['timeStamp'] = xx;當(dāng)前時間戳就可以

                        $info['nonceStr'] = $this->nonce_str();

                        $info['package'] = 'prepay_id=' . PREPAY_ID;//此處可以自己研究一下

                        $info['signType'] = 'MD5';

                        $info["paySign"] = $this->sign($info);

                        $callback_data = ['code' => 200, 'msg' => "獲取成功", "data" => $info];

                    }else{

                        $callback_data = ['code' => 500, 'msg' => "獲取失敗", "data" => ''];

                    }

return json($callback_data);

2:http_request($url, $xmldata);

這部分是請求的數(shù)據(jù),通過curl請求數(shù)據(jù)。復(fù)制就好了

function http_request($url,$rawData){

        $ch = curl_init();

        curl_setopt($ch,CURLOPT_URL,$url);

        curl_setopt($ch,CURLOPT_HEADER,0);

        curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);

        curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,10);

        curl_setopt($ch,CURLOPT_POST,1);

        curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);

        curl_setopt($ch,CURLOPT_POSTFIELDS,$rawData);

//        curl_setopt($ch,CURLOPT_HTTPHEADER,array('content-Type:text'));

        $data = curl_exec($ch);

        curl_close($ch);

        return $data;

    }

3:隨機(jī)數(shù)---nonce_str

 function nonce_str(){

        $result = '';

        $str = 'QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm';

        for($i = 0;$i< 32;$i++){

            $result .= $str[rand(0,48)];

        }

        return $result;

    }

4:getxml===獲取xml

function getxml($xml){

        $p = xml_parser_create();

        xml_parse_into_struct($p,$xml,$index);

        xml_parser_free($p);

        $data = '';

        foreach($index as $key => $value){

            if($value['tag'] == "RETURN_CODE"){

                $data['RETURN_CODE'] = $value['value'];

            }

        }

        return $data;

    }

 

5:回調(diào)函數(shù)接收:

public function notify_url(){

        $receipt = file_get_contents("php://input");//可以寫入日志自己接收的數(shù)據(jù)

        $post_data = $this->xmlToArray($receipt);

        $postSign = $post_data['sign'];

        $order_number = $post_data['out_trade_no'];// 訂單可以查看一下數(shù)據(jù)庫是否有這個訂單

        if ($post_data['return_code'] == 'SUCCESS' && $postSign) {

                    if (//寫入自己的邏輯) {

                        echo '<xml><return_code><![CDATA[SUCCESS]]></return_code> <return_msg><![CDATA[OK]]></return_msg></xml>';

                    }

                } else {

                    echo '<xml><return_code><![CDATA[FAIL]]></return_code> <return_msg><![CDATA[ERROR]]></return_msg></xml>';

                }

            } else {

                echo '<xml> <return_code><![CDATA[SUCCESS]]></return_code> <return_msg><![CDATA[OK]]></return_msg> </xml>';

            }

        } else {

            // 寫個日志記錄

//            file_put_contents('wxpayerrorlog.txt', $post_data['return_code'] . PHP_EOL, FILE_APPEND);

            echo '微信支付失敗';

        }

    }

    //xml轉(zhuǎn)換成數(shù)組

    private function xmlToArray($xml) {

        libxml_disable_entity_loader(true);

        $data = json_decode(json_encode(simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA)), true);

        return $data;

    }

 

作者:鄭州小程序開發(fā)公司開拓者科技
 

訪問手機(jī)端更方便
葵司免费一区二区三区四区五区_久久九九久久九九_国产精品户外野外_亚洲免费在线精品一区
99成人免费视频| 亚洲国产日韩综合一区| 亚洲免费在线观看| 在线亚洲观看| 国产精品免费视频观看| 欧美一级视频| 久久久五月婷婷| 亚洲精品1区2区| 亚洲激情专区| 欧美日韩视频一区二区| 亚洲欧美国产日韩天堂区| 午夜精品免费视频| 尤物yw午夜国产精品视频明星| 美女福利精品视频| 欧美风情在线观看| 亚洲综合导航| 久久久久久一区二区三区| 在线精品亚洲| 9色国产精品| 国内一区二区在线视频观看| 欧美大片在线观看一区| 欧美日韩亚洲系列| 久久久久久婷| 欧美日韩一区二区三区在线| 久久精品国产成人| 欧美成人午夜激情视频| 性伦欧美刺激片在线观看| 久久久五月婷婷| 一本色道久久加勒比88综合| 欧美一区影院| 亚洲午夜久久久久久久久电影院 | 美女久久一区| 国产精品v亚洲精品v日韩精品| 久久精品五月婷婷| 欧美另类69精品久久久久9999| 欧美一区国产一区| 欧美日本一区| 欧美成人资源网| 国产欧美一区在线| 99re6这里只有精品| 影音先锋另类| 香蕉久久精品日日躁夜夜躁| 亚洲美女黄网| 久久久噜噜噜久久久| 午夜欧美不卡精品aaaaa| 欧美成人免费全部| 久久综合影音| 国产一区二区久久| 亚洲一区国产| 亚洲一区二区在线看| 欧美经典一区二区| 亚洲国产成人久久综合| 激情综合中文娱乐网| 欧美亚洲视频一区二区| 亚洲欧美日本另类| 国产精品99免视看9| 亚洲精品日日夜夜| 日韩视频精品在线| 欧美国产在线视频| 91久久在线播放| 亚洲国产精品久久人人爱蜜臀 | 美脚丝袜一区二区三区在线观看| 国产精品久久久久高潮| 99视频国产精品免费观看| 99精品热视频| 欧美日韩在线电影| 在线亚洲精品| 亚洲欧美日韩爽爽影院| 国产精品免费一区二区三区在线观看| 亚洲日本一区二区| 妖精成人www高清在线观看| 欧美另类在线播放| 99精品视频网| 欧美一级二级三级蜜桃| 国产日本欧美一区二区| 久久成人综合视频| 欧美国产视频日韩| 99国产精品久久久久老师| 欧美日韩国产限制| 亚洲图片欧美一区| 久久精品日韩一区二区三区| 黑人一区二区三区四区五区| 久久亚洲综合网| 亚洲精品1区| 亚洲免费一级电影| 韩国精品主播一区二区在线观看| 久久精品国内一区二区三区| 欧美激情精品久久久久| 一区二区三区欧美在线| 国产精品亚发布| 久久综合久久综合这里只有精品| 亚洲国产精品传媒在线观看| 亚洲性视频网址| 国产一区二区三区直播精品电影| 久久精品国产亚洲高清剧情介绍| 欧美成人精品激情在线观看| 亚洲桃花岛网站| 黑人巨大精品欧美一区二区| 欧美激情2020午夜免费观看| 亚洲午夜电影| 欧美激情aaaa| 欧美一区二区三区另类| 亚洲国内精品在线| 国产精品美女午夜av| 另类春色校园亚洲| 午夜久久一区| 亚洲精品乱码久久久久久蜜桃91 | 久久嫩草精品久久久久| 欧美一区亚洲| 亚洲福利视频一区| 亚洲欧美成人一区二区在线电影| 国产一区二区三区自拍| 欧美日韩国产综合新一区| 欧美影视一区| 99在线精品免费视频九九视| 噜噜噜噜噜久久久久久91| 亚洲欧美日韩成人高清在线一区| 伊人蜜桃色噜噜激情综合| 国产精品久久久久av| 蜜桃av一区二区三区| 欧美在线关看| 亚洲午夜精品一区二区三区他趣| 亚洲国产成人一区| 麻豆国产va免费精品高清在线| 亚洲男女自偷自拍图片另类| 亚洲美女淫视频| 在线看一区二区| 国产一区二区三区四区hd| 欧美午夜美女看片| 欧美日韩国产在线播放网站| 久久久最新网址| 久久高清福利视频| 欧美一区二区三区四区夜夜大片| 一区二区三区精品| 亚洲精品中文在线| 亚洲精品久久久久久久久久久久久| 久久影院午夜论| 久久蜜桃av一区精品变态类天堂| 香蕉久久国产| 性高湖久久久久久久久| 亚洲欧美不卡| 亚洲主播在线| 午夜精品一区二区三区在线| 亚洲一区免费网站| 亚洲欧美日韩直播| 欧美一区二区免费观在线| 欧美一区观看| 久久久国产精品一区二区中文| 久久精品国产免费观看| 久久久久成人精品| 玖玖精品视频| 亚洲电影第三页| 亚洲免费播放| 亚洲夜间福利| 久久爱另类一区二区小说| 久久激情综合网| 久久亚洲色图| 欧美精品久久久久久| 国产精品福利久久久| 国产精品热久久久久夜色精品三区| 国产精品久久77777| 国产自产精品| 亚洲精品美女免费| 亚洲一级在线观看| 久久久久国产精品www| 免费日韩av电影| 亚洲精品中文字| 午夜精品网站| 美女图片一区二区| 国产精品v亚洲精品v日韩精品 | 亚洲性夜色噜噜噜7777| 先锋影音国产一区| 欧美不卡三区| 国产精品久久久久久久久久久久久久 | 最新成人av在线| 中文亚洲欧美| 久久综合狠狠| 欧美日韩一区国产| 一区二区在线视频播放| 99国产精品国产精品久久| 欧美一区二区三区四区在线| 麻豆精品网站| 亚洲私人影院在线观看| 久久久噜噜噜久久中文字免| 欧美日韩一区在线观看| 激情一区二区| 午夜精品视频在线观看| 欧美激情中文字幕乱码免费| 亚洲午夜精品在线| 欧美激情在线狂野欧美精品| 国产拍揄自揄精品视频麻豆| 亚洲另类黄色| 久久综合久久综合这里只有精品| 日韩亚洲一区在线播放| 久久综合国产精品| 国产一区二区久久久| 亚洲性图久久| 亚洲精品婷婷| 免费日韩一区二区| 国内精品一区二区三区|