基於H5的微信支付開發詳解

2022-07-29 20:27:18 字數 2451 閱讀 2477

一、前言

扯遠了,直接進入該主題的詳解。

二、思路詳解

三、**講解

本次開發環境用的是php5.6 + mysql + redis + linux + apache,所選用的框架的ci框架(這些環境不一定需要和我的一致,框架也可以自己選擇,反正自己稍微修改下**就能移植過去了)。

1、構造乙個鏈結展示給使用者

wxpay.php檔案:

<?php

defined('basepath') or exit('no direct script access allowed');

class wxpay extends my_controller

public function index()

}

這裡我直接附上model的**了,裡面基本上每乙個類每乙個方法甚至每一行**都會有解釋的了,這裡我就不對其展開一句句分析了:

wxpay_model.php

/**

* @param [type] $orderid 訂單編號id

* @return [type] [description]

*/ public function confirm($orderid)

這一步開始去取jsapi支付介面所需要的資料了,這一步算是最主要的一步,這裡還會呼叫統一下單介面獲取到prepay_id,我們跳到

$this->wxpay_model->wxpayjsapi($orderdata) 看看:

/**

* @param [type] $data [description]

* @return [type] [description]

*/public function wxpayjsapi($data)

return $returnmessage;}}

這裡首先是取得下單介面所需要的資料;

接著獲取到code碼,通過code碼獲取到openid;

然後呼叫統一下單介面,取得下單介面的響應資料,即prepay_id;

點選支付

* 支付**介面

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

}

這裡我們就分析下這個方法 $this->wxpay_model->wxpaynotify($postdata); 對非同步返回的資料進行安全性校驗,例如驗證簽名,看看model裡的這個方法:

/**

* @param [type] $xml [description]

* @return [type] [description]

*/public function wxpaynotify($xml) else

return $notify;

}

如果驗證通過,則就開始進行交易成功或者失敗時所要做的邏輯處理了,這邏輯處理的**我就不寫了,因為每乙個**的處理方式都不一樣,我這裡是這樣處理的,我把思路寫下,方便不懂的朋友可以按著我的思路去完善後續的處理:首先是檢視資料庫裡的訂單日誌表,看這筆交易之前是否已經交易過了,交易過就不用再更新資料表了,如果沒交易過,就會將之前存在redis的訂單資料給取出來,再將這些資料插入到訂單日誌表裡,差不多就這樣處理。

微信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...