亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > PHP > 正文

ThinkPHP框架下整合支付寶支付功能圖文教程

2024-05-05 00:08:10
字體:
來源:轉載
供稿:網友

本文實例講述了ThinkPHP框架下整合支付寶支付功能。分享給大家供大家參考,具體如下:

背景

  • 近期項目需要接入支付寶支付功能,其中開發使用了ThinkPHP3.2.3框架,通過參考開發平臺文檔可以知道,網站開發有兩種場景,一種是手機網站支付,直接喚醒支付寶app進入支付操作;另一種多是 PC 端顯示支付二維碼的形式,然后使用手機的支付寶app掃描。
  • 此處主要介紹手機網站支付的實現,后期補充掃碼支付。

一.接入配置

1).接入步驟

根據“快速接入”中的流程,兩者大同小異,都是進行:

  • 第一步:創建應用并獲取APPID
  • 第二步:配置密鑰
  • 第三步:搭建和配置開發環境
  • 第四步:調用接口

2).配置截圖

ThinkPHP,支付寶,支付

3).提示說明

雖然官方文檔已經做的很詳細、成熟,不過還是有幾點需要著重提醒一下,以免不必要的糾結。

  • 應用創建成功后需要大概一到三天的審核
  • 配置密鑰時建議下載其提供的加密工具,可參考RSA密鑰生成方法
  • 此處我所下載的是開發平臺服務端SDK中的PHP版資源,而非DEMO文件,相信兩者還是有所區別的

     

二.手機網站支付接口實現

1).測試入口頁面

如下圖所示,我在此創建了一個簡單的入口文件,根據開發文檔中的介紹是需要統一編碼格式的,此處我選擇的是UTF-8 
ThinkPHP,支付寶,支付

2).html代碼參考

需要注意的是,接口指明需要POST方式進行提交請求 
ThinkPHP,支付寶,支付

3).支付寶配置信息

對于支付寶的配置信息,我寫在 Application/Common/Conf/config.php中

//支付寶 支付配置  'ALI_CONFIG' => array(    'gatewayUrl'      => 'https://openapi.alipay.com/gateway.do',//支付寶網關(固定)'    'appId'         => '2017xxxxxxxx9',//APPID即創建應用后生成    //由開發者自己生成: 請填寫開發者私鑰去頭去尾去回車,一行字符串    'rsaPrivateKey'     => 'MIIExxxxxxxxxxxxxxxxxxxxxxxxxxxq',    //支付寶公鑰,由支付寶生成: 請填寫支付寶公鑰,一行字符串    'alipayrsaPublicKey'  => 'IIBxxxxxxxxxxxxxxxxxxxEFAA',    'notifyUrl'       => 'http://www.xxx.com/m/cartpay/notify_ali', // 支付成功通知地址    'returnUrl'       => 'http://www.xxx.com', // 支付后跳轉地址    'returnPcUrl'      => 'http://www.xxx.com/Home', // PC端掃碼支付后跳轉地址  ),

4).服務端SDK導入

將前面所下載的SDK放入自定義的位置,在此,我習慣放在如下的路徑中,…/ThinkPHP/Library/Vendor/Alipay,特別提醒一點,對于各文件類的引用會依據代碼框架而不同,需要自行確認。

5).支付接口實現

在請求喚醒支付寶支付的路徑中進行接口代碼的編輯

ThinkPHP,支付寶,支付

提示

  • 通過實驗發現,如果在電腦端進行此功能的支付測試,會報出如下的類似錯誤,個人認為源于手機和PC的內置配置不同
  • 對于手機網站支付需要在手機上測試,可自行配置虛擬域名手機訪問即可,不要在此問題上花費不必要的時間
  • 因為本人就是在電腦有報錯,手機端訪問卻能完美實現,從而走了驗證簽名的過程到最后卻并非錯在簽名,當然也不排除你的操作過程簽名一定是沒問題的哦.

ThinkPHP,支付寶,支付
ThinkPHP,支付寶,支付

