/** * 组装包含支付信息的url(模式2) */ public function get_payurl() { require_once BASE_PATH . '/api/payment/wxpay/lib/WxPay.Api.php'; require_once BASE_PATH . '/api/payment/wxpay/WxPay.NativePay.php'; require_once BASE_PATH . '/api/payment/wxpay/log.php'; $logHandler = new CLogFileHandler(BASE_DATA_PATH . '/log/wxpay/' . date('Y-m-d') . '.log'); $Logwx = Logwx::Init($logHandler, 15); //统一下单 $input = new WxPayUnifiedOrder(); $input->SetBody($this->_order_info['pay_sn'] . '订单'); // $input->SetBody(C('site_name').'订单'); $input->SetAttach($this->_order_info['order_type'] == 'vr_order' ? 'v' : 'r'); $input->SetOut_trade_no($this->_order_info['pay_sn']); $input->SetTotal_fee($this->_order_info['api_pay_amount'] * 100); $input->SetTime_start(date("YmdHis")); $input->SetTime_expire(date("YmdHis", time() + 3600)); $input->SetGoods_tag(''); $input->SetNotify_url(SHOP_SITE_URL . '/api/payment/wxpay/notify_url.php'); $input->SetTrade_type("NATIVE"); //$input->SetOpenid($openId); $input->SetProduct_id($this->_order_info['pay_sn']); $result = WxPayApi::unifiedOrder($input); // header("Content-type:text/html;charset=utf-8"); // print_R($result);exit; Logwx::DEBUG("unifiedorder-:" . json_encode($result)); return $result["code_url"]; }
<?php // ini_set('date.timezone','Asia/Shanghai'); // error_reporting(E_ERROR); defined('InShopNC') or exit('Access Invalid!'); require_once BASE_PATH . '/api/payment/wxpay/lib/WxPay.Api.php'; require_once BASE_PATH . '/api/payment/wxpay/lib/WxPay.Notify.php'; require_once BASE_PATH . '/api/payment/wxpay/log.php'; //初始化日志 $logHandler = new CLogFileHandler(BASE_DATA_PATH . '/log/wxpay/' . date('Y-m-d') . '.log'); $logwx = Logwx::Init($logHandler, 15); class PayNotifyCallBack extends WxPayNotify { //查询订单 public function Queryorder($transaction_id) { $input = new WxPayOrderQuery(); $input->SetTransaction_id($transaction_id); $result = WxPayApi::orderQuery($input); Logwx::DEBUG("query:" . json_encode($result)); if (array_key_exists("return_code", $result) && array_key_exists("result_code", $result) && $result["return_code"] == "SUCCESS" && $result["result_code"] == "SUCCESS") { return true; } return false; } //重写回调处理函数 public function NotifyProcess($data, &$msg) { Logwx::DEBUG("call back:" . json_encode($data)); $notfiyOutput = array(); if (!array_key_exists("transaction_id", $data)) {