pay.php(/baby/extend/wx/pay.php)
<?php
namespace wx;
class pay
}/**
* 通過redirecturi獲取授權資訊
* @return mixed
*/public function getauthinfo()
//通過code換取網頁授權資訊
$res = $this->_curlgetreq($curl);
$authinfo = '';
if ($res['tag'])
}return $authinfo;
}/**
* 下單支付
* @param $param
* @return array|string
*/public function topay($param)
$content = $this->toarr($res);
if (!empty($content) && is_array($content))
}if (!empty($content['return_code']))
}$time = time();
settype($time, "string");
$resdata = array(
'noncestr' => strval($content['nonce_str']),
'package' => 'prepay_id=' . strval($content['prepay_id']),
'signtype' => 'md5',
'timestamp' => $time
);$resdata['paysign'] = $this->makesign($resdata);
}return json_encode($resdata);
}/**
* 產生隨機字串,不長於32位
* @param int $length
* @return string
*/public function getnoncestr($length = 32)
return $str;
}/**
* 生成簽名
* @param $unifiedorder
* @return string
*/public function makesign($unifiedorder)
/*** 格式化引數格式化成url引數
* @param $unifiedorder
* @return string
* @internal param $unifiedorder
*/public function tourlparams($unifiedorder)
}$buff = trim($buff, "&");
return $buff;
}/**
* 輸出xml字元
* @param $unifiedorder
* @return string
*/public function toxml($unifiedorder)
else
}$xml .= "";
return $xml;
}/**
* 將xml轉為array
* @param $xml
* @return mixed
*/public function toarr($xml)
/*** curl get request
* @param $url
* @return array
*/public function _curlgetreq($url)
return array(
'tag' => true,
'msg' => json_decode($res));}
/*** 以post方式提交xml到對應的介面url
* @param $xml
* @param $url
* @return mixed
*/public function postxmlcurl($url, $xml)
else
}/**
* 獲取ip
* 生成16位訂單號
* @return string
*/public function generateordernum()
}
簡單的支付類已經ok了,現在差呼叫層了,**如下:
test.php(
)
<?php
use think\controller;
use think\request;
class test extends controller
return $this->fetch('index/test');
}//非同步通知沒有做,後續補充~
public function notify()
}
呼叫層的**也已經ok了,最後就差模板了,如下:
該筆訂單支付金額為1分錢
1分錢也是愛
剁手吧
微信支付JSAPI支付
這裡是報錯 下面是前端拿到資料後的一些操作 var jsapi ajax success function str function jsapicall function callpay else if document.attachevent else 把乙個官方sdk整合到thinkphp框架中...
微信支付JSAPI支付
1.介紹 2.商戶號配置 開發jsapi支付時,在統一下單介面中要求必傳使用者openid,而獲取openid則需要您在公眾平台設定獲取openid的網域名稱 只有被設定過的網域名稱才是乙個有效的獲取openid的網域名稱,否則將獲取失敗。由於我們公司只需要獲取code調取後台介面換取openid,...
微信支付JSAPI
應用場景有 我們這裡採用的是pc 場景。1 申請入口 登入商戶平台 產品中心 我的產品 支付產品 jsapi支付 2 瀏覽開發文件 這裡面幾乎介紹了全部流程。商戶號 公眾平台的商戶號 b 在公眾平台設定網頁授權網域名稱 開發jsapi支付時,在統一下單介面中要求必傳使用者openid,而獲取open...