Thinkphp和onethink實現微信支付插件
來源:易賢網 閱讀:1429 次 日期:2016-08-26 15:47:59
溫馨提示:易賢網小編為您整理了“Thinkphp和onethink實現微信支付插件”,方便廣大網友查閱!

thinkPHP和微支付實現的微信支付插件,在微信中調用微信jssdk實現支付,這里有詳細的代碼和教程,具體看這里:

//實現的Wxpay鉤子方法

    public function Wxpay($param){

      require './Addons/Wxpay/WxPayPubHelper/WxPayPubHelper.php';

      $jsApi = new \JsApi_pub(); 

      //=========步驟1:網頁授權獲取用戶openid============

      if (!isset($_GET['code']))

      {

        //觸發微信返回code碼

        $url = $jsApi->createOauthUrlForCode(\WxPayConf_pub::JS_API_CALL_URL.'/order_id/'.$param['order_id']);

        Header("Location: $url");

      }else

      {

        $order_id = $param['order_id'];

        $info = M('Order')->where('id='.$order_id)->find();

        if(empty($info) || $info['is_pay'] == 1){

          dump('該訂單不存在或已支付'.$order_id);

          exit();

        }

        $this->assign('info', $info);

        $a = $info['money'];

        $b = 100;

        $c = $a * $b;

        //獲取code碼,以獲取openid

        $code = $_GET['code'];

        $jsApi->setCode($code);

        $openid = $jsApi->getOpenId();

      }

      //=========步驟2:使用統一支付接口,獲取prepay_id============

      //使用統一支付接口

      $unifiedOrder = new \UnifiedOrder_pub();

      $unifiedOrder->setParameter("openid","$openid");//商品描述

      $unifiedOrder->setParameter("body","在線預訂");//商品描述

      //自定義訂單號,此處僅作舉例

      $timeStamp = time();

//       $out_trade_no = \WxPayConf_pub::APPID."$timeStamp";

      $out_trade_no = $info['ordersn'];

      $unifiedOrder->setParameter("out_trade_no", "$out_trade_no");//商戶訂單號

      $unifiedOrder->setParameter("total_fee", "$c");//總金額

      $unifiedOrder->setParameter("notify_url",\WxPayConf_pub::NOTIFY_URL.'/order_id/'.$param['order_id']);//通知地址

      $unifiedOrder->setParameter("trade_type","JSAPI");//交易類型

      $prepay_id = $unifiedOrder->getPrepayId();

      //=========步驟3:使用jsapi調起支付============

      $jsApi->setPrepayId($prepay_id);

      $jsApiParameters = $jsApi->getParameters();

      $this->assign('jsApiParameters', $jsApiParameters);

      $this->display('pay');

    }

以上就是本文的全部內容,希望對大家學習PHP程序設計有所幫助。

更多信息請查看網絡編程
易賢網手機網站地址:Thinkphp和onethink實現微信支付插件
由于各方面情況的不斷調整與變化,易賢網提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢為準!

2026國考·省考課程試聽報名

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
云南網警備案專用圖標
聯系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網
云南網警報警專用圖標
未满十八18勿进黄网站免费看