1. 程式人生 > >php微信h5支付經驗之談

php微信h5支付經驗之談

首先 先去商戶平臺申請開通 H5支付。 官方是給我們提供了案例的大家可以移步檢視--->微信官方體驗連結:http://wxpay.wxutil.com/mch/pay/h5.v2.php,請在微信外瀏覽器開啟。 官方提供的流程,大家可以看看是不是你想要的樣子,以防止寫錯 https://pay.weixin.qq.com/wiki/doc/api/H5.php?chapter=15_3 大概思路:前臺傳過來引數後臺接收比如金額(注意這裡的金額,微信傳的是分),訂單號,客戶端ip等。 用到的最重要的介面是 統一下單        $subject = $data['subject']; //商品描述               $total_amount = $data['total_amount']*100; //金額         $additional = $data['additional']; ////附加資料         $order_id = $data['order_id']; ////訂單號         $nonce_str=MD5($order_id);//隨機字串         $spbill_create_ip = $data['spbill_create_ip']; //終端ip      //以上引數接收不必糾結,按照正常接收就行,相信大家都看得懂         //$spbill_create_ip = '118.144.37.98'; //終端ip測試         $trade_type = 'MWEB';//交易型別 具體看API 裡面有詳細介紹         $notify_url = 'http://www.xxx.com'; //回撥地址         $scene_info ='{"h5_info":{"type":"Wap","wap_url":"http://www.xxx.com","wap_name":"測試支付"}}'; //場景資訊         //對引數按照key=value的格式,並按照引數名ASCII字典序排序生成字串         $signA = "appid=$appid&body=$subject&mch_id=$mch_id&nonce_str=$nonce_str&notify_url=$notify_url&out_trade_no=$order_id       &scene_info=$scene_info&spbill_create_ip=$spbill_create_ip&total_fee=$total_amount&trade_type=$trade_type";         $strSignTmp = $signA."&key=$key"; //拼接字串         $sign = strtoupper(MD5($strSignTmp)); // MD5 後轉換成大寫         $post_data = "<xml>                        <appid>$appid</appid>                        <body>$subject</body>                        <mch_id>$mch_id</mch_id>                        <nonce_str>$nonce_str</nonce_str>                        <notify_url>$notify_url</notify_url>                        <out_trade_no>$order_id</out_trade_no>                        <scene_info>$scene_info</scene_info>                        <spbill_create_ip>$spbill_create_ip</spbill_create_ip>                        <total_fee>$total_amount</total_fee>                        <trade_type>$trade_type</trade_type>                        <sign>$sign</sign>                    </xml>";//拼接成XML 格式         $url = "https://api.mch.weixin.qq.com/pay/unifiedorder";//微信傳參地址         $dataxml = $this->http_post($url,$post_data); //後臺POST微信傳參地址  同時取得微信返回的引數,http_post方法請看下文         $objectxml = (array)simplexml_load_string($dataxml, 'SimpleXMLElement', LIBXML_NOCDATA); //將微信返回的XML 轉換成陣列         if($objectxml['return_code'] == 'SUCCESS')  {             if($objectxml['result_code'] == 'SUCCESS'){//如果這兩個都為此狀態則返回mweb_url,詳情看‘統一下單’介面文件                 return $objectxml['mweb_url']; //mweb_url是微信返回的支付連線要把這個連線分配到前臺             }             if($objectxml['result_code'] == 'FAIL'){         return $err_code_des = $objectxml['err_code_des'];       }} 微信支付介面簽名校驗工具:https://pay.weixin.qq.com/wiki/doc/api/H5.php?chapter=20_1 大家可以使用以上工具,檢測您的簽名是不是正確。  function http_post($url, $data) {     $ch = curl_init();     curl_setopt($ch, CURLOPT_URL,$url);     curl_setopt($ch, CURLOPT_HEADER,0);     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);     curl_setopt($ch, CURLOPT_POST, 1);     curl_setopt($ch, CURLOPT_POSTFIELDS, $data);     $res = curl_exec($ch);     curl_close($ch);     return $res; }  以上就是微信H5支付,原理類似,看文件即可,不懂可以聯絡我QQ:570803231為你指導

相關推薦

phph5支付經驗之談

首先 先去商戶平臺申請開通 H5支付。 官方是給我們提供了案例的大家可以移步檢視--->微信官方體驗連結:http://wxpay.wxutil.com/mch/pay/h5.v2.php,請在微信外瀏覽器開啟。 官方提供的流程,大家可以看看是不是你想要的樣子

php--H5支付

首先,我們說一下h5支付的應用場景! H5支付是指商戶在微信客戶端外的移動端網頁展示商品或服務,使用者在前述頁面確認使用微信支付時,商戶發起本服務呼起微信客戶端進行支付。 主要用於觸屏版的手機瀏覽器請

關於公眾號支付 H5支付APP支付的問題 (PHP)TP+VUE

話不多說 直接上原始碼 在寫支付之前一定要確定好微信要求配置的相關回調域名 安全支付域名還有雜七雜八的哪些地址都準備好了 要不然是沒法實現的 微信公眾平臺 微信商戶平臺 還有開發者平臺 什麼的 這點比較噁心 1.微信公眾號支付 公眾號支付和H5支付最大的不同就在於公眾號支付使用者有ope

H5支付完整版含PHP回撥頁面

注意事項: 一,微信H5支付只能用在手機瀏覽器中,比如百度瀏覽器,UC瀏覽器等,不可以用在微信中,微信中只可以使用公眾號支付.要特別注意. 二,如果你的h5手機版網站加殼打包封裝成了APP,根據我們的測試,也可以使用微信h5支付.不過.據微信官方說,可能會提示商家引數格式有誤,請聯絡商家解決

