PHP
·
发表于 5年以前
·
阅读量:8291
一、维权通知URL
在 微信支付开发(1) 微信支付URL配置 已提到,维权通知URL为:
http://www.doucube.com/wxpay/rights.php
二、用户维权系统接口
用户在公众号进行支付贩买行为出现异常时,通常会投诉到腾讯客服,因此微信侧需要即时了解公众号不用户交易的详情。同时,为了最快效率的解决用户的问题,微信作为连接用户和商户的桥梁,会通过此客服系统即时将问题同步给商户,并将解决结果反馈至用户。
用户在新增投诉单后,微信后台通知(post)商户服务器(payfeedback_url)支付结果。商户可以使用 payfeedback_url 的通知结果进行个性化页面的展示。注:payfeedback_url 请提交至微信相关接口人,微信侧登记后即可用。
后台通知通过请求中的 payfeedback_url 进行,采用post机制。
三、用户申请维权
四、程序实现
在维权程序文件中直接获取提到的xml数据包,程序实现如下:
<?php
$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
logger($postStr);
//日志记录
function logger($log_content)
{
$max_size = 100000;
$log_filename = "log.xml";
if(file_exists($log_filename) and (abs(filesize($log_filename)) > $max_size)){unlink($log_filename);}
file_put_contents($log_filename, date('H:i:s')." ".$log_content."\r\n", FILE_APPEND);
}
?>
当用户新增投诉时,获得XML如下:
<xml>
<OpenId><![CDATA[o0pk9uIVnlY-fJkzFKEbQ6LJ4cFc]]></OpenId>
<AppId><![CDATA[wxc04ce1d87dcd13cd]]></AppId>
<TimeStamp>1401206434</TimeStamp>
<MsgType><![CDATA[request]]></MsgType>
<FeedBackId>13275936403980775178</FeedBackId>
<TransId><![CDATA[1218614901201405273313470595]]></TransId>
<Reason><![CDATA[没有收到货品]]></Reason>
<Solution><![CDATA[退款,并不退货]]></Solution>
<ExtInfo><![CDATA[Test 13456780012]]></ExtInfo>
<AppSignature><![CDATA[1f4a626f59f9ae8007158b0a9510e88db56fa80b]]></AppSignature>
<SignMethod><![CDATA[sha1]]></SignMethod>
</xml>
用户确认处理完毕投诉时
<xml>
<OpenId><![CDATA[111222]]></OpenId>
<AppId><![CDATA[wwwwb4f85f3a797777]]></AppId>
<TimeStamp>1369743511</TimeStamp>
<MsgType><![CDATA[confirm/reject]]></MsgType>
<FeedBackId><![CDATA[5883726847655944563]]></FeedBackId>
<Reason><![CDATA[商品质量有问题]]></Reason>
<AppSignature><![CDATA[bafe07f060f22dcda0bfdb4b5ff756f973aecffa]]></AppSignature>
<SignMethod><![CDATA[sha1]]></SignMethod>
</xml>
开发者再解析这些xml数据,做后续处理就行了。
以上就是对微信支付开发中如何获得维权通知的资料整理,希望能帮到开发微信支付的朋友。