代碼實現如下:
  /**   * 支付寶支付post提交頁面   */  public function alipay(){    if (IS_POST){      Vendor('Alipay.aop.AopClient');      Vendor('Alipay.aop.request.AlipayTradeWapPayRequest');      //$out_trade_no = I('post.order_sn');      /*       * $out_trade_no 為自己業務邏輯中要支付的訂單號       *   可從POST數據中提取,具體安全起見可自行加密操作 此處僅舉例測試數據       * $order_amount 為要進行支付的金額 注意要用小數轉換       *   例如:3.50,10.00       * $aliConfig 獲取支付寶配置數據       */      $out_trade_no = '2017M'.time();      $body = '歡迎購買商品,愿您購物愉快';      $subject = '你好';      $order_amount = 9.00;      $aliConfig = C('ALI_CONFIG');      $aop = new /AopClient();      $aop->gatewayUrl = $aliConfig['gatewayUrl'];      $aop->appId = $aliConfig['appId'];      $aop->rsaPrivateKey = $aliConfig['rsaPrivateKey'];      $aop->alipayrsaPublicKey=$aliConfig['alipayrsaPublicKey'];      $aop->apiVersion = '1.0';      $aop->postCharset='UTF-8';      $aop->format='json';      $aop->signType='RSA2';      $request = new /AlipayTradeWapPayRequest ();      $bizContent = "{" .        "  /"body/":/"$body./"," .        "  /"subject/":/"$subject/"," .        "  /"out_trade_no/":/"$out_trade_no/"," .        "  /"timeout_express/":/"90m/"," .        "  /"total_amount/":$order_amount," .        "  /"product_code/":/"QUICK_WAP_WAY/"" .        " }";      $request->setBizContent($bizContent);      $request->setNotifyUrl($aliConfig['notifyUrl']);      $request->setReturnUrl($aliConfig['returnUrl']);      $result = $aop->pageExecute ( $request);      echo $result;    }else{      echo 'sorry,非法請求失敗';    }  }

6).支付成功后的通知處理

此時,通過獲取所提交過來的post數據,進行訂單號的剝離,從而進行下一步的業務邏輯處理即可. 
[注意]:

  • 接口文檔中有點明,支付通知功能最后需要輸出‘success'
  • 此處的通知路徑要與配置中確定的 ‘notifyUrl'完全一致
 /**  * 支付寶支付通知功能  */  public function notify_ali(){    $out_trade_no = I('post.out_trade_no');    $this->toUpdatePayInfo($out_trade_no,'ali');    echo 'success';  }

三.電腦網站支付接口實現

對比來看,其實 PC 端的代碼設計與手機端大同小異,在此點明一下使用情景,可進行參考。

1).支付接口實現

ThinkPHP,支付寶,支付

提示:

  • 測試發現,接口中定義“subject”時,對于文字的數目有要求,不能超過四個字,至于字母似乎沒有特別限制,開發過程中原想顯示全部的商品名稱卻無法實現,還請注意。

  • 提供的代碼暫時未進行界面的設計,可參考 手機端接口思想,接收并處理訂單信息后再喚醒支付寶,當前的代碼可以在公共文件配置正確的情況下,直接公網訪問接口鏈接即可展示效果。

  • 支付成功后的通知處理,請參考手機端實現方式.

2).實現效果截圖

ThinkPHP,支付寶,支付

ThinkPHP,支付寶,支付

ThinkPHP,支付寶,支付

