日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

ping php支付,thinkphp框架中引出ping++支付server SDK

發布時間:2025/3/19 php 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ping php支付,thinkphp框架中引出ping++支付server SDK 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

thinkphp框架中引入ping++支付server SDK

ping++支付平臺整合了支付寶,微信支付,百度錢包,銀聯支付等主流支付方式。而且其開發文檔,也很容易理解和上手,所以想寫篇博客,記錄下來(thinkphp)服務器端使用其SDK的步驟【test模式下】。

開始之前 最好先看一看官方文檔對于支付過程的解釋:

第一步:去www.pingxx.com新注冊一個賬號。注冊完成進入個人中心后,你將會得到一些參數:

①Test Secret Key:(該參數在server端配置,用于和客戶端的Test Publishable Key配合使用)

②ping++公鑰:(支付完成后,平臺往server端返回webhooks,此參數用于驗證交易安全性)

③Test Publishable Key:(該參數用于客戶端,與上面server端的的Test Serect Key配合使用)

④商戶公鑰:(用于server端和平臺交易時,RSA簽名的驗證),至于如何產生商戶公鑰對,根據圖中藍色字的引導,很容易就完成了,此處不再贅述。產生了公鑰對之后,把公鑰填寫在下圖中的textarea中,私鑰留著先,后面有用。

第二步:下載官方的server端SDK,PHP的下載鏈接是https://github.com/PingPlusPlus/pingpp-php

下載好了之后,加壓出來,放在thinkphp第三方庫擴展目錄里面:

如左圖所示,lib文件夾,init.php,還有第一步④產生的公鑰對中的

私鑰放進去。至于data文件夾里的文件,是使用HTTPS時用的安全證書,暫時也拿過來。

第三步:在代碼中使用上面的參數,看看引入是否成功:(示例代碼如下)

public function index(){ $api_key = '請填寫自己的Test Serect Key'; //API-KEY,注冊ping++時自動生成$app_id = '請填寫自己的APP的ID'; //APP_ID,注冊時自動生成 Vendor('pingpp.init'); //引入類庫初始化文件 //以支付寶,支付10塊錢。注意amount為1000,單位是”分錢“ $input_data = array('channel'=>'alipay', 'amount'=>1000); //$input_data應該是你從APP客戶端收到的json數據(根據業務可以在服務器端定義),需json_decode if (empty($input_data['channel']) || empty($input_data['amount'])) { echo 'channel or amount is empty'; //檢驗支付參數 exit();} $channel = strtolower($input_data['channel']); //支付渠道:支付寶$amount = $input_data['amount']; //支付金額10塊錢$orderNo = substr(md5(time()), 0, 12); //訂單號,必須唯一。根據支付渠道不同,長度要求也不一樣,請查看文檔https://www.pingxx.com/api#api-c-new\Pingpp\Pingpp::setPrivateKeyPath(VENDOR_PATH . '/pingpp/rsa_private_key.pem'); //引入你的簽名私鑰//$extra用于設置支付渠道所需的額外參數,額外參數多數是可選,請根據需求來決定。詳情看參考文檔// $extra = array( // 'success_url' => 'http://example.com/success', // 'cancel_url' => 'http://example.com/cancel' // );\Pingpp\Pingpp::setApiKey($api_key); //設置API-KEYtry { $ch = \Pingpp\Charge::create( //create方法表示發送支付請求到ping++平臺,$ch表示請求成功時返回的charge對象(json格式),服務器端如果發起請求成功,此時只需要把charge對象傳遞給APP客戶端,交給客戶端處理 array( 'subject' => 'Your Subject', //關于這些參數的意義,請參考文檔https://www.pingxx.com/api#api-c-new 'body' => 'Your Body', 'amount' => $amount, 'order_no' => $orderNo, 'currency' => 'cny', // 'extra' => $extra, 'channel' => $channel, 'client_ip' => $_SERVER['REMOTE_ADDR'], 'app' => array('id' => $app_id) ) ); echo $ch;} catch (\Pingpp\Error\Base $e) { //如果發起支付請求失敗,則拋出異常 // 捕獲報錯信息 if ($e->getHttpStatus() != NULL) { header('Status: ' . $e->getHttpStatus()); echo $e->getHttpBody(); } else { echo $e->getMessage(); }}//代碼到此處,如果你向ping++平臺請求支付成功,并且把charge對象傳遞給了客戶端,那么接下來客戶端如果成功完成了支付,那么//平臺將會請求你填寫的Webhooks回調url,在該url里,接收 Webhooks 通知,根據數據的結果做出邏輯判斷:如果支付成功....,如果支付失敗...

如果此時,能在瀏覽器返回一串json數據,那么你的初步調試就通過了。

第四步:填寫你的webhook的回調地址。如果客戶端發起的支付,已經完成交易,那么交易成功的json消息,會

返回到該回調地址,你根據json消息,對自己的數據庫和業務作出相應的回應或者拋出支付錯誤信息。webhook的填

寫,請到個人中心去填寫,很容易的,不再贅述。

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的ping php支付,thinkphp框架中引出ping++支付server SDK的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。