一、前言
扯遠了,直接進入該主題的詳解。
二、思路詳解
三、**講解
本次開發環境用的是php5.6 + mysql + redis + linux + apache,所選用的框架的ci框架(這些環境不一定需要和我的一致,框架也可以自己選擇,反正自己稍微修改下**就能移植過去了)。
1、構造乙個鏈結展示給使用者
wxpay.php檔案:這裡我直接附上model的**了,裡面基本上每乙個類每乙個方法甚至每一行**都會有解釋的了,這裡我就不對其展開一句句分析了:<?php
defined('basepath') or exit('no direct script access allowed');
class wxpay extends my_controller
public function index()
}
wxpay_model.php
/**這一步開始去取jsapi支付介面所需要的資料了,這一步算是最主要的一步,這裡還會呼叫統一下單介面獲取到prepay_id,我們跳到* @param [type] $orderid 訂單編號id
* @return [type] [description]
*/ public function confirm($orderid)
$this->wxpay_model->wxpayjsapi($orderdata) 看看:
/**這裡首先是取得下單介面所需要的資料;* @param [type] $data [description]
* @return [type] [description]
*/public function wxpayjsapi($data)
return $returnmessage;}}
接著獲取到code碼,通過code碼獲取到openid;
然後呼叫統一下單介面,取得下單介面的響應資料,即prepay_id;
點選支付這裡我們就分析下這個方法 $this->wxpay_model->wxpaynotify($postdata); 對非同步返回的資料進行安全性校驗,例如驗證簽名,看看model裡的這個方法:* 支付**介面
* @return [type] [description]
*/public function pay_callback() else
$payinfo = array();
$notify = $this->wxpay_model->wxpaynotify($postdata);
if ($notify->checksign == true) elseif ($notify->data['result_code'] == 'fail') else
}$returnxml = $notify->returnxml();
echo $returnxml;
$this->load->library('rediscache');
if($payinfo['status'])else
}
/**如果驗證通過,則就開始進行交易成功或者失敗時所要做的邏輯處理了,這邏輯處理的**我就不寫了,因為每乙個**的處理方式都不一樣,我這裡是這樣處理的,我把思路寫下,方便不懂的朋友可以按著我的思路去完善後續的處理:首先是檢視資料庫裡的訂單日誌表,看這筆交易之前是否已經交易過了,交易過就不用再更新資料表了,如果沒交易過,就會將之前存在redis的訂單資料給取出來,再將這些資料插入到訂單日誌表裡,差不多就這樣處理。* @param [type] $xml [description]
* @return [type] [description]
*/public function wxpaynotify($xml) else
return $notify;
}
微信h5支付
首先需要檢視文件 知道h5支付的步驟 1.前台頁面 h5充值 2.後台介面直接呼叫統一下單 if stringutils.isnotblank ver str string passback order.containskey passback order.get passback string m...
微信平台H5開發
這是開發文件,可以指引你如何安裝。另外,我找了乙個我們公司之前開發過的h5專案,你可以將他安裝在你本地的微擎裡。周五我會約你聊下對這個框架和這個專案的理解。開發文件 非官方 購買伺服器 開發9080埠 瀏覽器訪問studyphp使用者介面 微擎安裝檔案ftp上傳到伺服器web根目錄 瀏覽器位址列執行...
java進行微信h5支付開發
下面是開發流程圖 我們只需要開發紅色標記的模組就可以了。新手第一次寫,寫的不好。1.下面是下單介面 比較麻煩是簽名的獲取 以下是 摘自網路 獲取支付所需簽名 param bizobj param key return throws exception private string getpaycus...