이 기사는 참조에 대한 Java WeChat 결제 마감 주문에 대한 특정 코드를 공유합니다. 특정 내용은 다음과 같습니다
공식 문서
1. 응용 프로그램 시나리오
가맹점 주문 지불은 실패했으며 새 주문 번호를 생성하고 다시 지불을 시작해야합니다. 반복 결제 시스템 결제 시간 초과를 피하려면 원래 주문 번호의 확인 주문을 호출해야하며 시스템 종료는 더 이상 허용되지 않습니다. 사용자의 주문을 피하려면 체크 오더 인터페이스에 전화하십시오.
참고 : 순서가 생성 된 직후에 주문 오프 인터페이스를 호출 할 수 없으며 최소 통화 시간 간격은 5 분입니다.
2. 인터페이스 주소
https://api.mch.weixin.qq.com/pay/closeorder
3. 요청 매개 변수
가맹점 시스템의 주문 번호에 따라 닫힙니다.
package com.phil.wechatpay.model.rep; java.io.serializable import; / ** * 닫기 주문 요청 매개 변수 (일반 XML) * @Author Phil * @date 2017 년 7 월 25 일 */ public class CloseOrderParams 확장 AbstractPayParams는 시리얼이즈 가능 {/ ** */ private static 최종 긴 SerialVersionUID = -420646492803827244L; 개인 문자열 out_trade_no; // 판매자 주문 번호 공개 문자열 getout_trade_no () {return out_trade_no; } public void setout_trade_no (string out_trade_no) {this.out_trade_no = out_trade_no; }}4. 결과를 반환하십시오
package com.phil.wechatpay.model.resp; java.io.serializable import; com.phil.common.annotation.notrequire import; / ** * 닫기 주문 반환 매개 변수 (<! 개인 문자열 return_code; // 리턴 상태 코드 성공/실패 @NotRequire 개인 문자열 return_msg; // return information/**** return_code는 성공합니다 ****/private string result_code; // 비즈니스 결과 개인 문자열 result_msg; // 비즈니스 결과 설명 @NotRequire private string err_code; // 오류 반환 정보 설명 @NotRequire private string err_code_des; // 오류 반환 정보 설명}
5. 주문을 닫으십시오
package com.phil.wechatpay.controller; import javax.servlet.http.httpservletrequest; import javax.servlet.http.httpservletresponse; org.springframework.beans.factory.annotation.autowired; org.springframework.stereotyp.controller import; org.springframework.web.bind.annotation.requestmapping; org.springframework.web.bind.annotation.responsebody; import com.phil.common.config.wechatconfig; import com.phil.common.util.httprequtil; import com.phil.common.util.payutil; import com.phil.common.util.signatureutil; import com.phil.common.util.xmlutil; import com.phil.wechatpay.model.rep.closeorderparams; import com.phil.wechatpay.model.rep.closeorderResult; import com.phil.wechatpay.service.wechatpayservice; /*** 닫기 주문* @Author Phil* @Date 2017 년 7 월 25 일*/@Controller @RequestMapping ( "/wxpay/") 공개 클래스 wechatpayCloseOrderController {@autowired private wechatpayservice wechatpayservice; @ResponseBody @RequestMapping ( "CloseOrder") public closeOrdeult CloseOrder (httpservletRequest 요청, httpservletResponse 응답)는 예외 {CloseOrderResult CloseOrderResult = null; CloseOrderParams CloseOrderParams = 새로운 CloseOrderParams (); CloseOrderParams.setAppid (wechatconfig.app_id); CloseOrderParams.setmch_id (wechatconfig.mch_id); CloseOrderParams.setNonce_str (payutil.createnoncest ()); CloseOrderParams.setout_trade_no ( ""); // // 요청 된 XML 문자열 closeOrderXML = wechatpayservice.abstractpaytoxml (closeorderPaytoxml); // 서명을 서비스에 병합 // <! httprequtil.httpsdefaultexecute (httprequtil.post_method, wechatconfig.close_order_url, null, closeorderxml); // (signatureUtil.checkissignValidfromweixin (CloseOrderResultXML)) {CloseOrderResult = xmlutil.getObjectFromXML (CloseOrderResultXML, CloseOrderResult.class); } return CloseOrderResult; }}위는이 기사의 모든 내용입니다. 모든 사람의 학습에 도움이되기를 바랍니다. 모든 사람이 wulin.com을 더 지원하기를 바랍니다.