微信支付之退款查询
来源:互联网 发布:在手机淘宝上怎样申诉 编辑:程序博客网 时间:2024/05/01 04:50
应用场景
提交退款申请后,通过调用该接口查询退款状态。退款有一定延时,用零钱支付的退款20分钟内到账,银行卡支付的退款3个工作日后重新查询退款状态。
官方文档: http://pay.weixin.qq.com/wiki/doc/api/index.php?chapter=9_5
参考代码:
package com.wingo.action.config;
import java.util.Map;
import java.util.SortedMap;
import java.util.TreeMap;
import com.wingo.util.CommonUtil;
import com.wingo.util.ConfigUtil;
import com.wingo.util.PayCommonUtil;
import com.wingo.util.XMLUtil;
/**
*
* @author李欣桦
* @date 2015-1-15下午2:00:49
* 退款查询
*/
publicclassCheckRefundAction {
publicstaticvoid main(String[] args)throws Exception {
SortedMap<Object,Object> parameters =newTreeMap<Object,Object>();
parameters.put("appid", ConfigUtil.APPID);
parameters.put("mch_id", ConfigUtil.MCH_ID);
//parameters.put("device_info","");//微信支付分配的终端设备号
parameters.put("nonce_str", PayCommonUtil.CreateNoncestr());
//下列四个单号同时存在优先级refund_id>out_refund_no>transaction_id>out_trade_no
parameters.put("transaction_id","1008010446201412030006459614");//微信交易单号
parameters.put("out_trade_no","1340297960");//商户交易单号
parameters.put("out_refund_no","");//商户退款单号
parameters.put("refund_id","");//微信退款单号
String sign = PayCommonUtil.createSign("utf-8",parameters);
parameters.put("sign", sign);
String reuqestXml = PayCommonUtil.getRequestXml(parameters);
String result =CommonUtil.httpsRequest(ConfigUtil.CHECK_REFUND_URL,"POST",reuqestXml);
System.out.println(result);
Map<String, String> map =XMLUtil.doXMLParse(result);
String returnCode = map.get("return_code");
String resultCode = map.get("result_code");
if(returnCode.equalsIgnoreCase("SUCCESS")&&resultCode.equalsIgnoreCase("SUCCESS")){
String refundCount = map.get("refund_count");
Integer count = new Integer(refundCount);
for (inti = 0; i < count; i++) {
StringrefundStatus = (String) map.get("refund_status_"+i);
//refudnStatus有如下状态:
//SUCCES—退款成功,FAIL—退款失败,PROCESSING—退款处理中NOTSURE—未确定,需要商户原退款单号重新发起
//CHANGE—转入代发,退款到银行发现用户的卡作废或者冻结了,导致原路退款银行卡失败,资金回流到商户的现金帐号,需要商户人工干
//预,通过线下或者财付通转账的方式进行退款。
if(refundStatus.equalsIgnoreCase("SUCCESS")){
//TODO退款成功操作
System.out.println("退款状态为已成功退款");
}
}
}
}
}
上述代码中相关工具类的下载地址如下:
http://download.csdn.net/detail/u011160656/8354883
- 微信支付之退款查询
- 微信支付之退款
- 微信支付,退款
- 微信支付退款接口
- 微信支付退款接口
- 微信api退款及退款查询
- 微信api退款及退款查询
- 使用Delphi Xe8 开发微信功能 -- (三)微信支付商户平台之查询退款详情
- 微信支付java版本之退款申请
- 微信支付java版本之退款申请
- 一个PHP文件搞定微信支付系列之退款
- 微信支付-退款(v3版微信支付)
- java-微信支付-微信退款
- 微信支付开发查询退款-公众号支付开发-视频教程11
- 微信支付退款异常摘记
- 微信支付、退款配置笔记
- 微信及支付宝退款记录.
- 微信支付接口 退款接口
- SDJZU_新生_字符串匹配(KMP)_A - Number Sequence
- xcode 6加入pch文件
- Leetcode -- Jump Game
- 封装自定义数组类(java版线性表)
- 第一篇文章
- 微信支付之退款查询
- 幻方解法之错位补角法生成奇阶幻方
- 几种排序算法及其代码实现(一)
- 快速矩阵幂HDU2254
- C++遍历文件夹下所有文件
- 初学者学编程_ACM_奖章引出的问题
- java 环境搭建,以及hello,world 。
- 正则表达式学习心得
- CentOS 7 firewalld与iptables