国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

PHP接入支付寶接口失效流程詳解

瀏覽:93日期:2022-06-01 18:02:12

最近在寫個(gè)需要簡(jiǎn)單支付的小項(xiàng)目,用到了支付寶接口,現(xiàn)已完成。把php接入支付寶的流程寫在這里供像我一樣的小白參考。

1.首先要有一個(gè)創(chuàng)建一個(gè)應(yīng)用(選好自己想要的功能,關(guān)于支付的功能,貌似都需要簽約)

PHP接入支付寶接口失效流程詳解

2.下載SDK&Dome網(wǎng)址

https://doc.open.alipay.com/docs/doc.htm?spm=a219a.7629140.0.0.CBtzBF&treeId=203&articleId=105910&docType=1

PHP接入支付寶接口失效流程詳解

我選擇的是MD5簽名方式,下面紅框內(nèi)就是做好的php Demo

PHP接入支付寶接口失效流程詳解

lib文件很重要,是整個(gè)接口的核心類文件; alipay.config.php是相關(guān)參數(shù)的配置文件 alipayapi.php 是支付寶接口入口文件 notify_url.php 是服務(wù)器異步通知頁面文件; return_url.php 是頁面跳轉(zhuǎn)同步通知文件;

3.打開alipay.config.php

PHP接入支付寶接口失效流程詳解

4.配置完成后這個(gè)小例子就能直接訪問了

PHP接入支付寶接口失效流程詳解 PHP接入支付寶接口失效流程詳解 通過這個(gè)例子,我們就能靈活運(yùn)用了 開發(fā)文檔:

https://doc.open.alipay.com/docs/doc.htm?treeId=203&articleId=105288&docType=1

嵌入thinkphp3.2.3 我保留了

PHP接入支付寶接口失效流程詳解

重新命名為

PHP接入支付寶接口失效流程詳解

分別給這五個(gè)文件加上命名空間

PHP接入支付寶接口失效流程詳解

這四個(gè)文件的命名空間改為

PHP接入支付寶接口失效流程詳解

Alipay.class.php 有改動(dòng)

