ThinkPHP5.0整合支付寶行動支付介面類
thinkphp5.0整合支付寶支付,thinkphp5.0整合微信支付,行動app支付
thinkphp5.0整合支付寶行動支付代碼功能實作
app接入支付寶支付時,如果用戶手機沒有安裝支付寶客戶端,則會呼叫支付寶的行動支付h5頁。
如果安裝了支付寶支付,則會喚醒支付寶客戶端進行支付,用戶提現最佳。
支付寶文檔地址:
https://doc.open.alipay.com/docs/doc.htm?spm=a219a.7386797.0.0.Y4jDIe&treeId=59&articleId=103563&docType=1
🎟服務端進行組合,最後傳回給客戶端一個處理後的字串。
產生的標準的字串有提供:
partner="2088101568358171"&seller_id="xxx@alipay.com"&out_trade_no="0819145412-6177"&subject="A&body="測試測試測試檢測測試ify_url="http://notify.msp.hk/notify.htm"&service="mobile.securitypay.pay"&payment_type="1"&_input_charset="utf-8"&it_b_pay="30m"&sign="lBBK%2F0w5LOajrMrr74EI30m dw% 2Ba3JnfHXoXuet6XNNHtn7VE%2BeCoRO1O%2BR1KugLrQEZMtG5jmJIe2pbjm%2F3kb%2FuGkpG%2BwYQYI51%2BhA3YBbvZ2FuGkpG%2BwYQYI51%2BhA3YBbvZZ134KbvZ17 代碼部分:
//支付寶支付
function this->is_login();
require_once EXTEND_PATH.'Alipay/alipaycore.php';
$order_id = input("request.order_id"); if($order_id = = 0){<br> ajaxmsg('非法資料',0);<br> }<br> ")->find();<br> //建立請求<br> $out_trade_no = $order_info['order_sn'];<br> $ <br> $body = '訂單付款'; / /商品詳情<br> $alipay_config = Config::get('alipay_config');<br> //請求項, 'partner'=>$alipay_config['partner'],/ /合作者身分ID<br> 'seller_id'=>$alipay_config['seller_id'],<br> 'subject'=>'訂單支付',//商品名稱<br> 'body'=>$body,//商品詳情<br> ) $alipay_config['notify_url'],//伺服器非同步通知頁路徑<br> 'service'=>$ alipay_config['service'],//介面名稱<br> 'payment_type'=>$alipay_config['payment_type'],//付款類型],//參數編碼字元集<br> );<br> //將post接收到的陣列所有元素,依照「參數=參數值」的模式以「&」字元拼接成字串。 <br> $data = createLinkstring($parameter);<br><br> //列印待簽章字串。工程目錄下的log資料夾中的log.txt。 <br> logResult($data);<br><br> //將待簽章字串使用aSign($data, $alipay_config[ 'private_key']));<br><br> //將簽章所得到的sign及簽章型別sign_type拼接在待簽章字串後方。 <br> $data = $data.'&sign='.'"'.$rsa_sign.'"'.'&sign_type='.'"'.$alipay 客戶端,建議在客戶端使用私鑰對應的公鑰做一次驗簽,保證不是他人傳輸。 <br> //echo $data;<br> $list['form'] = $data;<br> <br> //支付寶支付通知<br> public function alipay_notify_url ()<br> {<br> $alipay_config = Config::get('alipay_config');
notify($alipay_config); if($alipayNotify->getResponse($_POST[ 'notify_id']))//判斷成功之後使用getResponse方法判斷是否是支付寶發來的非同步通知。 <br> {<br> if($alipayNotify->getSignVeryfy //-請依照您的業務邏輯來編寫程式(以下程式碼僅供參考)-<br> $out_trade_no = $_POST['out_trade_no'];<br><br> 號碼<br> $trade_no = $_POST['trade_no'];<br> $trade_status = $_POST['trade_status'];<br><br> //判斷該筆訂單是否已在商家網站中已處理過處理<br> //如上所處理,並依訂單編號(out_trade_no)在商家網站的訂單中程序<br> //若有使用,並未執行商家的業務程序<br> //退款日期超過退款期限後(如三個月可退款),支付寶系統發送此交易狀態通知<br> //請務必中使用的<br> }<br> $order_info = Db::name("order")->where("order_sn='{$out_trade_no}'")- >find();<br> if($order_info['status'] == 0){ //更新付款狀態及付款時間<br> ['id']}")->save(<br> array(<br> 'pay_ways'=>2,<br> "pay_sn"=>$trade_no,<br> 'pay_time'=>time(),<br> 'stauts'=>1<br> ));<br> $this->fenxiao_account($out_trade <br> }<br> echo "success"; //請不要修改或刪除<br> }<br> else //驗證簽名失敗<br> {<br> echo "sign fail";<br> }<br> }<br> else //驗證是否來自支付寶的通知失敗<br> {<br> echo "response fail";<br> }<br> } <br>我寫的就是一個標準的下訂單的流程,主要是<br>要能喚醒支付寶客戶端,喚醒支付寶是第一步,說明協議,帳號,密鑰方式都一致。 <br>第二步是要支付成功後接受支付寶的通知,更細自己服務端的資料庫。 <br>防止重複更新訂單和用戶資金帳戶。 <br>
程式碼我已經貼上去了,把我整合好的原始碼包直接放到extend目錄即可,在controller裡面直接呼叫即可。
注意設定檔要寫對,尤其是公鑰和私鑰的產生方式,注意上傳到支付寶平台中心。
技術交流群:495654168
Alipay.zip ( 140.02 KB 下載:24 次 )

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

