gmnon.cn-疯狂蹂躏欧美一区二区精品,欧美精品久久久久a,高清在线视频日韩欧美,日韩免费av一区二区

站長資訊網
最全最豐富的資訊網站

php怎么實現話費充值

php實現話費充值的方法:1、開通話費充值接口;2、引入封裝好的代碼類;3、配置接口基本信息;4、提交話費充值訂單;5、將狀態信息推送給相應的URL;6、根據手機及面額查詢是否支持充值;7、通過“if ($local_sign == $sign) {…}”方式進行業務邏輯處理即可。

php怎么實現話費充值

php入門到就業線上直播課:進入學習
Apipost = Postman + Swagger + Mock + Jmeter 超好用的API調試工具:點擊使用

本教程操作環境:windows7系統、PHP8.1版、Dell G3電腦。

php怎么實現話費充值?

基于PHP的聚合話費充值接口示例

一、接口申請開通

本代碼是基于聚合數據的話費充值API實現的話費充值功能,使用前需要:

  • 通過https://www.juhe.cn/docs/api/id/85?s=cpphpcn申請開通話費接口服務。

  • 與聚合簽訂相關服務合同后,才能正式使用。前期您也可以申請開通測試環境,進行對接測試。

  • 詳細的接口說明,可參考聚合官方文檔。

二、接口使用

2.1、引入封裝好的代碼類

include "JuheHuaFei.class.php";
登錄后復制

2.2、配置一些必須的參數

// 接口基本信息配置 $env = 1; // 接口環境類型,1:正式環境接口 2:測試環境接口 $appKey = 'b842820xxxxxxxxxxxxxxxxxx'; //從聚合申請的話費充值接口key $openId = 'JHb0d92d94ce6axxxxxxxxxxx'; //注冊聚合賬號就會分配的openid,在個人中心可以查看 // 初始化 $juheHuaFei = new JuheHuaFei($appKey, $openId, $env);
登錄后復制

2.3、提交話費充值訂單

// 提交話費充值訂單 $orderId = '111111111'; //自己定義一個訂單號,需要保證唯一 $mobile = '189xxxxxxxx'; // 需要充值的手機號碼 $perValue = '1'; // 話費面值,可以選擇的面額1、2、5、10、20、30、50、100、300 $submitOrderResult = $juheHuaFei->submitOrder($mobile, $perValue, $orderId); if ($submitOrderResult) {     if ($submitOrderResult['error_code'] == '0') {         // 訂單提交成功,根據實際業務邏輯進行處理         echo "訂單提交成功,訂單號:" . $submitOrderResult['result']['sporder_id'];         print_r($submitOrderResult);     } else {         // 提交返回碼error_code非正常狀態,依據官方文檔錯誤碼說明,進行邏輯處理         // 比如:10014,系統異常 / 208516,重復的訂單號 等,需要進行二次查詢/人工確認處理,不要直接失敗處理,避免造成不必要的損失         print_r($submitOrderResult);     } } else {     // 可能網絡異常等問題,未獲得正確響應結果,建議進行二次查單/人工確認,不要直接失敗處理,避免造成不必要的損失     // 依據自己的業務邏輯進行處理     echo "請求異常,請確認"; }
登錄后復制

請求結果:

Array (     [reason] => 訂單提交成功,等待充值     [result] => Array         (             [cardid] => 10423             [cardnum] => 1             [ordercash] => 1.06             [cardname] => 江蘇電信話費1元             [sporder_id] => J201125162114667xxxxxxxx             [uorderid] => 111111111             [game_userid] => 189xxxxxxxx             [game_state] => 0         )     [error_code] => 0 )
登錄后復制

2.4、訂單狀態查詢

除主動查詢訂單狀態,你還可以向聚合提供狀態回調通知URL,訂單狀態有變化,聚合將會主動將狀態信息推送給相應的URL。

