spring 生成支付二维码
时间: 2023-09-03 08:15:43 浏览: 53
在 Spring 中生成支付二维码可以使用第三方库,比如 Zxing 或 Qrcode。以下是使用 Zxing 生成支付宝和微信支付二维码的示例代码:
1. Maven 依赖:
```xml
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>core</artifactId>
<version>3.4.1</version>
</dependency>
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>javase</artifactId>
<version>3.4.1</version>
</dependency>
```
2. 生成支付宝二维码:
```java
public static void generateAlipayQRCode(String content, OutputStream outputStream, int width, int height) throws Exception {
String format = "png";
Hashtable<EncodeHintType, String> hints = new Hashtable<>();
hints.put(EncodeHintType.CHARACTER_SET, "UTF-8");
BitMatrix bitMatrix = new MultiFormatWriter().encode(content, BarcodeFormat.QR_CODE, width, height, hints);
MatrixToImageWriter.writeToStream(bitMatrix, format, outputStream);
}
```
使用示例:
```java
OutputStream outputStream = new FileOutputStream(new File("alipay.png"));
generateAlipayQRCode("alipay://xxxxxxx", outputStream, 200, 200);
outputStream.flush();
outputStream.close();
```
3. 生成微信支付二维码:
```java
public static void generateWechatQRCode(String content, OutputStream outputStream, int width, int height) throws Exception {
String format = "png";
Hashtable<EncodeHintType, String> hints = new Hashtable<>();
hints.put(EncodeHintType.CHARACTER_SET, "UTF-8");
BitMatrix bitMatrix = new MultiFormatWriter().encode(content, BarcodeFormat.QR_CODE, width, height, hints);
MatrixToImageWriter.writeToStream(bitMatrix, format, outputStream);
}
```
使用示例:
```java
OutputStream outputStream = new FileOutputStream(new File("wechat.png"));
generateWechatQRCode("weixin://xxxxxxx", outputStream, 200, 200);
outputStream.flush();
outputStream.close();
```