1. 程式人生 > >微信支付之jsapi

微信支付之jsapi

       這兩天在研究微信公眾號的支付,弄完以後寫一個文件,方便以後自己再次做這個的時候可以看。

      首先,https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_1;

https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140842;

在你開始操作之前請先閱讀微信文件,微信提供給你的資料你都不看那就是對不起自己了!

開始之前先先介紹下上面的js介面安全域名和網頁授權域名這兩個東西,因為我的專案涉及到好幾個二級域名,所以這裡踩了挺多坑的。js介面安全域名應該指的是隻有在這個域名下你才可以呼叫jsapi,其他域名下是沒用的,

function jsApiCall()

        {

            WeixinJSBridge.invoke(

                'getBrandWCPayRequest',

                <?php echo $code;?>,

                function(res){

                    //alert(res.err_msg);

                    //WeixinJSBridge.log(res.err_msg);

                    if(res.err_msg == "get_brand_wcpay_request:ok" ) {

                        window.location.href = "<?php echo return_url('weixin');?>";

                    } else {

                        alert("交易取消");

                        window.location.href = "./index.php";

                    }

                }

            );

        }

        //function callpay()

        window.onload = function ()



        {

            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();

            }

        }
也就是這一段程式碼必須在你的js介面安全域名設定下的才行,否則會返回

那麼網頁授權域名是幹什麼的呢,是獲取使用者openid用的,

https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect
這個介面是在微信獲取網頁授權的第一步,獲取code用的,當中的redirect_uri 是你請求微信介面後希望微信返回給你的地址,請注意,這裡的
redirect_uri 必須在你的網頁授權域名下才行,否則會提示

還有這個redirect_uri是可以傳引數的,我當時需要傳引數,但是當你傳兩個引數的時候 ?code=123&amount=100 ,請注意,他返回給你的時候只會給你帶一個引數,code=123會返回給你,後面的amount是沒得,所以如果你想傳多個引數的時候請自行設定!

把我自己踩的坑先說了一遍,接下來說一下基本步驟:

1:開通你的支付功能

2:通過你自己的appid獲取你的商家的一些資訊,這個其他地方有,你弄好後會微信會發郵件給你的郵箱,自己檢視就行了;

其他的自行百度吧,提供個連線https://www.cnblogs.com/aksir/p/6780697.html;