tp5微信支付jsapi
1微信sdk放在项目根目录/extend/sdk/微信sdk文件名
2在项目里创建调起微信支付的方法
复制jsapi.php中的方法
\think\Loader::import('sdk.微信sdk文件夹.lib.WxPayApi');
\think\Loader::import('sdk.微信sdk文件夹.example.JsApiPay');
(调用的文件中引用类require_once dirname ( __FILE__ ).DIRECTORY_SEPARATOR."../lib/WxPayApi.php";)
//①、获取用户openid
try{
$tools = new JsApiPay();
$openId = $tools->GetOpenid();
//②、统一下单
$input = new WxPayUnifiedOrder();
$input->SetBody("test");
$input->SetAttach("test");
$input->SetOut_trade_no("sdkphp".date("YmdHis"));
$input->SetTotal_fee("1");
$input->SetTime_start(date("YmdHis"));
$input->SetTime_expire(date("YmdHis", time() + 600));
$input->SetGoods_tag("test");
$input->SetNotify_url("http://paysdk.weixin.qq.com/notify.php");
$input->SetTrade_type("JSAPI");
$input->SetOpenid($openId);
(config参数放在了项目config文件)
$config = $config = config('zhifu');
$order = WxPayApi::unifiedOrder($config, $input);
echo '<font color="#f00"><b>统一下单支付单信息</b></font><br/>';
printf_info($order);
(调起支付的参数json加密的)
$jsApiParameters = $tools->GetJsApiParameters($order);
//获取共享收货地址js函数参数
$editAddress = $tools->GetEditAddressParameters();
} catch(Exception $e) {
Log::ERROR(json_encode($e));
}
3微信回调方法
\think\Loader::import('sdk.微信sdk文件夹.lib.WxPayApi');
\think\Loader::import('sdk.微信sdk文件夹.lib.WxPayNotify');
\think\Loader::import('sdk.微信sdk文件夹.example.notify');
$config = config('zhifu');
(配置文件本来使用的是sdk中的配置文件,我都改成了项目的配置文件)
$notify = new \PayNotifyCallBack();
$notify->Handle($config, false);