您好,登錄后才能下訂單哦!
今天小編給大家分享一下php微信支付流程是什么的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
微信支付基本流程
微信支付的基本流程可以分為用戶在商家APP或H5頁面下單、商家調用微信支付API進行支付、微信返回交易結果、商家接收支付通知四個步驟。
具體來說,當用戶在商家APP或H5頁面下單時,商家需要把訂單信息傳遞到微信支付平臺,經過微信支付平臺的支付處理后,返回支付結果。當支付結果返回后,商家根據交易結果進行相應的業務處理,并向用戶展示交易結果。
用戶選擇商品并提交訂單;
商戶系統接收到用戶訂單請求,調用微信支付API提交交易請求;
微信支付平臺接收到商戶請求后,驗證用戶身份和支付金額,向用戶發起訂單支付請求。
用戶確認支付,輸入支付密碼
微信支付平臺將支付結果返回商戶系統,并通知用戶支付成功。
微信支付技術原理
微信支付技術原理主要由微信支付API、微信支付平臺、商戶系統三部分組成,下面我們先來看一下微信支付的API。
微信支付API
當商戶系統通過微信支付發起支付請求時,需要通過微信支付API向微信支付平臺發送支付請求。微信支付API是一組RESTful接口,具有高度的可讀性和易使用性,主要包括統一下單、查詢訂單、關閉訂單、申請退款、查詢退款等接口。下面我們主要介紹一下統一下單接口的使用。
統一下單接口的使用步驟
獲取預支付訂單號
在商戶系統中,開發人員通過調用微信支付API的統一下單接口,向微信支付平臺提交支付請求。微信支付平臺收到請求后,對商戶提交的訂單信息進行校驗,然后返回一個預支付訂單號,用于唯一標識該筆訂單。開發人員需要保存該預支付訂單號,并作為后續支付流程的重要參數使用。
統一下單接口調用示例:
<?php require_once "WxPay.Api.php"; $input = new WxPayUnifiedOrder(); $input->SetBody("test"); $input->SetOut_trade_no(WxPayConfig::MCHID . date("YmdHis")); $input->SetTotal_fee("1"); $input->SetTime_start(date("YmdHis")); $input->SetTime_expire(date("YmdHis", time() + 600)); $input->SetNotify_url("http://www.example.com/wxpay/notify.php"); $input->SetTrade_type("APP"); $order = WxPayApi::unifiedOrder($input); print_r($order); ?>
獲取支付參數
在接收到微信支付平臺返回的預支付訂單號后,商戶系統需要再次調用微信支付API的統一下單接口,獲取支付參數。支付參數包括APPID、時間戳、隨機字符串、簽名方式、支付簽名等。支付簽名是商戶系統或第三方支付代理商對支付參數進行加密后的結果,唯一標識該筆交易。商戶系統需要保存這些支付參數,并將其返回給移動端,由移動端喚起微信SDK完成支付流程。
統一下單接口調用示例:
$parameters = [ 'appid' => $app_id, 'partnerid' => $mch_id, 'prepayid' => $prepay_id, 'package' => 'Sign=WXPay', 'noncestr' => $nonce_str, 'timestamp' => $timestamp, ]; ksort($parameters); $string = ''; foreach ($parameters as $key => $value) { $string .= $key . '=' . $value . '&'; } $string .= 'key=' . $key; $parameters['sign'] = strtoupper(md5($string));
微信支付平臺
微信支付平臺是微信的一個支付服務平臺,主要由支付、結算、清算等模塊構成。支付模塊負責接收商戶下發的支付請求并進行處理,接收并處理支付結果通知;結算模塊負責商戶的結算,包括商戶的結算查詢、結算策略配置、生成結算清單等;清算模塊負責定期清算,管理微信支付平臺各功能模塊的財務事務。
商戶系統
商戶系統是微信支付的用戶端,負責接收、處理微信支付平臺發起的各種支付請求,并進行相應的支付操作。文中所提到的商戶系統主要是指PHP商戶系統,通過調用微信支付API傳輸訂單信息、獲取預支付訂單號、獲取支付參數等基本支付操作。
以上就是“php微信支付流程是什么”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。