Heim  >  Artikel  >  Backend-Entwicklung  >  Wie gehe ich mit dem Rückruf im WeChat-Scancode-Zahlungsmodus 2 um?

Wie gehe ich mit dem Rückruf im WeChat-Scancode-Zahlungsmodus 2 um?

WBOY
WBOYOriginal
2016-08-04 09:20:581702Durchsuche

ini_set('date.timezone','Asia/Shanghai');
error_reporting(E_ERROR);

require_once "../lib/WxPay.Api.php";
require_once '../lib/WxPay.Notify.php';
require_once 'log.php';

//初始化日志
$logHandler= new CLogFileHandler("../logs/".date('Y-m-d').'.log');
$log = Log::Init( $logHandler, 15);

Klasse PayNotifyCallBack erweitert WxPayNotify
{

//查询订单
public function Queryorder($transaction_id)
{
    $input = new WxPayOrderQuery();
    $input->SetTransaction_id($transaction_id);
    $result = WxPayApi::orderQuery($input);
    Log::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)
{
    Log::DEBUG("call back:" . json_encode($data));
    $notfiyOutput = array();
    
    if(!array_key_exists("transaction_id", $data)){
        $msg = "输入参数不正确";
        return false;
    }
    //查询订单,判断订单真实性
    if(!$this->Queryorder($data["transaction_id"])){
        $msg = "订单查询失败";
        return false;
    }
    return true;
}

}

Log::DEBUG("begin notify");
$notify = new PayNotifyCallBack();
$notify->Handle(false);
?>

回复内容:

ini_set('date.timezone','Asia/Shanghai');
error_reporting(E_ERROR);

require_once "../lib/WxPay.Api.php";
require_once '../lib/WxPay.Notify.php';
require_once 'log.php';

//初始化日志
$logHandler= new CLogFileHandler("../logs/".date('Y-m-d').'.log');
$log = Log::Init( $logHandler, 15);

Klasse PayNotifyCallBack erweitert WxPayNotify
{

//查询订单
public function Queryorder($transaction_id)
{
    $input = new WxPayOrderQuery();
    $input->SetTransaction_id($transaction_id);
    $result = WxPayApi::orderQuery($input);
    Log::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)
{
    Log::DEBUG("call back:" . json_encode($data));
    $notfiyOutput = array();
    
    if(!array_key_exists("transaction_id", $data)){
        $msg = "输入参数不正确";
        return false;
    }
    //查询订单,判断订单真实性
    if(!$this->Queryorder($data["transaction_id"])){
        $msg = "订单查询失败";
        return false;
    }
    return true;
}

}

Log::DEBUG("begin notify");
$notify = new PayNotifyCallBack();
$notify->Handle(false);
?>

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn