在一对一直播系统中,用户常会给主播打赏、送礼物,那么,一对一直播系统中必然要有支付功能,除了系统自带的支付宝、微信、支付等,也有的平台会接入四方支付,如“码支付”。
“码支付”方式是通过扫码来进行的一种支付方式,“码支付平台”支持微信、支付宝、QQ用二维码支付,通过你上传的二维码,平台产生新的二维码供用户使用,它相当于是一个跳板,它中间包含着平常接入支付的正常环节,下单,支付,回调通知 !
根据二维码来支付金额,那用户该付款的额度就成了一个问题!不可能让用户自己输入额度吧,所以平台提供了批量上传的定额二维码图,需要自己把上传的二维码标明价格,用户下单的时候平台会根据标识来提供相应金额的二维码。
然后接下来我们来看看下单流程的代码:
<?php
$codepay_id="这里改成您的码支付ID";//这里改成码支付ID
$codepay_key="这里改成您的码支付**"; //这是您的通讯**
$data = array(
"id" => $codepay_id,//你的码支付ID
"pay_id" => "admin", //唯一标识 可以是用户ID,用户名,session_id(),订单ID,ip 付款后返回
"type" => 1,//1支付宝支付 3微信支付 2QQ钱包
"price" => 100,//金额100元
"param" => "",//自定义参数
"notify_url"=>"",//通知地址
"return_url"=>"http://codepay.fateqq.com/",//跳转地址
); //构造需要传递的参数
ksort($data); //重新排序$data数组
reset($data); //内部指针指向数组中的第一个元素
$sign = ''; //初始化需要签名的字符为空
$urls = ''; //初始化URL参数为空
foreach ($data AS $key => $val) { //遍历需要传递的参数
if ($val == ''||$key == 'sign') continue; //跳过这些不参数签名
if ($sign != '') { //后面追加&拼接URL
$sign .= "&";
$urls .= "&";
}
$sign .= "$key=$val"; //拼接为url参数形式
$urls .= "$key=" . urlencode($val); //拼接为url参数形式并URL编码参数值
}
$query = $urls . '&sign=' . md5($sign .$codepay_key); //创建订单所需的参数
$url = "http://api2.fateqq.com:52888/creat_order/?{$query}"; //支付页面
header("Location:{$url}"); //跳转到支付页面
上面是正常的输出下单链接的代码,可以加上自己生成订单的操作,具体看业务需求。
下面是支付通知代码:
<?php
ksort($_POST); //排序post参数
reset($_POST); //内部指针指向数组中的第一个元素
$codepay_key="这里改成您的码支付**"; //这是您的**
$sign = '';//初始化
foreach ($_POST AS $key => $val) { //遍历POST参数
if ($val == '' || $key == 'sign') continue; //跳过这些不签名
if ($sign) $sign .= '&'; //第一个字符串签名不加& 其他加&连接起来参数
$sign .= "$key=$val"; //拼接为url参数形式
}
if (!$_POST['pay_no'] || md5($sign . $codepay_key) != $_POST['sign']) { //不合法的数据
exit('fail'); //返回失败 继续补单
} else { //合法的数据
//业务处理
$pay_id = $_POST['pay_id']; //需要充值的ID 或订单号 或用户名
$money = (float)$_POST['money']; //实际付款金额
$price = (float)$_POST['price']; //订单的原价
$param = $_POST['param']; //自定义参数
$pay_no = $_POST['pay_no']; //流水号
exit('success'); //返回成功 不要删除哦
}
在正常流程内写入业务结尾逻辑,官方提供了比较明确的代码。
接下来我们还需要下载一个软件来监听支付与回调通知,因为软件必须在线才能通知到回调地址,那有小伙伴们就问了,是不是需要24小时挂着软件?官方也给出了明确的答复:是的,淘宝有销售代挂业务的,一般掉线2-3分钟也无所谓,上软件后软件也会继续补单,补单的意义就是确认支付,与微信支付同理,会多次访问回调,确认支付是否正常,访问到返回 success会停止回调。
以上就是一对一源码接入四方支付——码支付的教程,更多有关一对一直播系统的相关干货会在我的CSDN中持续放出,敬请期待。
声明:文章声明原创,转载请注明出处及作者