后台支付配置文件
GetAppId 小程序APPID
GetMerchantId 商户编号
getAppSecret 公众号密钥
GetKey 商户操作密码,在申请证书的时候设置的
通过wx.login 获取code ,传值到API接口 获取 openid 和 session_key
code 临时登陆凭证,只能使用一次
openid 用户在当前小程序的唯一标识
session_key 对用户数据进行加密签名的密钥,重新用code获取,原来的session_key会失效
wx.login({
success (res) {
if (res.code) {
//发起网络请求
wx.request({
url: 'https://test.com/onLogin',
data: {
code: res.code
}
})
} else {
console.log('登录失败!' + res.errMsg)
}
}
})
发起订单信息提交请求,通过微信支付的API接口获取
timeStamp,nonceStr,package,signType,paySign
把值回调给 wx.requestPayment
public function pay($params){
require_once "../extend/wxpay/lib/WxPay.Api.php";
require_once "../extend/wxpay/example/WxPay.JsApiPay.php";
require_once "../extend/wxpay/example/WxPay.Config.php";
require_once "../extend/wxpay/lib/WxPay.Data.php";
$tools = new \JsApiPay();
$input = new \WxPayUnifiedOrder();
$config = new \WxPayConfig();
if($params=='')
$params = input('param.');
$input->SetBody("小程序购买_".trim($params['order_num']));
$input->SetAttach("小程序购买购买_".trim($params['order_num']));
$input->SetOut_trade_no($params['order_num']);
$input->SetTotal_fee($params['money']); //金额要 *100
$input->SetTime_start(date("YmdHis"));
$input->SetTime_expire(date("YmdHis", time() + 3600));
$input->SetGoods_tag("小程序购买购买_".trim($params['order_num']));
$input->SetNotify_url('http://xxxxx.com.cn/');
$input->SetTrade_type("JSAPI");
$input->SetOpenid($params['openId']);
$order = \WxPayApi::unifiedOrder($config,$input);
// echo var_dump($order);
$jsApiParameters = $tools->GetJsApiParameters($order);
$data=json_decode($jsApiParameters,true);
$data['order_id'] = $params['order_id'];
return $data;
}
wx.requestPayment({
timeStamp: '',
nonceStr: '',
package: '',
signType: 'MD5',
paySign: '',
success (res) { },
fail (res) { }
})