«

微信支付开发维权通知实例

时间:2024-3-1 19:16     作者:韩俊     分类: PHP


一、维权通知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."rn", 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数据,做后续处理就行了。

以上就是对微信支付开发中如何获得维权通知的资料整理,希望能帮到开发微信支付的朋友。

标签: php php教程

热门推荐