了解Python程式設計的入門程式碼範例Python是一種簡單易學,功能強大的程式語言。對於初學者來說,了解Python程式設計的入門級程式碼範例是非常重要的。本文將為您提供一些具體的程式碼範例,幫助您快速入門。列印HelloWorldprint("HelloWorld")這是Python中最簡單的程式碼範例。 print()函數用於將指定的內容輸出

《Go語言程式設計實例:Web開發中的程式碼範例》隨著網路的快速發展,Web開發已成為各行業中不可或缺的一部分。作為一門功能強大且效能優越的程式語言,Go語言在Web開發中越來越受到開發者們的青睞。本文將透過具體的程式碼範例,介紹如何利用Go語言進行Web開發,讓讀者更能理解並運用Go語言來建立自己的Web應用。 1.簡單的HTTP伺服器首先,讓我們從一個

PHP變數儲存程式運行期間的值,對於建立動態且互動的WEB應用程式至關重要。本文將深入探討php變量,並透過10個真實的範例展示它們的實際應用。 1.儲存使用者輸入$username=$_POST["username"];$passWord=$_POST["password"];此範例從表單提交中提取使用者名稱和密碼,並將其儲存在變數中以供進一步處理。 2.設定配置值$database_host="localhost";$database_username="username";$database_pa

Java冒泡排序最簡單的程式碼範例冒泡排序是一種常見的排序演算法,它的基本想法是透過相鄰元素的比較和交換來將待排序序列逐步調整為有序序列。以下是一個簡單的Java程式碼範例,示範如何實作冒泡排序:publicclassBubbleSort{publicstaticvoidbubbleSort(int[]arr){int

標題:從入門到精通:Go語言中常用資料結構的程式碼實作資料結構在程式設計中起著至關重要的作用,它是程式設計的基礎。在Go語言中,有許多常用的資料結構,掌握這些資料結構的實作方式對於成為優秀的程式設計師至關重要。本文將介紹Go語言中常用的資料結構,並給出對應的程式碼範例,幫助讀者從入門到精通這些資料結構。 1.數組(Array)數組是一種基本的資料結構,是一組相同類型

華為雲端邊緣運算對接指南:Java程式碼範例快速實現介面隨著物聯網技術的快速發展和邊緣運算的興起,越來越多的企業開始關注邊緣運算的應用。華為雲端提供了邊緣運算服務,為企業提供了高可靠的運算資源和便利的開發環境,使得邊緣運算應用更容易實現。本文將介紹如何透過Java程式碼快速實現華為雲端邊緣運算的介面。首先,我們需要準備好開發環境。確保你已經安裝了Java開發工具包(

如何使用PHP編寫庫存管理系統中的庫存分倉管理功能碼庫存管理是許多企業中不可或缺的一部分。對於擁有多個倉庫的企業來說,庫存分倉管理功能尤其重要。透過合理管理和追蹤庫存,企業可以實現不同倉庫之間的庫存調撥,優化營運成本,改善協同效率。本文將介紹如何使用PHP編寫庫存分倉管理功能的程式碼,並為您提供相關的程式碼範例。一、建立資料庫在開始編寫庫存分倉管理功能的程式碼之

Java選擇排序法程式碼編寫指南及範例選擇排序是一種簡單直觀的排序演算法,其想法是每次從未排序的元素中選擇最小(或最大)的元素進行交換,直到所有元素排序完成。本文將提供選擇排序的程式碼編寫指南,並附上具體的Java範例程式碼。演算法原理選擇排序的基本原理是將待排序數組分為已排序和未排序兩部分,每次從未排序部分選擇最小(或最大)的元素,將其放到已排序部分的末尾。重複上述
