/*
配置参数
*/
private $config = array(
'appid' => "", /*微信开放平台上的应用id*/
'mch_id' => "", /*微信申请成功之后邮件中的商户id*/
'api_key' => "", /*在微信商户平台上自己设定的api密钥 32位*/
'notify_url' => '' /*自定义的回调程序地址*/
);
//下单
public function getPrePayOrder($body, $out_trade_no, $total_fee){
$url = "https://api.mch.weixin.qq.com/pay/unifiedorder";
$notify_url = $this->config["notify_url"];
$onoce_str = $this->createNoncestr();
$data["appid"] = $this->config["appid"];
$data["body"] = $body;
$data["mch_id"] = $this->config['mch_id'];
$data["nonce_str"] = $onoce_str;
$data["notify_url"] = $notify_url;
$data["out_trade_no"] = $out_trade_no;
$data["spbill_create_ip"] = $this->get_client_ip();
$data["total_fee"] = $total_fee;
$data["trade_type"] = "APP";
$sign = $this->getSign($data);
$data["sign"] = $sign;
$xml = $this->arrayToXml($data);
$response = $this->postXmlCurl($xml, $url);
//将微信返回的结果xml转成数组
$response = $this->xmlToArray($response);
if($response['result_code']=='SUCCESS' && $response['return_code']=='SUCCESS'){
$response = $this->getOrder($response['prepay_id']);
return ['code'=>1,'msg'=>'调用成功!','data'=>$response];
}else{
return ['code'=>0,'msg'=>$response['err_code_des']];
}
//返回数据
return $response;
}