// 話費訂單充值狀態查詢 $orderId = '111111111'; // 需要查詢的訂單號,即提交訂單時傳遞的orderId $orderStatusResult = $juheHuaFei->queryOrderStatus($orderId); if ($orderStatusResult) {     // 打印返回結果     print_r($orderStatusResult);     // 根據實際業務邏輯進行處理     if ($orderStatusResult['error_code'] == '0') {         //查詢成功         if ($orderStatusResult['result']['game_state'] == '1') {             // 訂單充值成功了             echo "訂單充值成功";         } elseif ($orderStatusResult['result']['game_state'] == '9') {             // 訂單充值失敗             echo "訂單充值失敗";         } elseif ($orderStatusResult['result']['game_state'] == '0') {             // 訂單充值中             echo "訂單充值中";         } elseif ($orderStatusResult['result']['game_state'] == '-1') {             //訂單受理失敗,可能是如運營商維護、賬戶余額不足等情況             echo "訂單受理失敗";         }     } else {         //查詢狀態失敗,可能訂單號不存在等情況         echo "查詢失敗:" . $orderStatusResult['reason'] . "(" . $orderStatusResult['error_code'] . ")";     } } else {     // 可能網絡異常等問題,未獲得正確響應結果,建議進行二次查詢     // 依據自己的業務邏輯進行處理     echo "請求異常,請確認"; }
登錄后復制

返回結果:

Array (     [reason] => 查詢成功     [result] => Array         (             [uordercash] => 1.060             [sporder_id] => J2011251629516xxxxxxxxxx             [game_state] => 9         )     [error_code] => 0 )
登錄后復制

2.5、根據手機及面額查詢是否支持充值

主要通過號段進行判斷是否支持充值,實際業務中可以不使用本小接口。

// 根據手機號碼及面額查詢是否支持充值 $mobile = '1342966xxxx'; // 手機號碼 $perValue = '10'; // 話費面值 $telCheckResult = $juheHuaFei->telCheck($mobile, $perValue); if ($telCheckResult) {     if($telCheckResult['error_code'] == '0'){         //說明支持充值,可以繼續充值操作,以下可以根據實際需求修改         echo "OK";     }else{         //暫不支持充值,以下可以根據實際需求修改         echo "對不起,該面額暫不支持充值";     } } else {     // 可能網絡異常等問題,未獲得正確響應結果,建議進行二次查詢     // 依據自己的業務邏輯進行處理     echo "請求異常,請確認"; }
登錄后復制

2.6、根據手機和面額獲取商品信息

實際業務中可以不使用本小接口。

// 根據手機號碼和面額獲取商品信息 $mobile = '1342966xxxx'; // 手機號碼 $perValue = '10'; // 話費面值 $telQueryResult = $juheHuaFei->telQuery($mobile, $perValue); if ($telQueryResult) {     if($telQueryResult['error_code'] == '0'){         // 查詢成功,可以根據實際邏輯修改         print_r($telQueryResult);     }else{         // 查詢失敗,可以根據實際邏輯修改         print_r($telQueryResult);     } } else {     // 可能網絡異常等問題,未獲得正確響應結果,建議進行二次查詢     // 依據自己的業務邏輯進行處理     echo "請求異常,請確認"; }
登錄后復制

返回結果:

Array (     [reason] => 查詢成功     [result] => Array         (             [cardid] => 10880             [cardname] => 浙江移動話費10元             [inprice] => 10.2             [game_area] => 浙江杭州移動         )     [error_code] => 0 )
登錄后復制

2.7、訂單狀態通知

推送URL地址:自行提供給聚合進行配置 (為了更安全,你也可以將聚合推送服務器的IP進行加白名單處理)

推送方式:POST

推送參數:

php怎么實現話費充值

PHP接收異步通知(回調)參考代碼:

/**  * 接受話費加油卡流量充值業務 異步通知參數 參考示例  */ $appkey = "b842820xxxxxxxxxxxxxxxxxx"; //您申請的數據的APIKey   $sporder_id = addslashes($_POST['sporder_id']); //聚合訂單號 $orderid = addslashes($_POST['orderid']); //商戶的單號 $sta = addslashes($_POST['sta']); //充值狀態 $sign = addslashes($_POST['sign']); //校驗值   $local_sign = md5($appkey.$sporder_id.$orderid); //本地sign校驗值   if ($local_sign == $sign) {     if ($sta == '1') {         //充值成功,根據自身業務邏輯進行后續處理     } elseif ($sta =='9') {         //充值失敗,根據自身業務邏輯進行后續處理     } }
登錄后復制

