SpringBoot項目后台對接微信支付開發——微信統一下單接口開發


開始沒找到微信支付的sdk。自己根據官方給的接口文檔純手寫,各種xml轉JSON,JSON轉xml,加密解密,簽名、、、、整個人都是崩潰的

開發的第三天,發現有官方的sdk。心情一下子豁然開朗,整個人都輕松了一截。

話不多說,直接上代碼

首先當然是引入微信支付的依賴包啦

<dependency>
<groupId>com.github.wxpay</groupId>
<artifactId>wxpay-sdk</artifactId>
<version>0.0.3</version>
</dependency>

大家可以進去源碼里面看看,各個方法都被封裝得挺好得,從原生過來的我淚流滿面
下面以微信統一下單接口開發為例
  /** @description 微信統一下單接口
* @Author wenjing
* @Date 10:46 2019/5/13
* @Param [wxUnifiedorderModel]
* @return com.zyhp.utils.Result
**/
public Result wxUnifiedorder(WxUnifiedorderModel wxUnifiedorderModel)throws Exception{
    //new一個微信支付,實際開發中最好使用單例模式
MyWxConfig config = new MyWxConfig();
WXPay wxPay = new WXPay(config);
SortedMap<String, String> params = new TreeMap<String, String>();
params.put("device_info", "WEB"); //設備號
params.put("body", wxUnifiedorderModel.getBody());//商品描述
//生成商戶訂單號
long serialNumMax = redisUtil.incr("outTradeNo");
String outTradeNo = CommonUtil.getDateStr(new Date())+serialNumMax;
wxUnifiedorderModel.setOutTradeNo(outTradeNo);
params.put("out_trade_no", outTradeNo);
params.put("total_fee", wxUnifiedorderModel.getTotalFee().movePointRight(2).toString());
// params.put("time_start", time_start);
params.put("trade_type","JSAPI");
params.put("notify_url",Constans.SERVICE_HOST+"/payInfoBack");
params.put("spbill_create_ip",wxUnifiedorderModel.getSpbillCreateIp());
Map<String,String> resultMap = wxPay.unifiedOrder(params);
if("FAIL".equals(resultMap.get("return_code"))){
return new Result("-1","參數格式錯誤",null);
}
if("SUCCESS".equals(resultMap.get("result_code"))){
return new Result("-1",resultMap.get("err_code_des"),null);
}
//保存該訂單記錄
wxUnifiedorderModel.setTimeStart(new Date());
wxUnifiedorderModelMapper.insert(wxUnifiedorderModel);
return new Result("1","成功",resultMap.get("prepay_id"));
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM