手机网页支付

1、支付宝支付

支付宝支付只需要根据api参数列表列全必须的参数后进行签名,再拼接支付的url就差不多了

官方手机网页支付demo

/*代码一*/function alipay(baseUrl, tradeno, order) {
    this.baseUrl = baseUrl;
    this.params = {
        partner: ‘208881172042****‘,
        seller_id: ‘208881172042****‘,
        _input_charset: ‘utf-8‘,
        service: ‘alipay.wap.create.direct.pay.by.user‘,
        payment_type: ‘1‘,//支付类型
        notify_url: baseUrl + ‘/api/alipayCallback/order‘,//服务器异步通知页面路径
        return_url: baseUrl + ‘/follow/success.html‘,//页面跳转同步通知页面路径
        out_trade_no: tradeno,//商品订单号
        subject: ‘****‘,//订单名称
        total_fee: order.totalFee,//付款金额,
        show_url: baseUrl + ‘/follow/success.html‘,//商品展示地址
        body: ‘所跟单号-‘ + order.orderno//订单描述
    };
}

alipay.prototype.submit = function () {
    var pay = this;    /*将支付参数提交到后台进行签名*/
    $.post(‘/api/follow/sign‘, pay.params, function (data) {
        var sign = data.data;
        pay.params.sign = sign;
        pay.params.sign_type = ‘RSA‘
        pay.submitToPay(‘https://mapi.alipay.com/gateway.do?‘, pay.params, ‘get‘);
    });
}

alipay.prototype.submitToPay = function (url, param, method) {
    var f = $(‘<form action="‘ + url + ‘" method="‘ + method + ‘"></form>‘);
    for (var key in param)
        $(‘<input type="hidden" name="‘ + key + ‘" />‘).val(param[key]).appendTo(f);
    f.appendTo(document.body).submit();
    document.body.removeChild(f.get(0));
}

2、微信支付

(1)、公众号支付配置

(2)、支付 http://mp.weixin.qq.com/wiki/17/c0f37d5704f0b64713d5d2c37b468d75.html

    a、用户同意授权,获取code

https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect

若提示“该链接无法访问”,请检查参数是否填写错误,是否拥有scope参数对应的授权作用域权限。

参数说明

参数 是否必须 说明
appid 公众号的唯一标识
redirect_uri 授权后重定向的回调链接地址,请使用urlencode对链接进行处理
response_type 返回类型,请填写code
scope 应用授权作用域,snsapi_base (不弹出授权页面,直接跳转,只能获取用户openid),snsapi_userinfo (弹出授权页面,可通过openid拿到昵称、性别、所在地。并且,即使在未关注的情况下,只要用户授权,也能获取其信息
state 重定向后会带上state参数,开发者可以填写a-zA-Z0-9的参数值,最多128字节
#wechat_redirect 无论直接打开还是做页面302重定向时候,必须带此参数

设置参数redirect_uri指向的页面为以下(代码二)内容(redirect_uri中必须使用域名,并且已经设置为微信支付目录);

b、在微信客户端打开上面的链接,微信将返回code信息,并提交code到服务端(后台)来获取openid(用户唯一标识)

【获取openid的微信地址为https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code,无法通过ajax跨域进行访问,所以交到后台进行处理】

c、统一下单

将订单数据提交到后台进行处理,后台根据api参数列表进行组装和签名后提交,并将返回的结果来返回给前台(返回给前台的数据为进行过处理的预支付信息)

d、公众号支付

调用微信支付接口进行支付

/*代码二*/<ul class="list-group">
        <li class="list-group-item wxpay-item">
            <div class="wxpay-item-label">商品描述:</div>
            <div class="body">****-微信支付</div>
        </li>
        <li class="list-group-item wxpay-item">
            <div class="wxpay-item-label">订单号:</div>
            <div class="orderno"></div>
        </li>
        <li class="list-group-item wxpay-item">
            <div class="wxpay-item-label">总价格:</div>
            <div class="totalfee">0.01</div>元
        </li>
    </ul>

    <div class="wxpay-btn">
        <div class="submitToPay">确认支付</div>
    </div>
    <script>
        var wxOrder;
        var params;
        $(function () {
            loadCss(‘wxpay‘);

            var code = pdatas.code;
            if (!code) {
                alert(‘无效Code...‘);
                return;
            }
            var state = JSON.parse(unescape(pdatas.state));
            var order = { uid: state.uid, tradeno: state.tradeno, totalFee: state.totalFee };
            wxOrder = { orderno: order.tradeno };
            wxOrder.totalFee = state.totalFee;
            wxOrder.body = ‘****‘;

            $(‘.orderno‘).html(order.tradeno);
            $(‘.totalfee‘).html(parseFloat(wxOrder.totalFee).toFixed(2));
            $(‘.body‘).html(wxOrder.body);
            /*根据微信返回的code,并提交到后台来获取openid*/
            $.get(‘/api/follow/grant‘, { code: code }, function (dat) {
                if (dat.code == 0)
                    wxOrder.openId = dat.data;
                else
                    alert(‘获取参数异常,无法支付...‘);
            });
            /*确定提交订单并完成支付*/
            $(‘.submitToPay‘).click(function () {
                if (!wxOrder.openId) {
                    alert(‘参数异常,无法进行支付...‘);
                    return;
                }                /*提交订单数据到后台,由后台进行统一下单操作,并返回预付款信息*/
                $.post(‘/api/follow/unifiedorder‘, wxOrder, function (prepay) {
                    if (prepay.code == 0)                        /*调用微信支付接口进行支付*/
                        jsApiPay(prepay.data);
                    else
                        alert(prepay.message);
                });
            });
        });

        function jsApiPay(dat) {
            params = {};
            $.extend(params, dat, { ‘package‘: ‘prepay_id=‘ + dat.prepayId });
            callpay();
        }

        function jsApiCall() {
            WeixinJSBridge.invoke(‘getBrandWCPayRequest‘, params, function (res) {
                if (res.err_msg != ‘get_brand_wcpay_request:ok‘)
                    location = ‘./follow/failure.html‘;
            });
        }

        function callpay() {
            if (typeof WeixinJSBridge == "undefined") {
                if (document.addEventListener) {
                    document.addEventListener(‘WeixinJSBridgeReady‘, jsApiCall, false);
                }
                else if (document.attachEvent) {
                    document.attachEvent(‘WeixinJSBridgeReady‘, jsApiCall);
                    document.attachEvent(‘onWeixinJSBridgeReady‘, jsApiCall);
                }
            }
            else {
                jsApiCall();
            }
        }
    </script>

(3)、资源(微信的demo比较混乱  到处都是demo)

a.支付开发教程(微信商户平台版) https://mp.weixin.qq.com/paymch/readtemplate?t=mp/business/course3_tmpl&lang=zh_CN

b.https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=11_1c.https://res.wx.qq.com/paymchres/zh_CN/htmledition/download/bussiness-course2/wxm-payment-biz-api1eec8d.zip

时间: 2024-10-13 09:22:33

手机网页支付的相关文章

支付宝手机网页支付

本节主要描写叙述支付宝手机站点支付,开发网址:productId=2013080604609688" target="_blank">https://b.alipay.com/order/productDetail.htm?productId=2013080604609688,光找这个找了半天,呵呵 在网页中部有四个标签页,选择"技术集成",下载集成开发包,里面有相关的技术文档和三种语言的代码演示样例.代码演示样例中差点儿集成了全部的代码逻辑.cli

【android仿系列进阶篇】android 支付宝手机网页支付

最近在做android-,恩,就说这么多吧 1,准备工作 支付宝相关文档下载地址:https://b.alipay.com/order/productDetail.htm?productId=2013080604609688&tabId=4#ps-tabinfo-hash 当然了,假设你已经有了pid(partner)和商户账户(seller),并且开通了手机网页支付功能. 下载的包里面,打开[手机网页即时到账接口]文件夹,看到里面的可以看看里面的pdf文档,[手机网页支付接入与使用规则.pdf

用MVC做支付宝手机网页支付问题

支付宝支付接口手机网页支付 从官网扒下来的demo阿里做得还是相当不错的,只要参数改正确了基本上都是能跑通,WebForm的没什么大问题,这次要讲的主要是几个要注意的问题,因为是用MVC来做. 1.要确宝手机网页支付开通已经申请通过,具体官网都有介绍. 2.支付宝的同步请求是正常接收到了的,但支付宝支付接口异步通知 AliPaynotify却没有接收到任何返回的信息,这里 支付宝的异步通知其实被 asp.net 的安全机制给拦截了,返回给支付宝的500错误信息是 A potentially da

支付宝手机网页支付即时到账接口

mycncart的前后台均为移动设备方便访问,支付宝方面单独针对移动设备访问网站设立了支付接口,普通的支付宝即时到账接口无法在手机网页上正常支付 本支付插件是支付宝手机网页即时到账接口. 本插件需要解决生成商家公钥和私钥等,以及与支付宝方面的技术接洽,请与我联系获取此免费技术支持. 主要功能: 1. 针对有资格申请支付宝手机网页即时到账的中国国内公司商家设计使用: 2. 可设置最低启用金额; 3. 可设置适用的国家和地区用户; 4. 设定相关订单状态: 5. 当支付款项成功时,支付宝将相关操作异

支付宝手机网页即时到账接口(1)之相关信息介绍

前言 博主近几周在写一个微商城的项目,里面有涉及到付款模块,发现原来电脑端的支付宝接口与手机端的接口不一致(原来的电脑端平台非本人开发).然后便去支付宝商家服务下载集成开发包. 该集成开发包包含即时到账批量退款有密接口.商户接入支付宝收银台界面展示标准-无线和手机网页即时到账接口三个文件夹. 1.即时到账批量退款有密接口 demo 该文件夹下有8个示例项目,分为4种不同语言(ASP.CSHARP.JAVA.PHP)和2种不同编码(GBK.UTF-8) 更新日志 即时到账批量退款有密接口(refu

tp3.2 支付宝手机网站支付

手机网站支付接口,支付宝官方文档:https://b.alipay.com/signing/productSet.htm?navKey=all 第一步: 1)登陆支付宝企业账号 进入支付宝官网 ,登陆已进行过实名认证的企业账号. 2)选择支付产品 进入支付宝产品大全页面,选择"手机网页支付",点击"立即签约". 3) 完善申请资料 将需申请支付的网址.联系人信息填写完成后提交,等待支付宝审核. 4) 申请通过 支付宝会在 5 个工作日内完成审核,审核完成后将以短信及

支付宝支付之扫码支付(电脑网站支付)、H5支付(手机网站支付)相关业务流程分析总结

前言 在上一篇文章<微信支付之扫码支付.公众号支付.H5支付.小程序支付相关业务流程分析总结>中,分析和总结了微信支付相关支付类型的业务流程,这里作为与微信支付平起平坐不相伯仲的支付宝支付,当然也是每个公司少不了的第三方支付接入选择. 因此,本篇文章主要分析和总结支付宝支付中的扫码支付.H5支付相关业务流程. 概述 1. 电脑网站支付 电脑网站支付,也称扫码支付,是专门针对电脑而开发的一种支付方式,既在网页展示一个动态生成的支付二维码,用户通过手机支付宝扫码以后可实现支付功能的一种支付方式.

支付宝手机网页即时到账接口(2)之授权接口请求

前言 这篇文章主要讲诉系统调用支付宝手机网页即时到账授权接口获取支付宝返回的request_token. 上篇文章地址:支付宝手机网页即时到账接口(1)之相关信息介绍. 这是上篇文章结尾调用授权接口的图解. 官方文档中对授权接口的说明是: 商户利用编程方法来模拟http请求远程解析html,获取支付宝返回的结果数据后,可以结合自身网站的业务逻辑进行数据处理. 说明中不难看出我们的代码中需要模拟http提交参数,然后解析支付宝返回的结果再进行处理.该项目是用java编写的,所以后续代码也是用jav

手机网页布局经验总结

引言 众所周知,在当今移动互联网大行其道的现在,基本上所有的年轻人都是使用过手机去浏览一些网站的资讯或者使用过手机去购物网站支付买过东西,但是大家有没有想过这样的网页是怎样改制作出来的呢?今天我们就来探讨一下这个问题 阅读读者具备基础 1.熟练的使用HTML和CSS 2.对HTML5和CSS3有一定的了解,这个不必深入 3.掌握JavaScript.jquery脚本语言 如果还不能具备以上基础的读者们建议你们还是去网上找一下其他的一些相关的教学贴看一看,要不然可能会跟不上下面的学习了 HTML的