?phpnamespace ExtendAlipay;class Alipay { public function pay($alipay_config,$args){ /**************************請(qǐng)求參數(shù)**************************/ //支付類型 $payment_type = '1'; //必填,不能修改 //服務(wù)器異步通知頁面路徑 $notify_url = $args[’notify_url’]; //需http://格式的完整路徑,不能加?id=123這類自定義參數(shù) //頁面跳轉(zhuǎn)同步通知頁面路徑 $return_url = $args[’return_url’]; //需http://格式的完整路徑,不能加?id=123這類自定義參數(shù),不能寫成http://localhost/ //商戶訂單號(hào) $out_trade_no = $args[’out_trade_no’]; //商戶網(wǎng)站訂單系統(tǒng)中唯一訂單號(hào),必填 //訂單名稱 $subject = '測(cè)試'; //必填 //付款金額 $total_fee = $args[’total’]; //必填 //訂單描述 $body = 'test'; //需以http://開頭的完整路徑,例如:http://www.商戶網(wǎng)址.com/myorder.html //防釣魚時(shí)間戳 $anti_phishing_key = ''; //若要使用請(qǐng)調(diào)用類文件submit中的query_timestamp函數(shù) //客戶端的IP地址 $exter_invoke_ip = ''; //非局域網(wǎng)的外網(wǎng)IP地址,如:221.0.0.1 /************************************************************/ //構(gòu)造要請(qǐng)求的參數(shù)數(shù)組,無需改動(dòng) $parameter = array( 'service' => 'create_direct_pay_by_user', 'partner' => trim($alipay_config[’partner’]), 'seller_id' => trim($alipay_config[’seller_id’]), 'payment_type' => $payment_type, 'notify_url' => $notify_url, 'return_url' => $return_url, 'out_trade_no' => $out_trade_no, 'subject' => $subject, 'total_fee' => $total_fee, 'body' => $body, 'show_url' => $show_url, 'anti_phishing_key' => $anti_phishing_key, 'exter_invoke_ip' => $exter_invoke_ip, '_input_charset' => trim(strtolower($alipay_config[’input_charset’])) ); //建立請(qǐng)求 $alipaySubmit = new libAlipaySubmit($alipay_config); $html_text = $alipaySubmit->buildRequestForm($parameter,'get', '確認(rèn)'); echo $html_text; }}

在config.php配置文件里配置參數(shù)

PHP接入支付寶接口失效流程詳解

然后新建控制器TextController.class.php

<?phpnamespace HomeController;use ThinkController;use ExtendAlipay as Alipays;class TextController extends Controller { public function index(){ $this->display(); } public function dobuy(){ $out_trade_no = date(’YmdHis’); $baseurl = ’http://’.$_SERVER[’HTTP_HOST’]; $args = array( ’out_trade_no’=>$out_trade_no, ’notify_url’=> $baseurl.’/index.php/Home/Text/notifyurl.html’, ’return_url’=> $baseurl.’/index.php/Home/Text/returnurl.html’, ’total’=> $_POST[’WIDtotal_fee’], ); $s = new AlipaysAlipay(); $s->pay(C(’alipay’),$args); } // 同步跳轉(zhuǎn) public function returnurl(){ $alipay_config = C(’alipay’); //計(jì)算得出通知驗(yàn)證結(jié)果 $alipayNotify = new AlipayslibAlipayNotify($alipay_config); $verify_result = $alipayNotify->verifyReturn(); if($verify_result) {//驗(yàn)證成功 //商戶訂單號(hào) $out_trade_no = $_GET[’out_trade_no’]; //支付寶交易號(hào) $trade_no = $_GET[’trade_no’]; //交易狀態(tài) $trade_status = $_GET[’trade_status’]; if($_GET[’trade_status’] == ’TRADE_FINISHED’ || $_GET[’trade_status’] == ’TRADE_SUCCESS’) {//交易成功 }else { echo 'trade_status='.$_GET[’trade_status’]; }echo '驗(yàn)證成功<br />'; }else { //驗(yàn)證失敗 //如要調(diào)試,請(qǐng)看alipay_notify.php頁面的verifyReturn函數(shù) echo '驗(yàn)證失敗'; } } // 異步跳轉(zhuǎn) public function notifyurl(){ $alipay_config = C(’alipay’); //計(jì)算得出通知驗(yàn)證結(jié)果 $alipayNotify = new AlipaysAlipayNotify($alipay_config); $verify_result = $alipayNotify->verifyNotify(); if($verify_result) {//驗(yàn)證成功 $out_trade_no = $_POST[’out_trade_no’]; //支付寶交易號(hào) $trade_no = $_POST[’trade_no’]; //交易狀態(tài) $trade_status = $_POST[’trade_status’]; if($_POST[’trade_status’] == ’TRADE_FINISHED’||$_POST[’trade_status’] == ’TRADE_SUCCESS’) { //交易成功 } echo 'success'; //請(qǐng)不要修改或刪除 } else { //驗(yàn)證失敗 echo 'fail'; //調(diào)試用,寫文本函數(shù)記錄程序運(yùn)行情況是否正常 //logResult('這里寫入想要調(diào)試的代碼變量值,或其他運(yùn)行的結(jié)果記錄'); } }}

然后

PHP接入支付寶接口失效流程詳解

這樣就成功完成簡(jiǎn)單的支付功能了

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: 支付寶
相關(guān)文章:
主站蜘蛛池模板: 亚洲视频aaa | 亚洲一区不卡 | 亚洲国产精品一区二区三区 | 成人国产精品免费视频不卡 | 加勒比色久综合在线 | 在线久草视频 | 精品国产一区二区三区久 | 毛片视频网站在线观看 | 日本一级毛片片在线播放 | 精品国产欧美一区二区五十路 | 亚洲日本在线观看视频 | 国产啪在线| 正在播放的国产a一片 | xxxwww黄色 | 欧美视频一区二区专区 | 日韩亚洲一区二区三区 | 亚洲欧美日韩精品永久在线 | 国产精品久久免费观看 | 免费国产视频在线观看 | 久久91精品牛牛 | 在线观看视频一区二区三区 | 亚洲精品91香蕉综合区 | 亚洲欧美日产综合在线看 | 国产精品国产亚洲精品看不卡 | 亚洲最新视频在线观看 | 国内精品视频九九九九 | 久久精品亚瑟全部免费观看 | 国产乱码精品一区二区三区四川人 | 成年女人免费毛片视频永久 | 国内视频一区二区 | 草草视频手机在线观看视频 | 成人免费高清视频 | 亚洲欧美日韩中文字幕在线一区 | 美女和男人免费网站视频 | 欧美激情一区二区亚洲专区 | 日本欧美一区二区三区高清 | 久久爱com| 最新主播福利视频在线观看 | 国内精品久久久久不卡 | 欧美视频一区二区三区在线观看 | 免费观看黄色毛片 |