2.8、JuheHuaFei.class.php

JuheHuaFei.class.php 完整代碼

<?php //---------------------------------- // 聚合數據-手機話費充值API調用類--示例代碼 // 官方接口文檔:https://www.juhe.cn/docs/api/id/85 //---------------------------------- class JuheHuaFei {     private $appkey;     private $openid;     // 提交訂單接口URL     private $submitUrl;     // 訂單狀態查詢接口URL     private $orderStatusUrl;     // 檢測手機號碼是否能充值URL     private $telCheckUrl;     // 根據手機號和面值查詢商品URL     private $telQueryUrl;     /**      * JuheHuaFei constructor.      * @param [string] $appkey [接口密鑰]      * @param [string] $openid [賬號openid]      * @param [int] [$env 接口環境類型 1:正式環境 2:測試環境]      */     public function __construct($appkey, $openid, $env = 1)     {         $this->appkey = $appkey; // 申請到的話費接口請求key         $this->openid = $openid; // OpenID在聚合個人中心查詢         if ($env == 1) {             // 正式環境,接口地址             $this->submitUrl = 'http://op.juhe.cn/ofpay/mobile/onlineorder'; // 提交訂單接口URL             $this->orderStatusUrl = 'http://op.juhe.cn/ofpay/mobile/ordersta'; // 訂單狀態查詢接口URL             $this->telCheckUrl = 'http://op.juhe.cn/ofpay/mobile/telcheck'; // 檢測手機號碼是否能充值URL             $this->telQueryUrl = 'http://op.juhe.cn/ofpay/mobile/telquery'; // 根據手機號和面值查詢商品URL         } else {             // 測試環境,接口地址             $this->submitUrl = 'http://test-v.juhe.cn/ofpay/mobile/onlineorder'; // 提交訂單接口URL             $this->orderStatusUrl = 'http://test-v.juhe.cn/ofpay/mobile/ordersta'; // 訂單狀態查詢接口URL             $this->telCheckUrl = 'http://test-v.juhe.cn/ofpay/mobile/telcheck'; // 檢測手機號碼是否能充值URL             $this->telQueryUrl = 'http://test-v.juhe.cn/ofpay/mobile/telquery'; // 根據手機號和面值查詢商品URL         }     }     /**      * 提交話費充值訂單      * @param  [string] $mobile   [手機號碼]      * @param  [int] $pervalue [充值面額]      * @param  [string] $orderid  [自定義單號]      * @return  [array]      */     public function submitOrder($mobile, $pervalue, $orderid)     {         $sign = md5($this->openid . $this->appkey . $mobile . $pervalue . $orderid);// 校驗值計算         $params = array(             'key' => $this->appkey,             'phoneno' => $mobile,             'cardnum' => $pervalue,             'orderid' => $orderid,             'sign' => $sign         );         $content = $this->juheHttpRequest($this->submitUrl, $params, 1);         return $this->_returnArray($content);     }     /**      * 查詢訂單的充值狀態      * @param  [string] $orderid [自定義單號]      * @return  [array]      */     public function queryOrderStatus($orderid)     {         $params = 'key=' . $this->appkey . '&orderid=' . $orderid;         $content = $this->juheHttpRequest($this->orderStatusUrl, $params);         return $this->_returnArray($content);     }     /**      * 根據手機號碼及面額查詢是否支持充值      * @param string $mobile [手機號碼]      * @param int $pervalue [充值金額]      * @return  boolean      */     public function telCheck($mobile, $pervalue)     {         $params = 'key=' . $this->appkey . '&phoneno=' . $mobile . '&cardnum=' . $pervalue;         $content = $this->juheHttpRequest($this->telCheckUrl, $params);         return $this->_returnArray($content);     }     /**      * 根據手機號碼和面額獲取商品信息      * @param string $mobile [手機號碼]      * @param int $pervalue [充值金額]      * @return  array      */     public function telQuery($mobile, $pervalue)     {         $params = 'key=' . $this->appkey . '&phoneno=' . $mobile . '&cardnum=' . $pervalue;         $content = $this->juheHttpRequest($this->telQueryUrl, $params);         return $this->_returnArray($content);     }     /**      * 將JSON內容轉為數據,并返回      * @param string $content [內容]      * @return array      */     public function _returnArray($content)     {         return json_decode($content, true);     }     /**      * 請求接口返回內容      * @param string $url [請求的URL地址]      * @param string $params [請求的參數]      * @param int $ipost [是否采用POST形式]      * @return  string      */     public function juheHttpRequest($url, $params = false, $ispost = 0)     {         $httpInfo = array();         $ch = curl_init();         curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);         curl_setopt($ch, CURLOPT_USERAGENT, 'JuheData');         curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);         curl_setopt($ch, CURLOPT_TIMEOUT, 30);         curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);         if ($ispost) {             curl_setopt($ch, CURLOPT_POST, true);             curl_setopt($ch, CURLOPT_POSTFIELDS, $params);             curl_setopt($ch, CURLOPT_URL, $url);         } else {             if ($params) {                 curl_setopt($ch, CURLOPT_URL, $url . '?' . $params);             } else {                 curl_setopt($ch, CURLOPT_URL, $url);             }         }         $response = curl_exec($ch);         if ($response === FALSE) {             //echo "cURL Error: " . curl_error($ch);             return false;         }         $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);         $httpInfo = array_merge($httpInfo, curl_getinfo($ch));         curl_close($ch);         return $response;     } }
登錄后復制

