一、接口申请开通
本代码是基于天聚人合的话费充值API实现的话费充值功能,使用前需要:
- 通过https://www.tianjurenhe.com/docs/api/?id=1申请开通话费接口服务。
你可以在个人中心 ➡️ 数据中心 ➡️ 我的API 模块看到此接口的调用凭证请求key - 与人合签订相关服务合同后,才能正式使用。前期您也可以申请开通测试环境,进行对接测试。
- 详细的接口说明,可参考聚合官方文档。
二、接口使用
2.1、配置一些必须的参数
header('Content-type:text/html;charset=utf-8');
//配置您申请的appkey
$appkey = "*********************";
2.2、订单状态查询
$url = "http://op.tianjurenhe.com/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.3、加油卡充值
$url = "http://op.tianjurenhe.com/ofpay/sinopec/onlineorder";
$params = array(
"proid" => "",//产品id:10000(中石化50元加油卡)[暂不支持]、10001(中石化100元加油卡)、10003(中石化500元加油卡)、10004(中石化1000元加油卡)、10007(中石化任意金额充值)[暂不支持]、10008(中石油任意金额充值)
"cardnum" => "",//充值数量(产品id为10007、10008时为具体充值金额(整数),其余产品id请传固定值1);注:中石油任意冲(产品id:10008)暂时只支持100\200\500\1000
"orderid" => "",//商家订单号,8-32位字母数字组合
"game_userid" => "",//加油卡卡号,中石化:以100011开头的卡号、中石油:以9开头的卡号
"gasCardTel" => "",//持卡人手机号码,可以填写一个固定格式的手机号码,如:18900000000
"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 "请求失败";
}
2.4、配置请求接口返回内容的方法
/**
* 请求接口返回内容
* @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;
}