基于php的加油卡充值接口调用代码实例
程序员文章站
2022-03-17 10:45:14
...
// +---------------------------------------------------------------------- //---------------------------------- // 加油卡充值调用示例代码 - 聚合数据 // 在线接口文档:http://www.juhe.cn/docs/87 //---------------------------------- header('Content-type:text/html;charset=utf-8'); //配置您申请的appkey $appkey = "*********************"; //************1.订单状态查询************ $url = "http://op.juhe.cn/ofpay/sinopec/ordersta"; $params = array( "orderid" => "",//商家订单号,8-32位字母数字组合 "key" => $appkey,//应用APPKEY(应用详细页查询) ); $paramstring = http_build_query($params); $content = juhecurl($url,$paramstring); $result = json_decode($content,true); if($result){ if($result['error_code']=='0'){ print_r($result); }else{ echo $result['error_code'].":".$result['reason']; } }else{ echo "请求失败"; } //************************************************** //************2.账户余额查询************ $url = "http://op.juhe.cn/ofpay/sinopec/yue"; $params = array( "timestamp" => "",//当前时间戳,如:1432788379 "key" => $appkey,//应用APPKEY(应用详细页查询) "sign" => "",//校验值,md5(OpenID+key+timestamp),OpenID在个人中心查询 ); $paramstring = http_build_query($params); $content = juhecurl($url,$paramstring); $result = json_decode($content,true); if($result){ if($result['error_code']=='0'){ print_r($result); }else{ echo $result['error_code'].":".$result['reason']; } }else{ echo "请求失败"; } //************************************************** //************3.加油卡充值************ $url = "http://op.juhe.cn/ofpay/sinopec/onlineorder"; $params = array( "proid" => "",//产品id:10000(中石化50元加油卡)、10001(中石化100元加油卡)、10003(中石化500元加油卡)、10004(中石化1000元加油卡)、10007(中石化任意金额充值)、10008(中石油任意金额充值) "cardnum" => "",//充值数量 任意充 (整数(元)),其余面值固定值为1 "orderid" => "",//商家订单号,8-32位字母数字组合 "game_userid" => "",//加油卡卡号,中石化:以100011开头的卡号、中石油:以9开头的卡号 "gasCardTel" => "",//持卡人手机号码 "gasCardName" => "",//持卡人姓名 "chargeType" => "",//加油卡类型 (1:中石化、2:中石油;默认为1) "key" => $appkey,//应用APPKEY(应用详细页查询) "sign" => "",//校验值,md5(OpenID+key+proid+cardnum+game_userid+orderid),OpenID在个人中心查询 ); $paramstring = http_build_query($params); $content = juhecurl($url,$paramstring); $result = json_decode($content,true); if($result){ if($result['error_code']=='0'){ print_r($result); }else{ echo $result['error_code'].":".$result['reason']; } }else{ echo "请求失败"; } //************************************************** /** * 请求接口返回内容 * @param string $url [请求的URL地址] * @param string $params [请求的参数] * @param int $ipost [是否采用POST形式] * @return string */ function juhecurl($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 , 60 ); curl_setopt( $ch, CURLOPT_TIMEOUT , 60); curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true ); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 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; }
上一篇: thinkphp框架下实现登录、注册、找回密码功能
下一篇: 获取文件后缀的9种方法