四方支付之码支付
在app及web网站中支付环节肯定是少不了的!我来介绍一款名为 “码支付”的平台,
我先来简单介绍一下此平台,经过一系列必要的注册验证用户的操作,拥有使用身份的账号后,我们来看下名字 “码支付” 也就是通过扫码来支付, 此平台支持 微信、支付宝、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会停止回调。
当下支付便捷形式层出不穷,会越来越便利~这也是一种时代前进!