推薦學習:《PHP視頻教程》

贊(0)
分享到: 更多 (0)
?
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
gmnon.cn-疯狂蹂躏欧美一区二区精品,欧美精品久久久久a,高清在线视频日韩欧美,日韩免费av一区二区
www.色就是色| 加勒比av中文字幕| 国产精品亚洲二区在线观看| 波多野结衣天堂| 2022中文字幕| 国产成人精品视频ⅴa片软件竹菊| www.亚洲天堂网| 国产av不卡一区二区| www插插插无码免费视频网站| 青草青青在线视频| www.桃色.com| 一级片视频免费观看| 欧美中文字幕在线观看视频| 免费无码不卡视频在线观看| 在线黄色免费观看| 日本中文字幕网址| avove在线观看| 91手机视频在线| 国产精品自在自线| 亚洲精品mv在线观看| 欧美精品第三页| 国产精品99久久免费黑人人妻| 国产精品自拍合集| 五月天在线免费视频| 日本免费在线视频观看| 91精品视频国产| 三日本三级少妇三级99| 999精品视频在线| 欧美午夜aaaaaa免费视频| 少妇性饥渴无码a区免费| 黄色片视频在线免费观看| 免费在线观看日韩视频| 亚洲色图38p| 黄黄视频在线观看| 久久精品xxx| 午夜视频在线瓜伦| 熟女性饥渴一区二区三区| 日韩亚洲在线视频| www.成人黄色| 久久人人爽人人爽人人av| 91精品国产91久久久久麻豆 主演| 国产一线二线三线女| 日韩欧美一区二| 欧美在线a视频| 精品久久一二三| 日韩第一页在线观看| 国内精品视频一区二区三区| 激情内射人妻1区2区3区| 手机福利在线视频| 国产男女在线观看| 91网站在线观看免费| 国产偷人视频免费| 无码人妻aⅴ一区二区三区日本| 国产精品免费入口| 国产又粗又猛大又黄又爽| 日韩av片网站| 国产又粗又爽又黄的视频| 黄色高清视频网站| 三级在线视频观看| 美女av免费在线观看| 视色,视色影院,视色影库,视色网 日韩精品福利片午夜免费观看 | 婷婷丁香激情网| 免费在线精品视频| 国产精品h视频| theporn国产精品| 青青草原av在线播放| ijzzijzzij亚洲大全| 99re精彩视频| 中文av字幕在线观看| 久久精品香蕉视频| 91热这里只有精品| 亚洲激情在线观看视频| 亚洲欧美国产日韩综合| 亚洲午夜无码av毛片久久| av免费播放网址| 中文字幕成人在线视频| 青青草久久伊人| 天堂av在线中文| 欧美日本视频在线观看| 日韩视频在线免费看| 国产精品视频分类| www.亚洲成人网| 成人在线观看黄| 无套内谢丰满少妇中文字幕| 免费在线看黄色片| 国产精品99久久免费黑人人妻| 黄色一级二级三级| 成人小视频在线观看免费| 日本一道在线观看| 日韩精品视频久久| 91制片厂免费观看| 亚洲 欧美 日韩系列| 永久免费在线看片视频| 午夜免费福利小电影| 欧美一级小视频| 天堂…中文在线最新版在线| 欧美视频国产视频| 久草综合在线观看| 国产在线青青草| 免费一级淫片aaa片毛片a级| 亚洲视频一二三四| 成熟老妇女视频| 免费高清在线观看免费| 成人一级生活片| 玖玖精品在线视频| 久久观看最新视频| 日日夜夜精品视频免费观看| 人妻内射一区二区在线视频 | 婷婷免费在线观看| 久久久久久久久久久99| 国产九九九视频| 国产女同无遮挡互慰高潮91| 日日摸日日碰夜夜爽无码| www成人免费| 97视频在线免费| 一卡二卡三卡视频| a级黄色小视频| 俄罗斯av网站| 亚洲黄色片免费| 久久免费一级片| 黄色三级中文字幕| www.中文字幕在线| 一区二区成人网| 国风产精品一区二区| 99er在线视频| 黄色高清无遮挡| 日本高清xxxx| 国内外成人免费激情视频| 精品国产av无码一区二区三区| 国产精品久久久久久久乖乖| 久久无码高潮喷水| 国产精品99久久久久久大便| 国产免费黄色小视频| 人人干人人干人人| 国产美女永久无遮挡| 欧美美女一级片| 日韩一级性生活片| 色中文字幕在线观看| 男人亚洲天堂网| 人人妻人人做人人爽| 中文字幕一区二区三区四区五区人| 成人午夜精品久久久久久久蜜臀| 手机在线看福利| 国产主播中文字幕| 国模杨依粉嫩蝴蝶150p| 日韩a∨精品日韩在线观看| 亚洲国产精品影视| 香蕉视频xxxx| 日本一本在线视频| 性欧美在线视频| av亚洲天堂网| 日韩高清第一页| 男人插女人下面免费视频| 三级在线视频观看| 亚洲va在线va天堂va偷拍| 鲁一鲁一鲁一鲁一av| 成人免费在线观看视频网站| 中文字幕第21页| 欧美午夜aaaaaa免费视频| 妞干网在线视频观看| 免费在线观看亚洲视频| 成人一级片网站| 九九九九九九九九| 高清无码一区二区在线观看吞精| 做a视频在线观看| 国产乱叫456| 少妇久久久久久被弄到高潮| 手机在线观看日韩av| 亚洲人成无码网站久久99热国产| 樱花草www在线| 蜜臀精品一区二区| 精品视频一区二区在线| 国产探花在线观看视频| 男女啪啪的视频| 九九爱精品视频| 欧美性受xxxx黒人xyx性爽| 777av视频| 国产女主播av| 国产传媒免费观看| 久久人妻精品白浆国产| 国产精品久久成人免费观看| aⅴ在线免费观看| 久久国产亚洲精品无码| 欧美人与动牲交xxxxbbbb| 久久国产激情视频| 亚洲最大综合网| 老熟妇仑乱视频一区二区| www黄色日本| 欧美这里只有精品| 在线观看三级网站| 成人免费黄色av| 久久久久久久久影视| 性生生活大片免费看视频| 熟妇人妻va精品中文字幕| 亚洲国产精品久久久久婷蜜芽| 天堂网成人在线| 手机看片日韩国产| 国产又粗又爽又黄的视频| 操人视频免费看| 色欲色香天天天综合网www|