微信支付宝一码付

本文介绍了如何实现微信和支付宝的一码付功能,通过判断浏览器环境区分支付平台,并提供了支付宝和微信的支付接口文档链接。注意到,微信支付流程较长,可能耗时,特别是获取access_token的步骤。
摘要由CSDN通过智能技术生成

路由

一码付指的是一个二维码同时指出支付宝、微信扫描并支付。

微信和支付宝支持扫描一个url二维码并通过内置的浏览器跳转。

我们可以通过js获得是来自支付宝的还是微信的浏览器,通过user-agent,有MicroMessenger是微信,有AlipayClient是支付宝。

var ua = navigator.userAgent.toLowerCase();
if (/MicroMessenger/.test(window.navigator.userAgent)) {
    //微信
} else if (/AlipayClient/.test(window.navigator.userAgent)) {
    //支付宝
}

接着就是查看支付宝和微信中关于网页支付的教程了。

支付宝:https://docs.open.alipay.com/203/

微信: https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140842
https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_1

notice

1.网址必须以http://https://开头。

流程时序图

这里写图片描述

支付宝

在一码付中,支付宝属于手机网站支付一类。官方api地址:https://docs.open.alipay.com/203/

测试代码

@Test
public void main() throws AlipayApiException {
    alipayClient = new DefaultAlipayClient(alipayConfig.getAlipayGateway(), alipayConfig.getAppId(),
            alipayConfig.getAppPrivateKey(), "json", DEFAULT_ENCODING, alipayConfig.getAppPublicKey(),
            SIGN_RSA);
    AlipayTradeWapPayRequest alipayRequest = new AlipayTradeWapPayRequest();//创建API对应的request
    alipayRequest.setReturnUrl("http://domain.com/CallBack/return_url.jsp");
    alipayRequest.setNotifyUrl("http://domain.com/CallBack/notify_url.jsp");
    alipayRequest.setBizContent("{" +
            "\"out_trade_no\":\"fc00001\"," +
            "\"total_amount\":0.01," +
            "\"product_code\":\"QUICK_WAP_WAY\","+
            "\"subject\":\"测试\"" +
            "}");

    AlipayTradeWapPayResponse response = alipayClient.pageExecute(alipayRequest);
    if(response.isSuccess()){
        System.out.println("调用成功");
        System.out.println(response.getBody());
    } else {
        System.out.println("调用失败");
        System.out
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值