Android通過外部瀏覽器呼叫H5支付,Android+PHP詳解

看了好多關於講解微信H5支付開發的文章,大多數都是通過微信內部瀏覽器來呼叫支付介面(其實就是公眾號支付),可能是因為H5支付介面剛開放不久吧。 微信官方體驗連結:http://wxpay.wxutil.com/mch/pay/h5.v2.php,請在

H5支付完整版含PHP回撥頁面.程式碼精簡2018年2月

<?php $sj=date("Y-m-d H:i:s"); $userid=returnuserid($_SESSION["SHOPUSER"]); $uip=$_SERVER["REMOTE_ADDR"]; $money1=sqlzhuru($_POST[t1]); $bh=$ddbh=$_SES

PHP開發之H5支付

最近由於業務所需,對接了微信H5支付,然而微信支付對這塊並沒有現成的demo可用,所以就必須自己老老實實對照開發文件去寫咯!但這對於剛接觸的童鞋來說,坑多多少少還是有的,所以尋思著把自己的經驗分享出來,畢竟現成的用的還是多巴適的嘛! 好了,官方文件的那一套就不

H5支付 提示"網絡環境未能通過安全驗證,請稍後再試"

微信 h5 支付 按照官方https://pay.weixin.qq.com/wiki/doc/api/H5.php?chapter=15_4#接入微信的H5支付,提示“網絡環境未能通過安全驗證,請稍後再試”,經排查發現服務器有前端機子,原先獲取IP的方法有誤,不能正確獲取客戶的IP。更改獲取IP

H5支付開發全過程(除內置以外的瀏覽器)

app 獲取ip getenv 過程 comm ati psi 初始 cli 前言:網上都是~ 呵呵 自己搞 只要花時間 多問客服總會有的 只說程序不說準備工作 自己ID 或者秘鑰都準備好了 寫的有點兒亂 可以把所有的方法 放在一個文件中調用 public funct

h5支付demoH5支付demo非瀏覽器支付demowap支付

demo == tox tex h5支付 esp alt tsig openid 一、首先先確定H5支付權限已經申請!(需要微信h5支付demo的可以加 851 488 243 備註:h5支付) 二、開發流程 1、用戶在商戶側完成下單,使用微信支付進行支付 2、由商戶後臺向

H5支付,從第三方手機瀏覽器中直接打開支付頁面

pan 兩個 add field out 字典 註意 cti 返回 首先在商戶平臺通開H5支付功能,然後幫後綁定,支付完成之後需要跳轉的地址,開通之後就可以開發H5支付; 首先是簽名,臥槽,說到這個就想罵人, 官方文檔的解說;文科生哪能看得懂什麽是集合; 下面就來簽名:

***公眾號支付+H5支付+掃碼支付+小程序支付+APP支付解決方案總結

ati asc alt creat chapter edit 隨機字符串 glob 測試 最近負責的一些項目開發,都用到了微信支付(微信公眾號支付、微信H5支付、微信掃碼支付、APP微信支付)。在開發的過程中,在調試支付的過程中,或多或少都遇到了一些問題,今天總結下,分享,

h5支付

ref 單位 tps ech echo info str name ini <?php const APPID = ‘‘; //受理商ID,身份標識 const MCHID = ‘‘; //商戶支付密鑰Key。審

PHP商戶支付企業付款到零錢功能(完)

微信支付開發文件 一、開通條件 企業付款為企業提供付款至使用者零錢的能力,支援通過API介面付款,或通過微信支付商戶平臺(pay.weixin.qq.com)網頁操作付款。 使用條件 商戶號(或同主體其他非服務商商戶號)已入駐90日 商戶號(或同主體其他非服務商商戶號)有30天

JavaH5支付實際例子

最近看過不少微信H5支付的例子,我是根據這個網址來配置的:https://blog.csdn.net/leigelg/article/details/80456758 這裡已經說的很明白,就是在支付的時候老是提示“網路環境未能通過安全驗證,請稍後重試”後來發現真是IP地址問題,這是我實際專案

PHP APP支付(TP5)

PHP交流群:294088839 1.進行支付請求 他給的DEMO 用的時候有時候會報錯 1).我遇到的情況 把  WxPay.Api.php這個檔案的 postXmlCurl 這個 方法裡  // curl_setopt($ch,CURLOPT

H5支付開發(maven倉庫版)

官方文件:https://pay.weixin.qq.com/wiki/doc/api/H5.php?chapter=15_1 開發之前確認開通了H5支付功能 一、安裝微信sdk  二、建立config類 package com.xiuchefang.config; impo

java開發記錄-H5支付

一點點關於微信H5支付開發的總結. 接入成功後就可以進行程式碼設計啦. 此次測試開發是在springboot環境下完成的,下面列出微信支付用到的相關依賴: <dependency> <groupId>com.g

H5支付demo

首先我們必須得在微信公眾平臺和微信商業平臺那邊配置好相關配置 1、註冊微信服務號,開通微信支付許可權繫結微信商業平臺(這個具體怎麼操作我就不說了) 2、獲取應用(公眾號)appid、應用(公眾號)祕鑰、商戶號、商戶API祕鑰這四個配置資訊 3、微信商業平臺開通H5支付許可權,配置支付域名(是要ICP備案

PHPAPP支付,下單,處理非同步回撥

1.下單 其中陣列轉換xml格式,curl傳送請求,xml格式轉換成陣列可單獨封裝成函式。 public function index() { $order = [ 'appid'=>'12345