1. 程式人生 > >springboot微信支付,支付二維碼生成

springboot微信支付,支付二維碼生成

https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=9_1 微信掃碼支付開發者文件,裡面會有支付流程的教程

介面連結

URL地址: https://api.mch.weixin.qq.com/pay/unifiedorder 首先,我們需要符合微信平臺的要求,通過介面連線,返回一下該資料,資料型別為xml格式,我們一般獲取code_url的連結即可 {nonce_str=xBkIJKHN7wGdjbgn, code_url= weixin://wxpay/bizpayurl?pr=NbLYUB0
, appid=wx5beac15ca207c40c, sign=2D2972919C12A6C5628198AB0B906D74, trade_type=NATIVE, return_msg=OK, result_code=SUCCESS, mch_id=1503809911, return_code=SUCCESS, prepay_id=wx311714159734431013de08ba0340929716}   接下來需要匯入谷歌 依賴                 <!-- google二維碼生成包 -->                 <dependency>                     <groupId>com.google.zxing</groupId>                     <artifactId>javase</artifactId>                     <version>3.3.0</version>                 </dependency>                                          <dependency>                     <groupId>com.google.zxing</groupId>                     <artifactId>core</artifactId>                     <version>2.0</version>                 </dependency>  
匯入之後,我們就可以使用它的api了. 接下來://生成二維碼配置 Map<EncodeHintType, Object> hints = new HashMap<>(); //設定糾錯等級 hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.L); //編碼型別 hints.put(EncodeHintType.CHARACTER_SET,"UTF-8");   將我們獲取的code_url(前文已提到的微信文件中,我們請求成功會返回一個code_url,這是關鍵,有了它才能生成二維碼,所以請仔細閱讀微信文件),生成二維碼,並且條碼型別設定為QR_CODE(二維碼),寬高為400 BitMatrix bitMatrix = new MultiFormatWriter().encode(code_URl, BarcodeFormat.QR_CODE, 400, 400);  
通過響應輸出流,輸出二維碼 //響應用輸出流輸出 OutputStream outputStream = response.getOutputStream(); MatrixToImageWriter.writeToStream(bitMatrix,"png",outputStream);