多商户情况下处理微信支付回调

在微信支付提供的phpJDK以及使用overtrue/wechat包处理微信回调的都必须先加载商户号以及APP_id等配置

所以如果我们有多个微信支付商户,在处理之前无法先加载对应的配置,便无法正确处理是哪个商户号的回调订单

处理这种情况的也很简单,只需要想获取微信支付回调的信息,读取其中的商户订单号,查找相应的支付商户配置后再做操作。

1.获取微信回调信息代码:

functiongetNotifyData()

{

    $xml=$GLOBALS['HTTP_RAW_POST_DATA'];

    if(!$xml){

    throw new\Exception("xml数据异常!");

}

//将XML转为array

//禁止引用外部xml实体

    libxml_disable_entity_loader(true);

    $res = json_decode(json_encode(simplexml_load_string($xml,'SimpleXMLElement',LIBXML_NOCDATA)),true);

    return $res;

}

以上代码使用微信提供的SDK中获得的,很简单,我只是记录下一个解决问题的思路。不知道有谁也跟我一下碰到过。

你可能感兴趣的:(多商户情况下处理微信支付回调)