3).代碼實現如下:

 /**   * 電腦端喚醒 支付寶掃碼支付接口   */  public function aliPayPage(){    $out_trade_no = '2017PC'.time();    $order_amount = '12.88';    $proName = "真米黑米 XXXXXX";    Vendor('Alipay.aop.AopClient');    Vendor('Alipay.aop.request.AlipayTradePagePayRequest');    //構造參數    $aop = new /AopClient();    $aliConfig = C('ALI_CONFIG');    $aop->gatewayUrl = $aliConfig['gatewayUrl'];    $aop->appId = $aliConfig['appId'];    $aop->rsaPrivateKey = $aliConfig['rsaPrivateKey'];    $aop->apiVersion = '1.0';    $aop->signType = 'RSA2';    $aop->postCharset= 'utf-8';    $aop->format='json';    $request = new /AlipayTradePagePayRequest ();    $request->setReturnUrl($aliConfig['returnPcUrl']);    $request->setNotifyUrl($aliConfig['notifyUrl']);    $request->setBizContent(      "{" .      "  /"product_code/":/"FAST_INSTANT_TRADE_PAY/"," .      "  /"subject/":/"$proName/"," .      "  /"out_trade_no/":/"$out_trade_no/"," .      "  /"total_amount/":$order_amount," .      "  /"body/":/"Iphone6 16G/"" .      " }");    //請求    $result = $aop->pageExecute ($request);    //輸出    echo $result;  }

附錄:

源代碼下載>>>

希望本文所述對大家基于ThinkPHP框架的PHP程序設計有所幫助。


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产成人精品最新| 欧美另类第一页| 综合av色偷偷网| 亚洲最新av网址| 亚洲一区二区三区在线视频| 国产精品人成电影在线观看| 久久99久国产精品黄毛片入口| 午夜免费在线观看精品视频| 国产欧美精品久久久| 九九视频这里只有精品| 久久av资源网站| 亚洲a成v人在线观看| 精品久久久久久久久久ntr影视| 欧美激情视频网址| 欧美激情亚洲激情| 国产成人97精品免费看片| 韩国精品美女www爽爽爽视频| 日韩美女在线播放| 亚洲黄页视频免费观看| 51ⅴ精品国产91久久久久久| 国产精品美女久久| 高跟丝袜欧美一区| 国产精品高潮呻吟久久av野狼| 91tv亚洲精品香蕉国产一区7ujn| 永久免费精品影视网站| 欧美激情啊啊啊| 91精品久久久久久久久久久久久久| 亚洲精品在线视频| 国产精品入口福利| 91a在线视频| 色先锋资源久久综合5566| 97激碰免费视频| 久久成年人免费电影| xvideos成人免费中文版| 午夜欧美大片免费观看| 欧美大片免费观看在线观看网站推荐| 国产精品久久久久久久久久尿| 精品国产乱码久久久久久天美| 国产成人自拍视频在线观看| 日韩在线视频线视频免费网站| 亚洲无线码在线一区观看| 国产精品入口福利| 日韩欧美视频一区二区三区| 日韩精品极品视频免费观看| 26uuu另类亚洲欧美日本老年| 色777狠狠综合秋免鲁丝| 国产91精品在线播放| 欧美一级片久久久久久久| 91精品国产高清自在线| 亚洲va电影大全| 亚洲午夜精品久久久久久性色| 日韩在线视频观看正片免费网站| 国产精品永久免费观看| 久久这里只有精品99| 成人福利在线观看| 欧美一级片在线播放| 亚洲性无码av在线| 国产成人一区二区三区电影| 亚洲一级一级97网| 久久久久久久久久久91| 欧美最近摘花xxxx摘花| 亚洲精品xxx| 久久久久久国产免费| 亚洲精品白浆高清久久久久久| 正在播放欧美视频| 国产乱肥老妇国产一区二| 成人久久一区二区| 亚洲一区二区三区毛片| 久久久精品2019中文字幕神马| 国产一区二区三区在线视频| 日本最新高清不卡中文字幕| 欧美性少妇18aaaa视频| 亚洲a∨日韩av高清在线观看| 亚洲欧美三级伦理| 成人福利在线视频| 欧美亚洲激情视频| 久久久av免费| 91在线视频一区| 国产综合色香蕉精品| 欧美日韩国产一中文字不卡| 亚洲激情免费观看| 亚洲国产精品久久| 国产视频精品va久久久久久| 久久国产精品网站| 91精品视频免费看| 欧美黑人视频一区| 国产精品成人免费视频| 91精品国产高清自在线| 欧美成人中文字幕在线| 久久久国产在线视频| 久久久久一本一区二区青青蜜月| 日韩久久精品成人| 免费97视频在线精品国自产拍| 国产精品久久久久久久久久| 欧美日韩国产激情| 精品久久久久久久久久久久久| 欧美精品在线视频观看| 亚洲色图美腿丝袜| 亚洲第五色综合网| 欧美在线国产精品| 亚洲一区二区三区四区在线播放| 亚洲女同精品视频| 亚洲精品一区久久久久久| 日韩一中文字幕| 欧美激情一级欧美精品| 国产综合久久久久久| 欧美视频13p| 成人激情综合网| 中文字幕在线看视频国产欧美在线看完整| 欧美日韩在线观看视频| 在线中文字幕日韩| 欧美成人免费在线观看| 欧美片一区二区三区| 91av视频在线免费观看| 欧美大尺度激情区在线播放| 欧美成人国产va精品日本一级| 成人精品一区二区三区电影免费| 中文字幕亚洲专区| 亚洲免费视频网站| 91色精品视频在线| 在线精品播放av| 亚洲第一区中文99精品| 国产精品午夜一区二区欲梦| 亚洲精品成人久久电影| 亚洲国产精久久久久久| 国产精品亚洲欧美导航| 欧美夫妻性生活xx| 亚洲娇小xxxx欧美娇小| 欧美超级乱淫片喷水| 久久精品视频在线| 亚洲国产精品999| 91天堂在线视频| 成人av在线天堂| 国内精品久久久久久久| 91精品视频在线看| 成人在线免费观看视视频| 日韩欧美一区视频| 91成人性视频| 国产精品一久久香蕉国产线看观看| 国产精品美女视频网站| 亚洲色图美腿丝袜| 久久久精品国产亚洲| 日韩成人性视频| 亚洲欧美一区二区三区在线| 欧美中文字幕视频在线观看| 理论片在线不卡免费观看| 国产一区二区三区直播精品电影| 亚洲成人av片在线观看| 久久久久这里只有精品| 日韩少妇与小伙激情| 中文国产亚洲喷潮| 国产国语videosex另类| 欧美丰满片xxx777| 欧美在线国产精品| 日韩av在线免费观看一区| 57pao成人国产永久免费| 亚洲国产精品久久久| 亚洲欧美在线x视频| 欧美网站在线观看| 日韩美女av在线免费观看| 日日噜噜噜夜夜爽亚洲精品| 亚洲精品国产精品自产a区红杏吧| 992tv成人免费影院| 高清日韩电视剧大全免费播放在线观看|