本人小菜鸟一仅仅。为了自我学习和交流PHP(jquery,linux,lamp,shell,javascript,server)等一系列的知识,小菜鸟创建了一个群。希望光临本博客的人能够进来交流。

寻求共同发展。搭建平台。本人博客也有很多的技术文档,希望能够为你提供一些帮助。QQ群:   191848169               QQ:450225664

强烈建议:先看demo

须要申请对应的帐号

后台设置支付文件夹

js_api_call.php

<?

php

/**

 * JS_API支付demo

 * ====================================================

 * 在微信浏览器里面打开H5网页中运行JS调起支付。接口输入输出数据格式为JSON。

 * 成功调起支付须要三个步骤:

 * 步骤1:网页授权获取用户openid

 * 步骤2:使用统一支付接口,获取prepay_id

 * 步骤3:使用jsapi调起支付

*/

    include_once("WxPayPubHelper/WxPayPubHelper.php");

    

    //使用jsapi接口

    $jsApi = new JsApi_pub();



    //=========步骤1:网页授权获取用户openid============

    //通过code获得openid

    if (!isset($_GET['code']))

    {

        //触发微信返回code码

        $url = $jsApi->createOauthUrlForCode(WxPayConf_pub::JS_API_CALL_URL);

        Header("Location: $url");

    }else

    {

        //获取code码。以获取openid

        $code = $_GET['code'];

        $jsApi->setCode($code);

        $openid = $jsApi->getOpenId();

    }

    // $openid = 'oywLxshg8ZwoEURBA9seM-Ahdp-s';

    //=========步骤2:使用统一支付接口。获取prepay_id============

    //使用统一支付接口

    $unifiedOrder = new UnifiedOrder_pub();

    

    //设置统一支付接口參数

    //设置必填參数

    //appid已填,商户无需反复填写

    //mch_id已填,商户无需反复填写

    //noncestr已填,商户无需反复填写

    //spbill_create_ip已填,商户无需反复填写

    //sign已填,商户无需反复填写

    $unifiedOrder->setParameter("openid","$openid");//商品描写叙述

    $unifiedOrder->setParameter("body","贡献一分钱");//商品描写叙述

    //自己定义订单号,此处仅作举例

    $timeStamp = time();

    $out_trade_no = WxPayConf_pub::APPID."$timeStamp";

    $unifiedOrder->setParameter("out_trade_no","$out_trade_no");//商户订单号

    $unifiedOrder->setParameter("total_fee","1");//总金额

    $unifiedOrder->setParameter("notify_url",WxPayConf_pub::NOTIFY_URL);//通知地址

    $unifiedOrder->setParameter("trade_type","JSAPI");//交易类型

    //非必填參数。商户可依据实际情况选填

    //$unifiedOrder->setParameter("sub_mch_id","XXXX");//子商户号  

    //$unifiedOrder->setParameter("device_info","XXXX");//设备号

    //$unifiedOrder->setParameter("attach","XXXX");//附加数据

    //$unifiedOrder->setParameter("time_start","XXXX");//交易起始时间

    //$unifiedOrder->setParameter("time_expire","XXXX");//交易结束时间

    //$unifiedOrder->setParameter("goods_tag","XXXX");//商品标记

    //$unifiedOrder->setParameter("openid","XXXX");//用户标识

    //$unifiedOrder->setParameter("product_id","XXXX");//商品ID



    $prepay_id = $unifiedOrder->getPrepayId();

    //=========步骤3:使用jsapi调起支付============

    $jsApi->setPrepayId($prepay_id);



    $jsApiParameters = $jsApi->getParameters();

    //echo $jsApiParameters;

?

>



<html>

<head>

    <meta http-equiv="content-type" content="text/html;charset=utf-8"/>

    <title>微信安全支付</title>



    <script type="text/javascript">



        //调用微信JS api 支付

        function jsApiCall()

        {

            WeixinJSBridge.invoke(

                'getBrandWCPayRequest',

                <?php echo $jsApiParameters; ?>,

                function(res){

                    WeixinJSBridge.log(res.err_msg);

                    //alert(res.err_code+res.err_desc+res.err_msg);

                }

            );

        }



        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>

</head>

<body>

    </br></br></br></br>

    <div align="center">

        <button style="width:210px; height:30px; background-color:#FE6714; border:0px #FE6714 solid; cursor: pointer;  color:white;  font-size:16px;" type="button" onclick="callpay()" >贡献一下</button>

    </div>

</body>

</html>

