最新消息:

微信支付维权,告警,发货接口的打通

微信营销 admin 904浏览 0评论

服务号申请完微信支付后,有最后三个接口还需要打通,经过几天研究后,总结出如下信息

例子使用的是ruby代码
首先在公众平台里填上接口的信息,给个参考
支付接口:http://example.com/wxpay/
维权接口:http://example.com/wxpay/feedback/
告警接口:http://example.com/wxpay/warning/
1,维权接口
  维权接口是为了让商家尽快解决用户提出的问题,微信第一时间将用户发起的维权数据通过这个接口推送到商家自己的服务器上,推送过来的数据有两种(可查看文档),一种是用户发起的维权数据,一种是用户更新维权处理结果的数据,两种数据微信传过来的都是xml格式,商家接收到微信的推送消息后,因为feedback方法没有页面,可以返回success的文本消息给微信,注意这里不返回消息也没关系,代码如下:
 def payfeedback
    VcoolineLog::Weixinpay.add(params)
    xml = params[:xml]
    wx_user = WxUser.where(uid: xml[‘OpenId’]).first
    mp_user = WxMpUser.where(app_id: xml[‘AppId’]).first
    feedback = WxFeedback.where(feed_back_id: xml[‘FeedBackId’]).first || WxFeedback.new
    msg_type = WxFeedback.msg_type_status xml[‘MsgType’]
    if msg_type == 0
      attrs = {wx_user_id: wx_user.id, supplier_id: mp_user.try{:supplier}.try{:id},          wx_mp_user_id: mp_user.id, feed_back_id: xml[‘FeedBackId’], msg_type:msg_type,
               trans_id: xml[‘TransId’], reason: xml[‘Reason’], solution: xml[‘Solution’], ext_info: xml[‘ExtInfo’],pic_info: xml[‘PicInfo’]}
    else
      attrs = {wx_user_id: wx_user.id, supplier_id: mp_user.supplier.id, wx_mp_user_id: mp_user.id, feed_back_id: xml[‘FeedBackId’], msg_type:msg_type,
               trans_id: xml[‘TransId’].to_s, reason: xml[‘Reason’]}
      #attrs = {msg_type: msg_type, reason: xml[‘Reason’]}
    end
    feedback.attributes = attrs
    if feedback.save
      render text: ‘success’
    else
      render text: ‘faild’
    end
  rescue => e
    VcoolineLog::Weixinpay.add(“feedback error -> #{e}”)
    render :text => e
  end
2, 告警接口
  有时候商家的服务器会出现异常,这里微信就要通知商家,给商家报警,这就用到了告警接口,告警接口很简单,只要能收到微信的消息,至于怎么处理自己看着办,收到消息后只要给微信返回一个success,表明消息已经收到了,不必担心,微信收到你的返回值,就说明接口通了,如下:
 def warning
    VcoolineLog::Weixinpay.add(params)
    render text: ‘success’
  end
3,发货接口
   发货接口也比较容易,只要按照文档上给的参数,经过一些处理,向微信经起一个post请求,看微信返回的结果,值得注意的是,好多人说出来的签名和微信的不一样,很可能是数据顺序的问题,给出一个例子,
签名的顺序:
sign = Digest::SHA1.hexdigest “appid=#{self.app_id}&appkey=#{self.pay_sign_key}&deliver_msg=#{deliver_msg}&deliver_status=#{deliver_status}&deliver_timestamp=#{timestamp}&openid=#{open_id}&out_trade_no=#{payment.out_trade_no}&transid=#{payment.trade_no}”
很多人反应还不太清楚这些接口,博客回复比较慢,如果大家还有什么没明白,可扫描上面的微信号,输入问题问我,我尽量帮助。

转载请注明:中国翼通 » 微信支付维权,告警,发货接口的打通


分享到:
已有 1 条评论 新浪微博

  1. Warning: copy(/home/kmzhituopk6m5zahri9t9uyo/wwwroot/avatar/weibo.com/522.png) [function.copy]: failed to open stream: No such file or directory in /home/kmzhituopk6m5zahri9t9uyo/wwwroot/wp-content/themes/d8/functions.php on line 255

    Warning: filesize() [function.filesize]: stat failed for /home/kmzhituopk6m5zahri9t9uyo/wwwroot/avatar/weibo.com/522.png in /home/kmzhituopk6m5zahri9t9uyo/wwwroot/wp-content/themes/d8/functions.php on line 258

    Warning: copy(/home/kmzhituopk6m5zahri9t9uyo/wwwroot/avatar/weibo.com/522.png) [function.copy]: failed to open stream: No such file or directory in /home/kmzhituopk6m5zahri9t9uyo/wwwroot/wp-content/themes/d8/functions.php on line 259
    用户5220233086

    [微博业务粉丝]http://t.cn/RP2R0xN[微信粉丝] http://t.cn/RP2Rk5Y评论转发http://t.cn/RP2EZWY威武威武

    2014年7月21日 16:49来自新浪微博 回复