`
a729812804
  • 浏览: 41867 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

微信 wxnotifyurl 支付回调方法

 
阅读更多

/**

* 微信支付微信 回调。java版

* @return

* @throws IOException

* @throws QQConnectException

*/

@SuppressWarnings( { "unchecked", "static-access" })

public String wxnotifyurl() throws IOException, QQConnectException {

logger.error("微信 回调 wxnotifyurl()   start ============");

String inputLine;

Orderpay orderpay = new Orderpay();// 订单支付信息

Order order = new Order();

Order order2 = new Order();

String notityXml = "";

String resXml = "";

Map<String, String> map = new HashMap();

try {

while ((inputLine = getRequest().getReader().readLine()) != null) {

notityXml += inputLine;

}

getRequest().getReader().close();

logger.error("微信 回调 wxnotifyurl()   notityXml ============" + notityXml);

map = XMLUtil.doXMLParse(notityXml);

} catch (JDOMException e) {

logger.error("JDOMException===" + e.getMessage());

throw new NullPointerException("JDOMException参数异常");

} catch (IOException e) {

logger.error("IOException====" + e.getMessage());

throw new NullPointerException("IOException参数异常");

}// 解析微信返回的信息,以Map形式存储便于取值

if (!map.isEmpty()) {

orderpay.setOrderid(map.get("out_trade_no").substring(0, map.get("out_trade_no").length() - 2));

orderpay.setPaystatus(map.get("result_code").equals("SUCCESS") ? "y" : "n");

orderpay.setPayamount(map.get("total_fee").length() > 0 ? Double.parseDouble(map.get("total_fee")) / 100.00 : 0.00);

orderpay.setCreatetime(map.get("time_end"));

orderpay.setConfirmuser(map.get("openid"));

orderpay.setPaymethod(orderpay.orderpay_paymethod_wxpayescow);

// order.setPaystatus(orderpay.getPaystatus());

order.setId(orderpay.getOrderid());

orderid = orderpay.getOrderid();

order2 = orderService.selectOne(order);

 

/************************************** 支付异常情况处理 *******************************************************/

if (order2 == null) {

if ("n".equals(map.get("result_code").equals("SUCCESS") ? "y" : "n")) {

 

} else if ("y".equals(map.get("result_code").equals("SUCCESS") ? "y" : "n")) {

// 支付成功

resXml = "<xml>" + "<return_code><![CDATA[SUCCESS]]></return_code>" + "<return_msg><![CDATA[OK]]></return_msg>" + "</xml> ";

logger.error("resXml 支付处理成功 ================" + resXml.toString());

}

 

}

/************************************** 支付情况处理END *******************************************************/

}

BufferedOutputStream out = new BufferedOutputStream(getResponse().getOutputStream());

out.write(resXml.getBytes());

out.flush();

out.close();

logger.error("微信 回调 wxnotifyurl()   end ============");

return null;

}

 

分享到:
评论

相关推荐

    PHP微信H5支付完整代码(包含回调后台代码),改好商户资料和您回调地址即可使用

    4. **回调地址**:回调地址(notify_url)是微信支付系统在用户完成支付后向你的服务器发送支付结果通知的URL。你需要确保这个地址能够正常访问,并且代码能正确处理这些通知。 5. **回调代码**:这部分代码通常...

    微信支付demo 最新版 V3.3.7 有微信支付加 微信回调所有程序 可直接运行

    4. **微信支付回调(notify_url)**:当用户完成支付后,微信服务器会通过指定的回调URL向商户服务器发送异步通知,告知支付结果。Demo包含了处理这些回调事件的代码,通常包括验证签名、确认订单状态、更新数据库等...

    微信支付回调工具类

    微信支付回调工具类是开发微信支付功能时必不可少的一部分,它主要负责处理微信支付服务器与商户服务器之间的通信。在用户成功下单并完成支付后,微信支付系统会通过回调接口将支付结果通知给商户,这时就需要一个回...

    微信公众号支付回调验证

    微信公众号支付回调验证微信公众号支付回调验证微信公众号支付回调验证微信公众号支付回调验证微信公众号支付回调验证微信公众号支付回调验证微信公众号支付回调验证

    微信退款回调AES解密--JDK8版本

    微信支付退款回调接口,需要对req_info字段进行解密,其中需要用到AES-256进行加解密,这是修改本地jdk/jre文件的两个jar包,因为我是jdk8,所以此处是jdk8版本的,敬请下载,相关博文可以点击我博客名进行查询

    springboot对接微信小程序支付以及回调详细代码

    在本文中,我们将深入探讨如何使用SpringBoot框架与微信小程序进行支付对接,并实现支付回调功能。这个过程涉及多个步骤,包括配置、接口开发、微信支付API的调用以及回调处理。我们将按照描述中的"非常详细,完整...

    微信支付-商户支付模式一url接口回调-java版

    总结起来,微信支付商户支付模式一的Java版实现主要涉及设置回调URL、接收和验证回调请求、处理支付结果以及返回响应等一系列步骤。开发者需要对微信支付的API有深入理解,并具备扎实的Java编程基础,才能顺利完成...

    php微信支付+回调,js轮询实现2018年11月更新

    在本文中,我们将深入探讨如何使用PHP实现在微信平台上的支付功能,并结合JavaScript进行轮询检查支付状态,以及处理微信支付的回调通知。这个主题基于2018年11月更新的技术,确保了其可用性和适用性。 首先,我们...

    微信公众号无限回调系统开源源码

    微信公众号无限回调系统是一种能够帮助企业实现自动化客服的工具。它可以通过设置关键词和回复内容,让用户在发送消息后得到相应的自动回复。 此外,该系统还支持多级菜单、图文混排等功能,使得用户与企业之间的...

    微信app支付-回调-退款.rar

    回调通知有两种类型:同步回调(即用户支付后立即返回的结果)和异步回调(微信服务器后续发送的通知)。同步回调主要用于快速反馈用户,而异步回调是保证交易信息准确性的关键,因为它能防止网络延迟或异常导致的未...

    C#版微信支付V3.3.6Demo包含回调页

    C#版微信支付V3.3.6Demo包含回调页,可以借鉴使用,

    微信支付+回调轮询.rar

    这个“微信支付+回调轮询.rar”压缩包提供了解决扫码支付完成后页面静止不动的问题,通过js轮询技术确保了支付成功的处理。 1. **微信支付流程** - 用户扫描二维码或点击链接启动支付流程。 - 商户系统后台接收到...

    微信企业号回调模式实例(Java版)

    在微信企业号的应用开发中,回调模式是一种关键的交互机制,它使得企业号可以与外部系统进行实时的数据同步和通信。本实例将聚焦于Java版本的实现,通过深入理解回调模式,我们可以更好地构建稳定、高效的微信企业号...

    C#+WebApi_微信支付源码demo

    首先要申请 微信扫码支付的权限,即:开通微支付,然后 在Config.cs中配置 你申请的信息 /* 微信公众号信息配置 * APPID:绑定支付的APPID(必须配置) * MCHID:商户号(必须配置) * KEY:商户支付密钥,参考...

    Asp微信支付接口V5_Asp微信支付接口V5_

    5. **异步通知**:在支付完成后,微信服务器会通过异步方式将支付结果推送给商户服务器,这个过程称为回调通知。开发者需要在`wx_config.asp`或者其他相关文件中设置回调函数,来处理这些通知并更新订单状态。 6. *...

    Asp微信支付系统接口代码下载 修复版+微信扫码支付+H5支付+微信公众号支付+微信红包支付+微信刷卡支付等等

    SP 扫码支付是用的最普遍的一种接口,所有 ASP 的网站都可以整合使用,微信扫码支付结果会实时在微信中回调显示,同时实现支付下单结果返回,并入库自动更新订单操作。 微信公众号支付是基于微信公众号而开发的支付...

    java-spring boot项目之微信支付功能实现(微信公众号支付 代码demo

    最近在做微信公众号支付,看文档做的,感觉踩了不少坑,为了避免后人采坑,所以写下此demo----微信支付功能实现(微信公众号支付)

    微信公众号无限回调授权系统源码

    准备工具:微信公众号授权无限回调工具 认证过的公众号,记着加白名单IP,这个网上教程很多就是在微信公众号设置里面加IP白名单 域名一枚,也需要微信公众号加进去受访信任,服务器一台。 LINUX服务器安装宝塔,...

    java实现企业微信回调配置案例

    在企业微信的开发中,回调配置是至关重要的一个环节,它允许系统在特定事件发生时自动调用预先设定的接口,进行数据同步或业务处理。本案例将详细讲解如何使用Java来实现企业微信的回调配置,并提供相关的工具代码...

    微信支付javaSpringboot对接开发微信支付

    - 设置回调URL(`payNotifyUrl`和`refundNotifyUrl`)以接收微信支付服务器发送的通知。 #### 四、测试与调试 1. **单元测试**: - 对关键接口进行单元测试以确保逻辑正确性。 2. **集成测试**: - 在模拟环境下...

Global site tag (gtag.js) - Google Analytics