微信支付 V3版的更多相关文章

  1. Android微信支付V3版

    由于公司需求做微信APP支付,在集成过程中也遇到各种问题,比如说签名错误,body编码必须为UTF-8.APP端无法调用支付页面直接到支付结果页面.结果为null,code=-1等等: 1.签名错误问 ...

  2. jsapi微信支付v3版

    请看清楚你的微信支付是v2还是v3.在这里整理的是v3的,v2的同学请忽略! 前期准备须要用的是商户证书,用的是p12的.设置api密钥(在微信商户端中设置),还须要在微信公众号中设置jsapi授权文 ...

  3. 微信支付v3接口的 官方 Java SDK

    啰嗦几句:微信支付v3版接口麻烦吗?在对接微信支付v3接口时,本来是一件很简单的事情,其实微信支付v3接口并不是很复杂,但是微信团队的管理很混乱,给我们开发者带来了巨大的麻烦. 微信支付v3版接口对接 ...

  4. 微信支付开发(1) JS API支付V3版(转)

    http://www.cnblogs.com/txw1958/p/wxpayv3-jsapi.html 本文介绍微信支付下的jsapi实现流程 前言 微信支付现在分为v2版和v3版,2014年9月10 ...

  5. 微信支付java版V3验证数据合法性

    [TOC] 1. 微信支付java版V3验证数据合法性 概要:使用微信支付接口时,微信会返回或回调给商户XML数据,开发者需要验证微信返回的数据是否合法. 特别提醒:商户系统对于支付结果通知的内容一定 ...

  6. 到处都是坑的微信支付V3之 微信支付回调页面

    据上次 到处都是坑的微信支付V3 后很多园友在被虐了千百遍后终于跳转到了亲切的微信支付界面,但输入密码支付后却不知道怎么处理了,接下来补上支付后的处理流程. 1. html中根据前台支付后反馈信息成功 ...

  7. 到处都是坑的微信支付V3

    业务需要一个在微信上能付款的功能,于是乎想到了最普遍的支付宝,坑爹的是T与A是水火不容啊,默默的还是接微信支付吧,没想到从此掉进了连环坑…… 网上写微信支付接口的还是很多,PHP官方有(鄙视源码作者, ...

  8. 微信支付v3开发(5) 扫码并输入金额支付

    关键字:微信支付 微信支付v3 动态native支付 统一支付 Native支付 prepay_id 作者:方倍工作室 本文介绍微信支付下的扫描二维码并输入自定义金额的支付的开发过程. 注意 微信支付 ...

  9. 坑爹的微信支付v3,其实没有那么坑

    http://www.cnblogs.com/zskbll/p/wxpay.html 研究微信开发一年多了,每个新接口,都会第一时间进行研究.微信支付开放很久,一直没机会接触到支付接口,等了好久终于从 ...

随机推荐

  1. Servlet的一些API使用介绍

    final String rootPath = getServletConfig().getServletContext().getRealPath("/");  获取项目运行的根 ...

  2. Hdu 2979 Expensive Drink

    Description There are some water, milk and wine in your kitchen. Your naughty little sister made som ...

  3. 解决DBCP报错 Could not retrieve transation read-only s

    dbcp连接池报错 commons-dbcp 解决Mysql Cannot get a connection, pool error:  Could not create a validated ob ...

  4. 用JAVA 查询 Active Directory(AD)

    Required Details LDAP address (For e.g.: myjeeva.com or IP of the Domain Controller/Global Catalog[G ...

  5. Android Intent.FLAG_NEW_TASK详解,包括其他的标记的一些解释

    本文大部分参考自 http://blog.csdn.net/mayingcai1987/article/details/6200909 ,对原文中的讲解FLAG_NEW_TASK地方加了一些自己的观点 ...

  6. java学习多线程之死锁

    形成死锁的前提是同步代码块嵌套. 什么是死锁?当一个线程拿到锁以后在这个锁内部的代码需要访问另一段的代码的时候另外一个程序的锁被另外一个线程拿到,这样的话,就造成了两个锁互不想让程序没法往下执行的这种 ...

  7. asp.net Context.User.Identity.Name说明

    今天做了一个身份验证页面,基本实现功能,却不能显示当前用户姓名,自己MSDN半天一无所获,问题就在Context.User.Identity.Name:Context是HttpContext类,Use ...

  8. POJ_3046_Ant_Counting_(动态规划,多重集组合数)

    描述 http://poj.org/problem?id=3046 n种蚂蚁,第i种有ai个,不同种类的蚂蚁可以相互区分,但同一种类的蚂蚁不能相互区分,从这些蚂蚁中取出s,s+1,s+2,...,b- ...

  9. v8 javascript engine

    https://code.google.com/p/v8-wiki/wiki/BuildingWithGYP vs2013git v8 http://github.com/v8/v8-git-mirr ...

  10. SQL Server数据库修改字段属性

      1:向表中添加字段 Alter table [表名] add [列名] 类型 2: 删除字段 Alter table [表名] drop column [列名] 3: 修改表中字段类型 (可以修改 ...