Spring Boot accède au paiement personnel sans visa xorpay

Spring Boot accède au paiement personnel sans visa xorpay

xorpay prend en charge de nombreuses méthodes de paiement, ce qui est une bonne nouvelle pour les webmasters personnels. Il est très pratique à utiliser. Cependant, les démos officielles ne sont pas très bonnes, je vais partager ici le processus d'amarrage : xorpay
Insérer la description de l'image ici

1. Préparation préliminaire

Tout d'abord, vous devez demander le paiement WeChat. Une fois l'inscription terminée, suivez simplement les instructions du site Web. Si vous avez des questions, posez-les directement au service client. Le service client est très bon, sauf qu'il est lent à répondre aux messages.
Le site officiel contient les coordonnées du service client

2. Créez un contrôleur et remplissez les informations de base

String name = "测试商品";    //商品名称
String payType = "native";      /支付方式,一般为 native
String price = "0.01";         //价格
String orderId = new Date().toString();      //平台订单号,需要唯一
String notifyUrl = "https://xorpay.com/main";       //回调地址,测试可以用这个,实际项目中需要修改
String appSecret = "youAppSecret";      //你得appSecret-xorpay后台查看

3. Définir les paramètres du corps de la demande

// 设置请求体参数
MultiValueMap<String, String> requestBody = new LinkedMultiValueMap<>();
requestBody.add("name", name);
requestBody.add("pay_type", payType);
requestBody.add("price", price);
requestBody.add("order_id", orderId);
requestBody.add("notify_url", notifyUrl);

4. Générer une signature MD5

// 拼接参数值
StringBuilder sb = new StringBuilder();
for (List<String> value : requestBody.values()) {
    
    
    sb.append(value.get(0));
}
sb.append(appSecret);
// 计算MD5签名
String sign =  DigestUtils.md5DigestAsHex(sb.toString().getBytes());

5. Paramètres complets

requestBody.add("sign", sign);       //设置sign
requestBody.add("order_uid", "api-test-user");      //订单用户-可以不传
requestBody.add("more", "");        //订单其他信息,回调时原样传回-可以不传

6. Envoyez une demande

// 创建RestTemplate对象
RestTemplate restTemplate = new RestTemplate();
// 设置请求头
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
// 发送POST请求
String url = "http://xorpay.com/api/pay/XXX";	//XXX需要替换成你的aid,xorpay后台查看
ResponseEntity<String> response = restTemplate.exchange(url, HttpMethod.POST,
       		new HttpEntity<>(requestBody, headers), String.class);

7. Encapsulez la classe Vo pour recevoir les données de retour

@Data
public class XorpayVo {
    
    
    private String status;
    private Map<String, String> info;
    private String expires_in;
    private String aoid;
}

8. Traitez les données renvoyées

// 处理响应
if (response.getStatusCode().is2xxSuccessful()) {
    
    
    String responseBody = response.getBody();
    // 将字符串解析为JSONObject对象
    JSONObject jsonObject = JSONObject.parseObject(responseBody);
    // 将JSONObject对象转换为Map对象
    XorpayVo xorpayVo = jsonObject.toJavaObject(XorpayVo.class);
    return xorpayVo.getInfo().get("qr");
} else {
    
    
    return "";
}

9. Page-index.html frontale

<img />

<script src="https://cdn.bootcss.com/jquery/3.6.0/jquery.min.js"></script>
<script>
    $(document).ready(function() {
      
      
        $.get("/getQr/getSrc", function(data) {
      
      
            // 在成功回调函数中设置img元素的src属性
            $("img").attr("src", "http://xorpay.com/qr?data=" + data);
        });
    });
</script>

Une fois le projet lancé, visitez : http://localhost:8080/indexl.html pour voir le code QR de paiement
Insérer la description de l'image ici

10. Acquisition du code source

Suivez le compte officiel et répondezacclamationsPrêt à recevoir
Scannez le code QR pour suivre

Je suppose que tu aimes

Origine blog.csdn.net/kkwyting/article/details/132690447
conseillé
Classement