微信APP支付回调

微信APP支付回调

1.回调地址,调起支付时需上传微信端

2.支付完成

3.微信端发回通知

4.使用postman模拟请求

二。后台接受

InputStream inStream = request.getInputStream();
ByteArrayOutputStream outSteam = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int len = 0;
while ((len = inStream.read(buffer)) != -1) {
   outSteam.write(buffer, 0, len);
}
String resultxml = new String(outSteam.toByteArray(), "utf-8");
Map<String, String> wxRetMap = PayCommonUtil.doXMLParse(resultxml);
outSteam.close();
inStream.close();
// 当返回的return_code为SUCCESS则回调成功
      if ("SUCCESS".equalsIgnoreCase(wxRetMap.get("return_code"))) {
          // 通知微信收到回调
          String resXml = "<xml><return_code><![CDATA[SUCCESS]]></return_code><return_msg><![CDATA[OK]]></return_msg></xml>";
          BufferedOutputStream out = new BufferedOutputStream(response.getOutputStream());
          out.write(resXml.getBytes());
          out.flush();
          out.close();

   /**
    * 执行业务代码
    *
    */
   try {
      //保存流水业务
      //附加数据 用户id json {user_id:'1'}
      String userId = wxRetMap.get("attach");//attach为xml标签名称
} catch (Exception e) {
   logger.error(e.getMessage());
   e.printStackTrace();
}

 

------------------------------------------------------------------------xml----------------------------------------参数名称-------------------------------------

<xml><appid><![CDATA[wx56232dd67c7e5a18]]></appid>
<bank_type><![CDATA[CFT]]></bank_type>
<attach><![CDATA[{userId:2,orderId:20191122211726047}]]></attach>
<cash_fee><![CDATA[1]]></cash_fee>
<fee_type><![CDATA[CNY]]></fee_type>
<is_subscribe><![CDATA[N]]></is_subscribe>
<mch_id><![CDATA[1521497251]]></mch_id>
<nonce_str><![CDATA[1546088296922]]></nonce_str>
<openid><![CDATA[oEHJT1opJZLYBWssRlyjq9bSdnao]]></openid>
<out_trade_no><![CDATA[10657298351779092719122609746693]]></out_trade_no>
<result_code><![CDATA[SUCCESS]]></result_code>
<return_code><![CDATA[SUCCESS]]></return_code>
<sign><![CDATA[2EB71F6237E04C3DA4B1509A502E8F62]]></sign>
<time_end><![CDATA[20181229205830]]></time_end>
<total_fee>1</total_fee>
<trade_type><![CDATA[MWEB]]></trade_type>
<transaction_id><![CDATA[4200000224201812291041578058]]></transaction_id>
</xml>

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值