php微信支付流程是什么

今天小編給大家分享一下php微信支付流程是什么的相關(guān)知識點,內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

創(chuàng)新互聯(lián)成都企業(yè)網(wǎng)站建設(shè)服務(wù),提供成都網(wǎng)站設(shè)計、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)網(wǎng)站開發(fā),網(wǎng)站定制,建網(wǎng)站,網(wǎng)站搭建,網(wǎng)站設(shè)計,響應(yīng)式網(wǎng)站開發(fā),網(wǎng)頁設(shè)計師打造企業(yè)風(fēng)格網(wǎng)站,提供周到的售前咨詢和貼心的售后服務(wù)。歡迎咨詢做網(wǎng)站需要多少錢:18982081108

微信支付基本流程

微信支付的基本流程可以分為用戶在商家APP或H5頁面下單、商家調(diào)用微信支付API進(jìn)行支付、微信返回交易結(jié)果、商家接收支付通知四個步驟。

具體來說,當(dāng)用戶在商家APP或H5頁面下單時,商家需要把訂單信息傳遞到微信支付平臺,經(jīng)過微信支付平臺的支付處理后,返回支付結(jié)果。當(dāng)支付結(jié)果返回后,商家根據(jù)交易結(jié)果進(jìn)行相應(yīng)的業(yè)務(wù)處理,并向用戶展示交易結(jié)果。

  1. 用戶選擇商品并提交訂單;

  2. 商戶系統(tǒng)接收到用戶訂單請求,調(diào)用微信支付API提交交易請求;

  3. 微信支付平臺接收到商戶請求后,驗證用戶身份和支付金額,向用戶發(fā)起訂單支付請求。

  4. 用戶確認(rèn)支付,輸入支付密碼

  5. 微信支付平臺將支付結(jié)果返回商戶系統(tǒng),并通知用戶支付成功。

微信支付技術(shù)原理

微信支付技術(shù)原理主要由微信支付API、微信支付平臺、商戶系統(tǒng)三部分組成,下面我們先來看一下微信支付的API。

微信支付API

當(dāng)商戶系統(tǒng)通過微信支付發(fā)起支付請求時,需要通過微信支付API向微信支付平臺發(fā)送支付請求。微信支付API是一組RESTful接口,具有高度的可讀性和易使用性,主要包括統(tǒng)一下單、查詢訂單、關(guān)閉訂單、申請退款、查詢退款等接口。下面我們主要介紹一下統(tǒng)一下單接口的使用。

統(tǒng)一下單接口的使用步驟

  1. 獲取預(yù)支付訂單號
    在商戶系統(tǒng)中,開發(fā)人員通過調(diào)用微信支付API的統(tǒng)一下單接口,向微信支付平臺提交支付請求。微信支付平臺收到請求后,對商戶提交的訂單信息進(jìn)行校驗,然后返回一個預(yù)支付訂單號,用于唯一標(biāo)識該筆訂單。開發(fā)人員需要保存該預(yù)支付訂單號,并作為后續(xù)支付流程的重要參數(shù)使用。

統(tǒng)一下單接口調(diào)用示例:

<?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);
?>
  1. 獲取支付參數(shù)
    在接收到微信支付平臺返回的預(yù)支付訂單號后,商戶系統(tǒng)需要再次調(diào)用微信支付API的統(tǒng)一下單接口,獲取支付參數(shù)。支付參數(shù)包括APPID、時間戳、隨機字符串、簽名方式、支付簽名等。支付簽名是商戶系統(tǒng)或第三方支付代理商對支付參數(shù)進(jìn)行加密后的結(jié)果,唯一標(biāo)識該筆交易。商戶系統(tǒng)需要保存這些支付參數(shù),并將其返回給移動端,由移動端喚起微信SDK完成支付流程。

統(tǒng)一下單接口調(diào)用示例:

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

微信支付平臺

微信支付平臺是微信的一個支付服務(wù)平臺,主要由支付、結(jié)算、清算等模塊構(gòu)成。支付模塊負(fù)責(zé)接收商戶下發(fā)的支付請求并進(jìn)行處理,接收并處理支付結(jié)果通知;結(jié)算模塊負(fù)責(zé)商戶的結(jié)算,包括商戶的結(jié)算查詢、結(jié)算策略配置、生成結(jié)算清單等;清算模塊負(fù)責(zé)定期清算,管理微信支付平臺各功能模塊的財務(wù)事務(wù)。

商戶系統(tǒng)

商戶系統(tǒng)是微信支付的用戶端,負(fù)責(zé)接收、處理微信支付平臺發(fā)起的各種支付請求,并進(jìn)行相應(yīng)的支付操作。文中所提到的商戶系統(tǒng)主要是指PHP商戶系統(tǒng),通過調(diào)用微信支付API傳輸訂單信息、獲取預(yù)支付訂單號、獲取支付參數(shù)等基本支付操作。

以上就是“php微信支付流程是什么”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學(xué)習(xí)更多的知識,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

分享標(biāo)題:php微信支付流程是什么
本文地址:http://bm7419.com/article14/ipojde.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營銷、App設(shè)計服務(wù)器托管外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站導(dǎo)航面包屑導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)