php支付
A. php 後台怎麼把多種支付方式集成在一起 可以先擇性安裝
本文將介紹如何快速通過PHP類庫來集成、整合支付寶來實現充值功能。如果你的系統想要擴充積分、賬戶余額等功能,那麼就要選擇一個第三方支付系統來充值。
支付寶集成時,需要三大步:
1、通過表單提交信息,系統整合信息,提交信息到支付寶;
2、用戶進行支付後,支付寶後台通知系統處理;
3、支付寶後台通知完成後,支付寶前台跳轉到系統返回地址;
支付寶PHP類
PHP 類alipay_notify,主要功能是付款過程中伺服器通知處理。
PHP 類alipay_service,根據支付寶外部服務介面生成支付寶地址。
我把這2個類,集中到一個文件alipay.class.inc中,點擊這里查看並下載PHP支付寶類源碼。
下面主要主要講解通過支付寶的PHP類來實現整合。
PHP支付寶集成
第一步,建立提交充值的基本信息:
fubao-chong 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 = 『[email protected]』;
$_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 = 『[email protected]』;
$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 = 『[email protected]』;
$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 = 『<h2>恭喜您,學員ID』.$sid.』充值』.$total_fee.』元成功!</h2>』;
$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 = 『<h2>你的訂單支付過程出現故障!</h2>』;
$output .= 『<p>您的交易信息是無效的,如果你使用的是已有的返回信息的話,那麼交易已經成立,你可以查看我的訂單歷史。<br>如果你是黑客的話,俺是守法的好公民,希望你能饒了我這個小店。』;
$output .= 『</p><p><a href="/">返回首頁</a></p>』;
return $output;
}
}
如果用戶是惡意修改網址參數,將會看到:
callback return failed 如果用戶是惡意修改網址參數
如果用戶正常通過支付寶自動跳轉回來的,將會看到:
callback return success 如果用戶正常通過支付寶自動跳轉回來的
好的,趕快將以上方法和代碼應用到你的積分、賬戶余額系統把!
B. php怎麼寫支付
去支付方下載支付類
C. 如何用PHP開發在線支付系統
支付寶,財付通,都可以,還有其他都三方支付網關 都有 API 開發文檔,都有開發說明文檔(包含各種程序語音例子)
D. PHP 支付方式
對form表單的auction進行控制例如
switch(this.getAttribute('pay-form')){
case'ali':form.action="/wrap/pay/dopay";break;
case'wx':form.action="/wrap/pay/wxpay";break;
default:form.action="/wrap/pay/dopay";
}
E. php怎麼寫支付功能到poli payments支付里
獨立博客搭建教程,裡面介紹了域名注冊、DNS設置、github和Hexo設置等過程,這是我寫得最長的一篇教程。我想將我搭建獨立博客的過程在一篇文章中盡可能詳細地寫出來,希望能給後來者一個明確的指引,同時用這篇教程開篇,正式開始我的第八大洲之旅。
F. 如何利用PHP語言開發平台第三方支付介面
第一步:簽訂合約通過第三方拿到介面(可以郵件形式發送、也可以在第三方系統下載),拿到介面後,要確認下介面類型,是否是自己需要的介面,比如B2C介面、B2B介面等類型。
第二步:支付介面分很多語言版本,比如ASP、JSP、PHP、.NET語言版本,所以要選擇與自己網站語言匹配的介面進行安裝。商城網站的技術一般比較清楚商城的開發語言。
第三步:拿到的支付介面一般包括介面文檔和介面代碼示例,選擇合適的介面代碼示例,進行聯調,比如自己網站是PHP開發的,就選擇PHP代碼示例聯調。
第四步:介面聯調的時候,需要第三方支付提供聯調測試賬號,方可以聯調。聯調除了需要聯調賬號除外,還需要該賬號的支付密鑰,聯調過程中,有什麼問題,可以直接找第三方支付技術支持給予協調處理。
第五步:介面聯調通過後,可先換成生產環境賬號,進行交易測試,測試沒問題後,可以放到商城網站進行交易。
G. php paypal 支付
在paypal的沙盤測試環境可以創建很多測試賬號並設置余額的
H. 第三方支付平台php介面怎麼寫
這個同CGI,ASP一樣,是一種用於網路或網站的程序文件。對於瀏覽者,這種文件顯示結果跟HTML文件是一樣的。最簡單的就是使用記事本就可以打開PHP文件,如果是作開發,安裝專業的編輯器(如editplus等等)就更方便我也是後盾人學會的,樓主去學習一下吧.
I. php支付寶詳細支付流程
https://b.alipay.com/order/techService.htm
1)打開上面的網頁,從頁面下方的7中支付方式中選擇你需要的方式並點擊進去,
3)把demo代碼引入到你的php項目中,lib里的內容不需要你做任何更改,閱讀readme說明文檔,在吧除lib外的php文件都看一遍,裡面每個參數的作用都說明的很清楚,文件里的index.php就是你要用curl去模擬支付請求的路徑,當然你配置完成後也可以打開index.php去完成一次支付
J. PAYPAL的PHP支付介面應該怎麼寫
PayPal 快速、安全而又方便,是跨國交易的首選在線付款方式。現在PayPal可以和國內大部分信用卡關聯,可以實現國人的跨國交易收支。申請PayPal注冊網址: https://www.paypal.com/paypal介面與其它介面有些不同,稍微復雜一點。 其實銀行介面也算是一個站點的插件。所謂paypal ipn(Instant Payment Notification),就是Paypal開發的一種能主動通知第三方賣家系統交易狀態的一種機制。IPN的原理很簡單,就是當產生了一個交易之後,交易狀態發生變化時,如用戶已經付款、或者退款、撤銷時,Paypal利用常用的HTTP POST方式,將交易的一些變數提交給網站的某個頁面(稱之為IPN Handler),當這個頁面接受到請求時候,將這些數據原封不動加上一個指示驗證的cmd=_notify-validate,POST回Paypal的介面地址,如果數據正確,那麼Paypal返回字元串VERIFIED,否則為INVALID,如果結果為VERIFIED,那麼你的程序就可以使用這些數據進行操作。