四方支付之碼支付
在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會停止回調。
當下支付便捷形式層出不窮,會越來越便利~這也是一種時代前進!