PHP整合支付寶快速實現充值功能

2021-06-21 04:56:48 字數 3628 閱讀 7446

本文將介紹如何快速通過php類庫來整合、整合支付寶來實現充值功能。如果你的系統想要擴充積分、賬戶餘額等功能,那麼就要選擇乙個第三方支付系統來充值。

支付寶整合時,需要三大步:

1、通過表單提交資訊,系統整合資訊,提交資訊到支付寶;

2、使用者進行支付後,支付寶後台通知系統處理;

3、支付寶後台通知完成後,支付寶前台跳轉到系統返回位址;

支付寶php類

下面主要主要講解通過支付寶的php類來實現整合。

php支付寶整合

第一步,建立提交充值的基本資訊:

第二步,驗證使用者提交的金額正確,通過表單驗證後,通過支付寶alipay_service類生成支付寶鏈結,然後跳轉到支付寶鏈結。

$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() set balance = balance+%d where sid = %d", (int) $total_fee, $sid); 

mysql_query("insert into (sid, order_id, amount, received) values (%d, 『%s』, %f, %d)", $sid, $real_orderid, (int) $total_fee, time()); 

echo "success"; 

} else  

} else  

}

第四步,使用者完成支付後,支付寶前台跳轉到系統返回位址。這個頁面其實可以只做乙個非常簡單頁面,不用做任何驗證。但是為了安全建議也做一下返回驗證。但是最後不要在返回頁面做資料庫操作。

function alipay_return() where sid = %d", $sid); 

$output .= 『您目前的餘額』.$student->balance.』元。

』; $output .= l(『檢視記錄』, 『user/』.$student->uid.』/depositlogs』); 

return $output; 

} else  

}

如果使用者正常通過支付寶自動跳轉回來的,將會看到:

好的,趕快將以上方法和**應用到你的積分、賬戶餘額系統把!

除非註明,文章均為

#ixzz2wy56uqhs

整合 支付寶支付

第一步,看官方文件 戳這裡 第二步,就是上圖,比如要匯入哪些內容.其中,總結一點自己一直的錯誤資訊 查了很多資料,沒管用,最後終於找到良方。解決辦法 把openssl這個檔案匯入到了這個工程目錄下 專案名稱 公共類 工具 第三方 支付寶sdk openssl 中間隔了三個資料夾,那麼在header ...

iOS整合支付寶支付

在組裝請求資訊這塊,要求是 tips 這一步應在商戶服務端完成,商戶服務端直接將組裝和簽名後的請求串orderstring傳給客戶端,客戶端直接傳給sdk發起請求。文件和demo是為了示例效果在客戶端實現。大致的組裝邏輯是,通過order物件構建乙個字典,將字典按key排序,將key value拼接...

整合支付寶,微信支付

使用支付寶進行乙個完整的支付功能,大致有以下步驟 1.把需要的檔案都放在乙個資料夾中拖入工程 方便查詢以及下面成功新增路徑 2.新增庫 3.header seach path中新增路徑 4.infoplist中新增url type,再配置info url type schemes 文件 支付寶提供了...