很多站长朋友们都不太清楚php对接充值缴费,今天小编就来给大家整理php对接充值缴费,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 手机电话费充值 有没有php接口的 2、 php如何做充值接口,给个提示 3、 php 后台怎么把多种支付方式集成在一起 可以先择性安装 手机电话费充值 有没有php接口的最近正在做一个小项目,其中一个要实现手机话费充值功能。我在网上搜罗了很久,最终找了聚合数据上的那个手机话费充值api接口,下面就分享一下,希望对需求的朋友有所帮助。
聚合数据是一个API聚合平台,提供了超多各类API,它的手机话费充值api接口也是不错的。
1.手机话费充值API
1.1检测手机号码是否能充值
接口地址:
支持格式:json
请求方式:http post/get
请求示例:;phoneno=13429667914key=您申请的KEY
接口备注:检测手机号码及金额是否能充值
请求参数说明:
名称
类型
必填
说明
phoneno
string
是
手机号码
cardnum
string
是
充值金额,目前可选:10、20、30、50、100、300
key
string
是
应用APPKEY(应用详细页查询)
返回参数说明:
名称
类型
说明
error_code
int
返回码
reason
string
返回说明
result
string
返回结果集
JSON返回示例:
{ "reason": "允许充值的手机号码及金额", "result": null, "error_code": 0 }
1.2根据手机号和面值查询商
接口地址:
支持格式:json
请求方式:http get/post
请求示例:;phoneno=18913515635key=您申请的KEY
接口备注:根据手机号和面值查询商品信息
请求参数说明:
名称
类型
必填
说明
phoneno
string
是
手机号码
cardnum
string
是
充值金额,目前可选:10、20、30、50、100、300
key
string
是
应用APPKEY(应用详细页查询)
返回参数说明:
名称
类型
说明
error_code
int
返回码
reason
string
返回说明
result
string
返回结果集
JSON返回示例:
{ "reason": "成功", "result": { "cardid": "191404", "cardname": "江苏电信话费100元直充", "inprice": 98.4, "game_area": "江苏苏州电信" }, "error_code": 0 }
1.3手机直充接口
接口地址:
支持格式:json
请求方式:http get/post
请求示例:;phoneno=18913513535cardnum=100orderid=2014111111113sign=fb1ed32a9540c24b03cc0c06aabbb642
接口备注:依据用户提供的请求为指定手机直接充值,***如果充值过程中,遇到http网络状态异常或错误码返回系统异常100014,请务必通过订单查询接口检测订单或联系客服,不要直接做失败处理,避免照成不必要的损失!!!
请求参数说明:
名称
类型
必填
说明
phoneno
string
是
手机号码
cardnum
string
是
充值金额,目前可选:10、20、30、50、100、300
orderid
string
是
商家订单号,8-32位字母数字组合,由您自己生成
key
string
是
应用APPKEY(应用详细页查询)
sign
string
是
校验值,md5(OpenID+key+phoneno+cardnum+orderid),OpenID在个人中心查询
返回参数说明:
名称
类型
说明
error_code
int
返回码
reason
string
返回说明
result
string
返回结果集
JSON返回示例:
{ "reason": "订单提交成功,等待充值", "result": { "cardid": "1900212", "cardnum": "1", "ordercash": 49.25, "cardname": "江苏电信话费50元直充", "sporder_id": "20141120174602882", "uorderid":"2014123115121", "game_userid": "18913515122", "game_state": "0" }, "error_code": 0 }
1.4订单状态查询
接口地址:
支持格式:json
请求方式:http get/post
请求示例:;orderid=a112244411a
接口备注:查询订单的最新状态,请确认订单成功提交后,再查询哦~
请求参数说明:
名称
类型
必填
说明
orderid
string
是
商家订单号,8-32位字母数字组合,请填写已经成功提交的订单号
key
string
是
应用APPKEY(应用详细页查询)
返回参数说明:
名称
类型
说明
error_code
int
返回码
reason
string
返回说明
result
string
返回结果集
JSON返回示例:
{ "reason": "查询成功", "result": { "uordercash": "5.000", "sporder_id": "20150511163237508", "game_state": "1" }, "error_code": 0 }
1.5状态回调配置
充值接口测试完毕,需联系在线客服进行回调配置。
演示:
最后,附《手机话费充值》资费说明:
卡种
面额
价格
10元话费直冲
¥10.00
¥9.80~¥10.2
20元话费直冲
¥20.00
¥19.60~¥20.1
30元话费直冲
¥30.00
¥29.54~¥30
50元话费直冲
¥50.00
¥49.25~¥50
100元话费直冲
¥100.00
¥99.4~¥100
300元话费直冲
¥300.00
¥295.5~¥296.4
php如何做充值接口,给个提示类似如下就行:
<?php
//chongzhi.php页面
if(isset($_POST['id'])??isset($_POST['money'])??intval($_POST['id'])??intval($_POST['money'])){
????//此处进行充值操作的代码,比如插入数据库等...
????echo?'充值成功!'
}else{
????echo?'请将信息填充完整!';
}
?>
<form?action="chongzhi.php"?method="post">
充值账号:<input?type="text"?name="id"><br>
充值金额:<input?type="text"?name="money"><br>
<input?type="submit"?name="submit"?value="确定充值">
</form>
?更多问题可以去php中文网问答社区提问,大神在线帮你解决,希望对你有帮助
php 后台怎么把多种支付方式集成在一起 可以先择性安装本文将介绍如何快速通过PHP类库来集成、整合支付宝来实现充值功能。如果你的系统想要扩充积分、账户余额等功能,那么就要选择一个第三方支付系统来充值。
支付宝集成时,需要三大步:
1、通过表单提交信息,系统整合信息,提交信息到支付宝;
2、用户进行支付后,支付宝后台通知系统处理;
3、支付宝后台通知完成后,支付宝前台跳转到系统返回地址;
支付宝PHP类
PHP 类alipay_notify,主要功能是付款过程中服务器通知处理。
PHP 类alipay_service,根据支付宝外部服务接口生成支付宝地址。
我把这2个类,集中到一个文件alipay.class.inc中,点击这里查看并下载PHP支付宝类源码。
下面主要主要讲解通过支付宝的PHP类来实现整合。
PHP支付宝集成
第一步,建立提交充值的基本信息:
zhifubao-chongzhi PHP支付宝集成 建立提交充值的基本信息
第二步,验证用户提交的金额正确,通过表单验证后,通过支付宝alipay_service类生成支付宝链接,然后跳转到支付宝链接。
function index() {
$total = intval($_POST['total']);
if (!$total) {
$total = 1;
}
$pay_bank = trim($_POST['pay_bank']);
$account = $_POST['_account'];
$base_path = ‘http://’.$_SERVER['HTTP_HOST'].base_path();
$order_id = date(‘YmdHis’, time()); //时间值作为唯一的订单ID号
$subject = $body = ‘LixiPHP充值’.$total.’元’;
$out_trade_no = date(‘YmdHis’, time()).’-’.$account->student['sid'];
//合作身份者ID,以2088开头的16位纯数字
$partner = ’20887015**9*7**’;
//安全检验码,以数字和字母组成的32位字符
$security_code = ‘gc2qxh4**ab***3jp8*****2ptxewks4′;
//签约支付宝账号或卖家支付宝帐户
$seller_email = ‘seller@alipay测试数据’;
$_input_charset = "UTF-8";
$sign_type = "MD5"; //签名方式
$transport = ‘https’;//字符编码格式
$parameter = array(
"service" => "create_direct_pay_by_user", //交易类型
"partner" => $partner, //合作商户号
"return_url" => $base_path.’alipay/return’, //同步返回
"notify_url" => $base_path.’alipay/notify’, //异步返回
"_input_charset" => ‘UTF-8′, //字符集,默认为GBK
"subject" => $subject, //商品名称,必填
"body" => $subject, //商品描述,必填
"out_trade_no" => $out_trade_no, //商品外部交易号,必填(保证唯一性)
"price" => $total, //商品单价,必填(价格不能为0)
"payment_type" => "1", //默认为1,不需要修改
"quantity" => "1", //商品数量,必填
"paymethod" => ‘directPay’,
"defaultbank" => $pay_bank,
"logistics_fee" =>’0.00′, //物流配送费用
"logistics_payment" =>’BUYER_PAY’, //物流费用付款方式:SELLER_PAY(卖家支付)、BUYER_PAY(买家支付)、BUYER_PAY_AFTER_RECEIVE(货到付款)
"logistics_type" =>’EXPRESS’, //物流配送方式:POST(平邮)、EMS(EMS)、EXPRESS(其他快递)
//"receive _mobile" => ”, //收货人手机
"show_url" => $base_path, //商品相关网站
"seller_email" => $seller_email, //卖家邮箱,必填
);
require("libraries/payment/alipay.class.inc");
$alipay = new alipay_service($parameter, $security_code, $sign_type);
$link = $alipay->create_url();
header("Location: ".$link);
}
用户跳转到支付宝支付界面后,默认的支付银行是在提交表单前选择的网上银行,选择支付宝的话就是使用支付宝余额支付。然后就是等待用户支付了。用户完成支付后,请会发生下面的几个步骤,当然如果用户放弃支付的话,就没有后面的处理了。
第三步,用户进行支付后,支付宝后台通知系统处理。系统处理页面主要是根据生成支付宝链接是使用的notify_url来决定的。它处理完成后,成功返回success,失败返回fail,如果支付宝收到的是fail,那么支付宝还会在隔1小时,1天,1周等周期再次通知服务器处理,这里的周期需求向支付宝询问。如果支付宝收到的是success,注意支付宝好像在一个月后要发送一次TRADE_FINISHED表示交易完成,这个一定不要再给用户加一次充值了。
function alipay_notify() {
$out_trade_no = date(‘YmdHis’, time()).’-’.$account->student['sid'];
//合作身份者ID,以2088开头的16位纯数字
$partner = ’20887015**9*7**’;
//安全检验码,以数字和字母组成的32位字符
$security_code = ‘gc2qxh4**ab***3jp8*****2ptxewks4′;
//签约支付宝账号或卖家支付宝帐户
$seller_email = ‘seller@alipay测试数据’;
$sign_type = "MD5";
$_input_charset = ‘UTF-8′;
$transport = ‘https’;
require("libraries/payment/alipay.class.inc");
$alipay = new alipay_notify($partner,$security_code,$sign_type,$_input_charset,$transport);
$verify_result = $alipay->notify_verify();
//支付宝 Notice verify
if($verify_result) {
//认证合格
//获取支付宝的反馈参数
//获取支付宝传递过来的订单号
$order_id = $_POST['out_trade_no'];
//获取支付宝传递过来的总价格
$total_fee = $_POST['total_fee'];
//拆分订单号为订单和学员ID
$txn_id = explode(‘-’, $order_id);
$real_orderid = $txn_id[0]; //get the real order
$sid = $txn_id[1];
if($_POST['trade_status'] == ‘TRADE_SUCCESS’) {
//这里放入你自定义代码,比如根据不同的trade_status进行不同操作
mysql_query("UPDATE {student} set balance = balance+%d where sid = %d", (int) $total_fee, $sid);
mysql_query("INSERT INTO {payment_receipts} (sid, order_id, amount, received) VALUES (%d, ‘%s’, %f, %d)", $sid, $real_orderid, (int) $total_fee, time());
echo "success";
}
else {
echo "fail";
}
}
else {
echo "fail";
}
}
第四步,用户完成支付后,支付宝前台跳转到系统返回地址。这个页面其实可以只做一个非常简单页面,不用做任何验证。但是为了安全建议也做一下返回验证。但是最后不要在返回页面做数据库操作。
function alipay_return() {
$out_trade_no = date(‘YmdHis’, time()).’-’.$account->student['sid'];
//合作身份者ID,以2088开头的16位纯数字
$partner = ’20887015**9*7**’;
//安全检验码,以数字和字母组成的32位字符
$security_code = ‘gc2qxh4**ab***3jp8*****2ptxewks4′;
//签约支付宝账号或卖家支付宝帐户
$seller_email = ‘seller@alipay测试数据’;
$sign_type = "MD5";
$_input_charset = ‘UTF-8′;
$transport = ‘https’;
require("libraries/payment/alipay.class.inc");
$alipay = new alipay_notify($partner,$security_code,$sign_type,$_input_charset,$transport);
$verify_result = $alipay->return_verify();
$order_id = $_GET['out_trade_no']; //获取订单号
$total_fee = (int) $_GET['total_fee']; //获取总价格
$txn_id = explode(‘-’, $order_id);
$real_orderid = $txn_id[0]; //get the real order
$sid = $txn_id[1];
//认证合格
if($verify_result) {
$output = ‘<strong>恭喜您,学员ID’.$sid.’充值’.$total_fee.’元成功!</strong>’;
$student = mysql_query("SELECT uid, balance FROM {student} WHERE sid = %d", $sid);
$output .= ‘<p>您目前的余额’.$student->balance.’元。</p>’;
$output .= l(‘查看记录’, ‘user/’.$student->uid.’/depositlogs’);
return $output;
}
else {
$output = ‘<strong>你的订单支付过程出现故障!</strong>’;
$output .= ‘<p>您的交易信息是无效的,如果你使用的是已有的返回信息的话,那么交易已经成立,你可以查看我的订单历史。<br>如果你是黑客的话,俺是守法的好公民,希望你能饶了我这个小店。’;
$output .= ‘</p><p><a href="/">返回首页</a></p>’;
return $output;
}
}
如果用户是恶意修改网址参数,将会看到:
callback return failed 如果用户是恶意修改网址参数
如果用户正常通过支付宝自动跳转回来的,将会看到:
callback return success 如果用户正常通过支付宝自动跳转回来的
好的,赶快将以上方法和代码应用到你的积分、账户余额系统把!
关于php对接充值缴费的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php对接充值缴费 php对接第三方支付教程的详细内容...