В этой статье разделяет конкретный код для закрытия платежей Java WeChat для вашей ссылки. Конкретный контент заключается в следующем
Официальная документация
1. Сценарии приложения
Оплата заказа торговца не удалась и необходимо сгенерировать новый номер заказа и снова инициировать оплату. Вы должны позвонить в проверку заказа на первоначальный номер заказа, чтобы избежать повторного время ожидания оплаты платежной системы, а выход системы больше не будет приниматься. Чтобы избежать заказа пользователя, позвоните в интерфейс проверки заказа.
Примечание. Интерфейс заказа не может быть вызван сразу после создания заказа, а интервал минимального времени вызовов составляет 5 минут.
2. Адрес интерфейса
https://api.mch.weixin.qq.com/pay/closeorder
3. Запросить параметры
Только закрыто в соответствии с номером заказа вашей торговой системы
пакет com.phil.wechatpay.model.rep; импортировать java.io.serializable; / ** * Параметры запроса заказа закрытия (обычный XML) * @author Phil * @Date 25 июля 2017 г. * */ Public Class ClosdorderParams ExtrablePayParams реализует сериализуемые {/ ** * */ private Static Long Longeruiduid = -42064649288038272444L; Приватная строка 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. вернуть результат
пакет com.phil.wechatpay.model.resp; импортировать java.io.serializable; Import com.phil.common.annotation.notrequire; / ** * Закрыть параметр возврата порядка (с <! [CDATA []]> Format XML) * * @Author Phil * @Date 25 июля 2017 г. * */ Public Class CloseRoderResult расширяет AbstractPayResult Serializable {Private Static Final LongverVerionUID = -199610374274781692222; Приватная строка return_code; // код возврата состояния успех/Fail @notrequire частная строка return_msg; // return information/**** return_code - это успех ****/частная строка result_code; // бизнес -результат частной строки result_msg; // бизнес -результат Описание @notrequire private String err_code; // Ошибка возврата информации Описание @notrequire private String err_code_des; // ОШИБ5. Закройте заказ
пакет com.phil.wechatpay.controller; Импорт javax.servlet.http.httpservletrequest; Импорт javax.servlet.http.httpservletresponse; Импорт org.springframework.beans.factory.annotation.autowired; Import org.springframework.sterotype.controller; Импорт org.springframework.web.bind.annotation.requestmapping; Импорт org.springframework.web.bind.annotation.responsebody; Import com.phil.common.config.wechatconfig; Import com.phil.common.util.httprequtil; Импорт com.phil.common.util.payutil; Импорт 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 25 июля 2017 г.**/@Controller @Requestmapping ("/wxpay/") открытый класс weChatpaycloseorderController {@autowired private wechatpayservice wechatpayservice; @Responsebody @Requestmapping ("closeDord") public showderResult closeRoder (httpservletRequest, httpservletresponse response) бросает исключение {closeDorderResult glosderResult = null; CloseDorderParams CloseRoderParams = new CloseDorderParams (); closeorderparams.setappid (weChatconfig.app_id); closeorderparams.setmch_id (wechatconfig.mch_id); closeorderparams.setnonce_str (payutil.createnoncestr ()); closeorderparams.setout_trade_no (""); // пройти в // запрошенную xml string sloworderxml = wechatpayservice.abstractpaytoxml (closdorderparams); // объединить подпись в обслуживание // return xml в <! [Cdata [Success]]> Format StringRoderResultxml = Httprequtil.httpsdefaultexecute (httprequtil.post_method, weChatconfig.close_order_url, null, glosdorderxml); // Выполнить проверку подписи if (signaturetil.checkissignvalidfromweixin (closdorderresultxml)) {closedorderresult = xmlutil.getObjectFromXml (closeRoderResultxml, closdorderResult.class); } вернуть SlowderResult; }}Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.