前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >微信支付-支付结果通用通知

微信支付-支付结果通用通知

作者头像
CrazyCodes
发布2018-09-18 11:04:27
2K0
发布2018-09-18 11:04:27
举报
文章被收录于专栏:Grace developmentGrace development

微信官方文档非人类,在此整理

支付结果通用通知微信是xml的形式发送给你的,但貌似必须要用这个接收

代码语言:javascript
复制
$returnResult = $GLOBALS['HTTP_RAW_POST_DATA'];

使用$_POST接收不了,要问为何,百度脑补

接收到的数据与官方提供的字段无区别

官方demo 提供了解析方法 – 以下是我简化后的

代码语言:javascript
复制
public function FromXml($xml)
{

     libxml_disable_entity_loader(true);
     return json_decode(json_encode(simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA)), true);

}

解析后则是以下格式

代码语言:javascript
复制
array(
   'appid':'xxxxx',
   ....     
);

所有数据通过自己的逻辑保存后需要告诉微信一声,这时候需要再将代码组成xml发送给微信,微信给定了固定格式和字段

代码语言:javascript
复制
<xml>
  <return_code><![CDATA[SUCCESS]]></return_code>
  <return_msg><![CDATA[OK]]></return_msg>
</xml>

还是内部提供的xml组成的方法

代码语言:javascript
复制
public function ToXml($data)
    {
        $xml = "<xml>";
        foreach ($data as $key=>$val)
        {

            if (is_numeric($val)){
                $xml.="<".$key.">".$val."</".$key.">";
            }else{
                $xml.="<".$key."><![CDATA[".$val."]]></".$key.">";
            }



        }
        $xml.="</xml>";

        return $xml;
    }

有问题下方留言~

最后修改:2年前 2016-07-11

© 著作权归作者所有

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016-07-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档