`
qw232144
  • 浏览: 35594 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

微信支付js api

 
阅读更多

       JSAPI 支付前需要调用 登录授权接口获取到用户的 Openid 。所以需要做一次授权,这次授权是不弹出确认框的。
其实质就是在用户访问:

//使用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

JS API支付

前面的准备工作做好了以后,JS API根据prepay_id生成jsapi支付参数
生成代码如下:

//=========步骤3:使用jsapi调起支付============
$jsApi->setPrepayId($prepay_id);
$jsApiParameters = $jsApi->getParameters();

 生成的json数据如下

 

 

 

{
    "appId": "wx8888888888888888",
    "timeStamp": "1414411784",
    "nonceStr": "gbwr71b5no6q6ne18c8up1u7l7he2y75",
    "package": "prepay_id=wx201410272009395522657a690389285100",
    "signType": "MD5",
    "paySign": "9C6747193720F851EB876299D59F6C7D"
}

 

在微信浏览器中调试起js接口,代码如下

<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>

 当用户点击“贡献一下”按钮时,将弹出微信支付插件,用户可以开始支付。

 

支付通知
支付成功后,通知接口中也将收到支付成功的xml通知 :

<xml>
  <appid><![CDATA[wx8888888888888888]]></appid>  
  <bank_type><![CDATA[CFT]]></bank_type>  
  <fee_type><![CDATA[CNY]]></fee_type>  
  <is_subscribe><![CDATA[Y]]></is_subscribe>  
  <mch_id><![CDATA[10012345]]></mch_id>  
  <nonce_str><![CDATA[60uf9sh6nmppr9azveb2bn7arhy79izk]]></nonce_str>  
  <openid><![CDATA[ou9dHt0L8qFLI1foP-kj5x1mDWsM]]></openid>  
  <out_trade_no><![CDATA[wx88888888888888881414411779]]></out_trade_no>  
  <result_code><![CDATA[SUCCESS]]></result_code>  
  <return_code><![CDATA[SUCCESS]]></return_code>  
  <sign><![CDATA[0C1D7F2534F1473247550A5A138F0CEB]]></sign>  
  <sub_mch_id><![CDATA[10012345]]></sub_mch_id>  
  <time_end><![CDATA[20141027200958]]></time_end>  
  <total_fee>1</total_fee>  
  <trade_type><![CDATA[JSAPI]]></trade_type>  
  <transaction_id><![CDATA[1002750185201410270005514026]]></transaction_id> 
</xml>

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    微信支付 js api 接口文档及例子demo

    开发微信使用的 微信支付的接口, 在公众帐号上跳转到的 html页面上,使用js进行支付,里面有 java php asp c# 的例子

    微信支付JS-SDK调用微信支付接口 JAVA

    微信支付JS-SDK是微信官方提供的用于在网页端进行微信支付的开发工具包,主要针对JavaScript环境。在JAVA后端,我们需要与这个JS-SDK配合,以实现从服务器端调用微信支付接口,为前端提供安全可靠的支付服务。下面将...

    C#源码,支付宝和微信支付API,支付成功返回消息提示

    - **JSAPI支付**:适用于网页端,通过JavaScript调用微信支付的JSAPI接口,引导用户在微信内完成支付。 - **Native扫码支付**:用户扫描商家生成的二维码完成支付,C#代码需要生成支付二维码链接。 ### 5. 安全性和...

    微信支付(公告API以及网页支付demo)

    2.JS微信网页内支付完整demo(demo演示帐号没有开通微信支付,故看不到效果) http://weixinsdk.deepleo.com(微信中打开) 3.其他基本API的实现以及demo 4.详细信息请参考:...

    c#微信支付、微信企业支付到个人,微信企业付款到零钱, 代码DEMO

    1. **微信支付API**:微信支付API是微信官方提供的接口,用于商家集成微信支付功能。它包括多种支付方式,如JSAPI支付、刷卡支付和扫码支付。JSAPI支付适用于网页端,通过JavaScript调用,用户无需跳转到微信APP即可...

    微信支付js_api_demo

    封装好的微信支付js_api。php版本(请确认)。目前最新。

    h5微信支付完整版_h5微信支付完整版_微信支付分_fathercxc_h5支付_微信支付_

    1. **预支付请求**:商家服务器通过调用微信支付的API接口,生成预支付订单,包含商品信息、金额等关键数据。 2. **返回预支付交易会话标识**:微信支付服务端响应后,会返回一个预支付交易会话标识(prepay_id),...

    微信支付php案例

    它通过在前端JavaScript中调用微信支付SDK,引导用户在微信内完成支付流程。在PHP端,你需要获取预下单(统一下单)的交易参数,然后将其转化为前端可以使用的json数据,最后在前端通过微信JSSDK进行支付接口调用。 ...

    微信支付源码 java网页微信支付 java网页Native微信支付源码

    在这个Java网页Native微信支付源码中,我们可以深入理解微信支付的API调用、二维码生成以及支付回调处理等关键流程。 1. **微信支付接口调用**: - 微信支付提供了多种接口供开发者使用,如统一下单接口(Unified ...

    jqweui js 唤醒微信支付

    在H5页面中引入微信支付JS文件,并调用`WeixinJSBridge.invoke`方法,传入生成的支付参数,从而唤起微信支付。 4. **处理支付结果**:用户完成支付后,微信会通过JSBridge通知H5页面支付的结果。你需要监听`...

    仿微信支付页面html

    在创建仿微信支付页面时,开发者通常会结合CSS(Cascading Style Sheets)和JavaScript来实现更丰富的交互效果。CSS用于控制网页的样式,包括颜色、布局和字体等,让网页看起来更接近微信支付的实际样式。而...

    微信支付jsjdk可以直接使用java版

    微信支付JSJDK(JavaScript SDK)是微信支付提供的用于在网页端实现微信支付功能的JavaScript库。它允许开发者在自己的网站上集成微信支付,使得用户可以通过微信钱包进行在线交易。在描述中提到“可以直接使用Java...

    wxpay-php, php项目基于微信支付JS SDK和JS API的接入开发.zip

    2. **JS SDK (JavaScript Software Development Kit)**:微信支付JS SDK是一套用于前端开发的工具集,提供了在网页中调用微信支付接口的JavaScript函数,如统一下单、支付结果查询等功能。 3. **JS API (JavaScript...

    Java接入H5微信支付demo.zip

    在此过程中,开发者需要理解微信支付的API规范,并使用Java语言编写相关代码来实现用户在H5(移动端网页)上的支付流程。下面将详细阐述这一过程的关键知识点: 1. **微信支付API**:微信提供了丰富的支付接口,...

    C#微信支付_Demo_v3包括(JSAPI支付-扫码支付一-二维码制作)

    JSAPI支付允许用户在微信内部通过JavaScript API完成支付,而扫码支付则让用户通过扫描二维码完成交易。微信二维码生成功能则用于创建可以链接到支付流程的二维码图片。 1. **JSAPI支付**: JSAPI支付是微信支付的...

    微信支付源码 支付C# ,php

    首先,微信JS支付,全称为“微信支付JavaScript API”,是一种让用户在微信内置浏览器中完成支付的解决方案。它通过在网页中引入微信支付的JSAPI接口,结合微信提供的商户后台接口,实现用户无跳转支付体验。流程...

    2022-php-服务商支付demo-jsapi-微信支付

    JSAPI(JavaScript API)是微信支付的一种方式,它允许在网页中调用微信支付接口,用户无须跳转到微信应用,即可完成支付流程。 3. **服务商模式**:在微信支付中,服务商模式是指为其他商家提供支付接入服务的第三...

    微信支付后端demo(java)_微信小程序模板js代码前台前端H5页面源码+后台源码.rar

    微信支付后端DEMO(Java)是用于演示微信支付功能的一个示例项目,结合了微信小程序的JS代码、前端H5页面源码以及后台源码,帮助开发者快速理解和实现微信支付流程。在这个压缩包文件中,`WechatPayDemo-master` 是...

    微信支付demo所需要用到的4个js

    为了实现微信支付功能,开发者通常需要集成微信支付的JSAPI(JavaScript API),以便在网页中调用微信支付的接口。本文将详细介绍“微信支付demo”中所涉及的四个关键JS文件以及它们的作用。 首先,我们来看`wxpay-...

    微信支付 JS API支付接口详解

    本文是对微信支付 JS API支付接口介绍,并附代码实例,在开发过程中具有参考价值,希望能帮助到需要的朋友

Global site tag (gtag.js) - Google Analytics