本人小菜鸟一仅仅。为了自我学习和交流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. NOI冲刺计划2

    吐槽:距离上一次写计划还没有一个月呢,咋又喊要重写捏?可以直接从上一次的计划粘上个一大半. bzoj刷题速度还是在计划之内的,这大半个月中,我bzoj刷进500道,知识方面主要是把莫比乌斯反演系统性的 ...

  2. hdu 4452

    今天模拟赛的一个模拟题: 每次看到这种题就感觉很繁琐: 这次静下心来写写,感觉还不错!就是很多错误,浪费了一点时间: 代码: #include<cstdio> #include<cs ...

  3. SPRING IN ACTION 第4版笔记-第二章WIRING BEANS-006-当构造函数有集合时的注入

    一.当构造函数有集合时,只能用<CONSTRUCTOR-ARG>,不能用C-NAMESPACE 二. 1. package soundsystem.collections; import ...

  4. Android Training精要(六)如何防止Bitmap对象出现OOM

    1.使用AsyncTask異步加載bitmap圖片避免OOM: class BitmapWorkerTask extends AsyncTask<Integer, Void, Bitmap> ...

  5. android ListView异步加载图片(双缓存)

    首先声明,参考博客地址:http://www.iteye.com/topic/685986 对于ListView,相信很多人都很熟悉,因为确实太常见了,所以,做的用户体验更好,就成了我们的追求... ...

  6. constant

  7. XSS跨站脚本攻击在Java开发中防范的方法

    1. 防堵跨站漏洞,阻止攻击者利用在被攻击网站上发布跨站攻击语句不可以信任用户提交的任何内容,首先代码里对用户输入的地方和变量都需要仔细检查长度和对”<”,”>”,”;”,”’”等字符做过 ...

  8. windows下 破解 Sublime Text3 和汉化

    这货已经出到3了. windows下载,破解,使用方法: 一:破解 1: 去官网下载最新版本 http://www.sublimetext.com/3 2:下载破解器(SublimeTextKeyge ...

  9. 比较详细的利用虚拟机对SD卡FAT32+EXT4+Ext4分区图解教程

    如果大家嫌虚拟机复杂,我这里提供一个我没用虚拟机之前的分区方法:这个方法实际是可行的 我在没有用虚拟机之前,我是这样操作的1.首先在分区软件分好fat32+ext2+ext22.然后用recovery ...

  10. Python 实现网络爬虫小程序

    Python很简洁,也很强大,作为兴趣,值得一学!   下面这个程序实现的是从一个网站上下载图片,根据自己需要可以进行修改 import re import urllib def gethtml(ur ...