php與paypal整合方法

來源:互聯網
上載者:User
我暈,最近這個用paypal付款的功能搞了我2天,還沒搞完。鬱悶死了。
先做個筆記,把已經搞定的部分寫下來,省的以後忘了。
1 註冊SandBox帳號,並且建立兩個虛擬帳號,可以選擇自動建立的那一項。一個buyer,一個seller。以供 開發的時候測試使用。

2 實現快速購買的代碼。連結暫時指向SandBox便於開發時的測試。以後再改成正式的。
複製代碼 代碼如下:
if(!defined("_f_afficherButtonPayPal"))
{ define("_f_afficherButtonPayPal",1);
function afficherButtonPayPal($nbr_point,$montant)
{

echo"<td width=\"50\"> </td>";
echo "<td>
<form action=\"https://www.sandbox.paypal.com/cgi-bin/webscr\" method=\"post\" target=\"_blank\">
<input type=\"hidden\" name=\"cmd\" value=\"_xclick\">
<input type=\"hidden\" name=\"business\" value=\"email_of_seller@emai.com\"> //這個是剛才建立的seller的帳號
<input type=\"hidden\" name=\"item_name\" value=\"$nbr_point points\">
<input type=\"hidden\" name=\"currency_code\" value=\"EUR\"> //付款的幣種,我寫的是歐元
<input type=\"hidden\" name=\"amount\" value=\"$montant\"> // 快速付款的總金額
<input type=\"image\" src=\"../src/img/x-click-but01.gif\" name=\"submit\" alt=\"Veuillez vous payer par PayPal\"> //顯示的paypal圖片
</form>
</td>";
}
}

3 將已經付款的資訊傳回去,應該是要用IPN,還沒搞定,再接再勵

補充資料:
從參考文檔得知:
Paypal專門開發了Sandbox給開發人員進行開發測試
首先到https://developer.paypal.com/ 註冊一個開發帳號,
再進入Sandbox建立測試用的Paypal虛擬帳號(至少應該建立一個Business的和一個Personal的),
這種帳號註冊方法和Paypal的流程一樣,資訊可以是假的,包括銀行帳號、信用卡(其實Paypal Sandbox會自動產生

一些隨機的號碼)。接著啟用Paypal Sandbox的虛擬帳號,注意,這裡不管你在Paypal Sanbox註冊時填什麼郵件地

址,有任何發送到虛擬帳號所填郵箱的郵件都存會在開發帳號的管理介面中的Email頁(導覽列上有)中。登入Sandbox

的虛擬Paypal環境,還需要驗證虛擬帳號的銀行,這裡可以隨便填,然後通過Add Funds來給賬戶儲值(想填多少填多

少)。然後,還需要啟用IPN的選項,在Business的那個賬戶的Profile設定頁面中,點擊,然後點擊Edit按鈕,開啟

IPN,這裡如果你使用的是固定的IPN Handle,可以直接將地址填入。
接下來,我們測試的時候,應該將Paypal介面的地址設定為https://www.sandbox.paypal.com/cgi-bin/webscr
最後基本的流程為:
使用者在我們的網站上選擇商品、放入購物車,然後檢查準備支付
網站根據購物車中的商品,產生Paypal的支付表單(也是提交到上面IPN用的Paypal介面地址),包含了此次交易的一

些資訊(下次會專門找機會解釋一下)。並在自己的資料庫中產生一張訂單記錄。
Paypal在Session中記錄下這些交易資訊

使用者用Paypal賬戶登入Paypal(Sandbox用Sandbox的虛擬帳號),複查明細,點擊Pay按鈕
Paypal進行交易處理,如果我們的Paypal收款帳號在接受帳款上沒有什麼問題(沒有特別的需要Accept的地方),交易

完成,那麼Paypal會發送一個IPN,並發送提示郵件。
我們IPN Handler接受到資訊,首先向Paypal進行校正,如果資訊正確,然後根據資訊和自己資料庫中進行比對,如果

無誤,可以將支付資訊儲存,並修改訂單狀態。
然後Paypal會顯示一個介面表示交易完成,此時如果使用者點擊“Return”按鈕,Paypal會將使用者送回我們網站指定地點。
我們網站迎接使用者回來,向使用者表示感謝,並進行提醒,給出訂單號等等。
應為我最後需求的只是要一個總價的結算,並不需要和網店接合.所以簡單了很多.只要把總價產生,放進paypal裡就基本算

完成了.如果網店的話還需要在paypal裡設定一大堆的參數.比較麻煩.
複製代碼 代碼如下:
<form name="paypay_form" action="https://www.paypal.com/cgi-bin/webscr" method="post"><!--提交的地址-->
<input type="image" src="http://www.jb51.net/article/Styles/Compact/Images/payicon.jpg"></p><!--按鈕的圖片-->
<input type="hidden" value="vihaoo_1195608276_biz@gmail.com" name="business"></p><!--收款賬戶-->
<input type="hidden" value="Products" name="item_name"></p><!--付款詳細內容-->
<input type="hidden" value="dweeww" name="item_number"></p><!--付款詳細內容-->
<input type="hidden" value="http://www.xxx.xxx" name="return"></p><!--返回地址-->
<input type="hidden" value="150.0" name="amount"></p><!--金額-->
<input type="hidden" name="currency_code" value="USD"><!--貨幣-->
</form>


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.