应用场景
以下情况需要调用关单接口:商户订单支付失败需要生成新单号重新发起支付,要对原订单号调用关单,避免重复支付;系统下单后,用户支付超时,系统退出不再受理,避免用户继续,请调用关单接口。
官方文档:http://pay.weixin.qq.com/wiki/doc/api/index.php?chapter=9_3
参考代码如下:
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; /** * * V型知识库 www.vxzsk.com * @date 2015-1-6下午5:13:47 * * 关闭订单接口 */ public class CloseOrderAction { public static void main(String[]args) throws Exception { SortedMap<Object,Object> parameters =new TreeMap<Object,Object>(); parameters.put("appid",ConfigUtil.APPID); parameters.put("mch_id",ConfigUtil.MCH_ID); parameters.put("out_trade_no","1832484260");//商户订单号,要唯一 parameters.put("nonce_str",PayCommonUtil.CreateNoncestr()); String sign =PayCommonUtil.createSign("utf-8", parameters); parameters.put("sign", sign); String reuqestXml =PayCommonUtil.getRequestXml(parameters); String result=CommonUtil.httpsRequest(ConfigUtil.CHECK_ORDER_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")){ //TODO 关闭订单成功的操作 System.out.println("订单关闭成功"); }else { //TODO 关闭订单失败的操作 } } }
上述代码为一个main方法,相关工具类代码下载地址为https://www.vxzsk.com/load/33.html
感觉本站内容不错,读后有收获?小额赞助,鼓励网站分享出更好的教程