/**
* 微信支付
* @param $out_trade_no [商户自己的订单号码注意唯一]
* @param $body [商品描述]
* @param $attach [附加数据]
* @param $total_fee [付款金额]
* @param $notify_url [通知地址]
*/
function WxcodePay($out_trade_no,$body,$attach,$total_fee,$notify_url) {
//使用统一支付接口
$unifiedOrder = new UnifiedOrder_pub();
//设置统一支付接口参数
//设置必填参数
//appid已填,商户无需重复填写
//mch_id已填,商户无需重复填写
//noncestr已填,商户无需重复填写
//spbill_create_ip已填,商户无需重复填写
//sign已填,商户无需重复填写
$unifiedOrder->setParameter("body",$body);//商品描述
//自定义订单号,此处仅作举例
// $timeStamp = time();
// $out_trade_no = date("YmdHis").rand(1000,9999).$timeStamp.rand(1000,9999);
$unifiedOrder->setParameter("out_trade_no",$out_trade_no);//商户订单号
// $unifiedOrder->setParameter("total_fee",$total_fee);//总金额
$unifiedOrder->setParameter("total_fee",'1');//总金额
$unifiedOrder->setParameter("notify_url",$notify_url);//通知地址
$unifiedOrder->setParameter("trade_type","NATIVE");//交易类型
//非必填参数,商户可根据实际情况选填
//$unifiedOrder->setParameter("sub_mch_id","XXXX");//子商户号
//$unifiedOrder->setParameter("device_info","XXXX");//设备号
$unifiedOrder->setParameter("attach",$attach);//附加数据
//$unifiedOrder->setParameter("time_start","XXXX");//交易起始时间
//$unifiedOrder->setParameter("time_expire","XXXX");//交易结束时间
//$unifiedOrder->setParameter("goods_tag","XXXX");//商品标记
//$unifiedOrder->setParameter("openid","$body");//用户标识
// $unifiedOrder->setParameter("product_id",$payid);//商品ID
//获取统一支付接口结果
$unifiedOrderResult = $unifiedOrder->getResult();
//商户根据实际情况设置相应的处理流程
if ($unifiedOrderResult["return_code"] == "FAIL")
{
//商户自行增加处理流程
echo "通信出错:".$unifiedOrderResult['return_msg']."<br>";
}
elseif($unifiedOrderResult["result_code"] == "FAIL")
{
//商户自行增加处理流程
echo "错误代码:".$unifiedOrderResult['err_code']."<br>";
echo "错误代码描述:".$unifiedOrderResult['err_code_des']."<br>";
}
elseif($unifiedOrderResult["code_url"] != NULL)
{
//从统一支付接口获取到code_url
$code_url = $unifiedOrderResult["code_url"];
//商户自行增加处理流程
//......
}
$ordercode = array($code_url,$unifiedOrderResult);
return $ordercode;
}