Dieser Artikel teilt den spezifischen Code für Java WeChat -Zahlungsabschlussbestellungen für Ihre Referenz. Der spezifische Inhalt ist wie folgt
Offizielle Dokumentation
1. Anwendungsszenarien
Die Zahlung der Händlerbestellung ist fehlgeschlagen und muss eine neue Bestellnummer generieren und die Zahlung erneut einleiten. Sie müssen die Überprüfungsbestellung für die ursprüngliche Bestellnummer anrufen, um eine Zeitlimit für wiederholte Zahlungssysteme zu vermeiden, und die Systemausreise wird nicht mehr akzeptiert. Um die Bestellung des Benutzers zu vermeiden, rufen Sie bitte die Überprüfung der Bestellung an.
Hinweis: Die Bestellschnittstelle kann nicht sofort nach der Erstellung der Bestellung aufgerufen werden und das Mindestanrufzeitsintervall beträgt 5 Minuten.
2. Schnittstellenadresse
https://api.mch.weixin.qq.com/pay/closeorder
3. Anforderungsparameter
Schließen Sie nur gemäß der Bestellnummer Ihres Händlersystems
Paket com.phil.wechatpay.model.rep; importieren java.io.serializable; / ** * Parameter für die Anforderung von Closing Arection (Normal XML) * @Author Phil * @date 25. Juli 2017 * * */ Public Class Closeorderparams erweitert AbstractPayParams implementiert serialisierbare {/ ** * */ private statische endgültige lange Serialversionuid = -4206464928803827244L; private Zeichenfolge out_trade_no; // Händlerbestellnummer public String getout_trade_no () {return out_trade_no; } public void setout_trade_no (string out_trade_no) {this.out_trade_no = out_trade_no; }}V.. Geben Sie das Ergebnis zurück
Paket com.phil.wechatpay.model.resp; importieren java.io.serializable; import com.phil.common.annotation.notRequire; / ** * Return Parameter (mit <! [CData []]> XML -Format) * * @Author Phil * @date 25. Juli 2017 * */ Public Class CloseorderResult erweitert AbstractPayResult -Implementle Serialisierbar {private statische endgültige Serialversionuid = -1996103742747474747816922l; private String return_code; // Statuscode Erfolgserfolg/fail @notRequire private String return_msg; // Informationen zurückgeben/**** return_code ist Erfolg ****/private String result_code; // Business -Ergebnis privat String result_msg; // Geschäftsergebnis Beschreibung @notRequire private String err_code; // Fehlerrückgabeinformationen Beschreibung @notRequire private String err_code_des; // Fehlerrückgabeinformationen Beschreibung}5. Schließen Sie die Bestellung
Paket com.phil.wechatpay.controller; importieren javax.servlet.http.httpServletRequest; importieren javax.servlet.http.httpServletResponse; import org.springframework.beans.factory.annotation.autowired; import org.springframework.stereotype.controller; import org.springframework.web.bind.annotation.RequestMapping; import 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; /*** Naher Bestellung* @Author Phil* @date 25. Juli 2017**/@controller @RequestMapping ("/wxpay/") öffentliche Klasse WechatpayCloseOrderController {@autowired Private Wechatpaysservice Wechatpaysservice; @ResponseBody @RequestMapping ("Closeorder") public closeorderResult closeorder (httpServletRequest -Anfrage, HttpServletResponse -Antwort) löst eine Ausnahme aus {closeorderResult closeorderResult = null; CloseorderParams CloseorderParams = new CloseorderParams (); closeorderParams.setAppid (WechatConfig.app_id); closeorderParams.setmch_id (WechatConfig.mch_id); closeorderParams.setnonce_str (payutil.createNoncestre ()); CloseorderParams.SeTout_TRADE_NO (""); // Pass in // angefordert xml String closeorderxml = wechatpayService.abstractPaytoxml (CloseorderParams); // Führen Sie die Signatur in Service // XML zurück in <[! [CDATA [Erfolg]]> Format String CloseorderResultxml = zurückgeben Httprequtil.httpsdefaultExecute (httprequtil.post_method, wechatconfig.close_order_url, null, closeorderxml); // Signaturverifizierung durchführen if (SignatureUtil.Checkissignvalidfromweixin (closeorderResultxml)) {closeorderResult = xmlutil.getObjectFromxml (CloseorderResultxml, CloseorderResult.class); } return closeorderResult; }}Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.