二维码如何区分微信支付还是支付宝

先看示例,用 微信扫一扫 与 支付宝扫一扫 来扫描下方的二维码。

二维码如何区分微信支付还是支付宝_第1张图片

该判断实现方式可以从前端Javascript实现和后端实现(Java,Python等)

一、前端实现方式

只需要判断 userAgent 是   MICROMESSENGER 或者  ALIPAYCLIENT就行。

MICROMESSENGER:微信支付
ALIPAYCLIENT:支付宝支付

    上方二维码对应的HTML文件代码如下:




    
    支付方式判断
  


二、后端实现方式

其实原理是一样的,也是判断 userAgent 是   MICROMESSENGER 或者  ALIPAYCLIENT。

Java实现代码如下:

@RestController
@RequestMapping("/order")
public class OrderController {
    
    @RequestMapping("paytype")
    public String getPayType(HttpServletRequest request) throws Exception {
        String userAgent  = request.getHeader("User-Agent").toUpperCase();
        String payType = null;
        if (userAgent.indexOf("MICROMESSENGER") > 0) {
            payType = "微信支付";
        } else if (userAgent.indexOf("ALIPAYCLIENT") > 0) {
            payType = "支付宝支付";
        }

        //TODO 根据 payType 的支付方式生成相应支付订单


        return null;
    }
}

你可能感兴趣的:(微信支付,Java,JavaScript)