在 PayPal 的 IPN 方式中,提交多個商品

前言

這篇文章將分享,當我們使用 PayPal 的 IPN 結帳方式時,如何提交多個商品,每個商品擁有各自的名稱,價格,以及數量。

本文章是我從官網 複製下來的, 因為我不知道未來什麼時候會用到,而且我實在懶得再去找一次。

本文開始

有些網站開發人員可能希望將PayPal付款處理集成到他們自己的第三方購物車上,而不是標準的PayPal購物車上。請使用以下說明為您的買家提供PayPal付款,以便他們在您的第三方購物車上添加購置物品後結賬時使用。

將您的第三方購物車與PayPal的付款流程集成目前有兩種方法。第一種方法是傳遞購物車付款總額,而不是單個物品金額。第二種方法是將所選物品詳情傳遞給PayPal,而不是總購物車數量。提示:按下述步驟粘貼必需的變量到PayPal時,可能需要在您的網站上執行某些腳本。

方法1. 將總購物車數量傳遞給PayPal

如果願意,您可以累加整個購物車,將總數量傳遞給PayPal的立即購買按鈕代碼(也就是說,您需要粘貼整個購物車的單一名稱及其物品總價款,與購買單件物品一樣)。

該方法有一個不足之處,您的買家將無法查看其購物車中的單個物品。此外,您不能修改我們的變量名稱,也不能添加您自己的變量名稱。

查閱以下信息後如有其他技術問題,請訪問我們的 開發者服務網頁。欲知有關“立即購買”按鈕代碼或以下變量的附加信息,請查看網站付款標準版集成指南。

必需的變量

向PayPal提交粘貼代碼時,應包括以下 4 個隱藏變量及一張圖片:

姓名
business 您的PayPal賬戶上的電子郵件地址
item_name 物品名稱(或購物車名稱)
currency_code 定義幣種以標示貨幣變量(金額、運送費、運送費2、手續費、稅款)。值可以為”USD”、”EUR”、”GBP”、”CAD”、”JPY”。
amount 物品的價格(購物車中所有物品的總價格)
image 按鈕圖片,您的買家按此按鈕開始PayPal付款程序。您可以將src 更換為圖片URL,以使用您自己的圖片

這就是說,您粘貼到PayPal的最短必需代碼應如下:

<form action="https://www.paypal.com/cgi-bin/webscr" method="post"> 
<input type="hidden" name="cmd" value="_xclick">
<input type=" hidden" name="business" value="you@youremail.com">
<input type="hidden" name="item_name" value="Item Name">
<input type="hidden" name="currency_code" value= "USD">
<input type="hidden" name="amount" value="0.00">
<input type="image" src="http://www.paypal.com/zh_XC/i/btn/x- click-but01.gif" name="submit" alt="Make payments with PayPal - it's fast, free and secure!">
</form>

PayPal提供附加變量,用於自定義您的Form Post。所有可用變量如下(變量名稱必須用小寫):

可用變量

姓名
business 您的PayPal賬戶上的電子郵件地址
quantity 物品數量。大於1 時,會與金額相乘
item_name 物品名稱(或購物車名稱)。必須是字母數字字符,最多為127 個字符
item_number 用於跟踪付款的可選傳遞變量。必須是字母數字字符,最多為127 個字符
amount 物品的價格(購物車中所有物品的總價格)
shipping 該物品的運送成本
shipping2 每增加一件物品所需的運送成本
handling 手續費
tax 基於交易的稅額。如果使用該變量,傳遞值將覆蓋所有用戶信息稅收設置(不管買家所在位置)。
no_shipping 送貨地址。如果設為”1”,則不會要求您的客戶提供送貨地址。該變量為可選項;如果省略或設為”0”,將提示您的客戶輸入送貨地址
cn 可選標籤,會在提示欄上顯示(最多40 個字符)
no_note 為付款加入提示。如果設為”1”,則不會提示您的客戶輸入提示。該變量為可選項;如果省略或設為”0”,將提示您的客戶輸入提示。
on0 第一選項欄名稱。最多64 個字符
os0 第一組選項值。最多200 個字符。”on0” 必須定義,以便識別”os0”。
on1 第二選項欄名稱。最多64 個字符
os1 第二組選項值。最多200 個字符。”on1” 必須定義,以便識別”os1”。
custom 決不會向您的客戶顯示的可選轉遞變量。可用於跟踪庫存
invoice 決不會向您的客戶顯示的可選轉遞變量。可用於跟踪賬單號
notify_url 僅與IPN 一起使用。發送IPN Form Post 的互聯網URL
return 您的客戶完成付款後將返回的互聯網URL
cancel_return 您的客戶取消付款後將返回的互聯網URL
image_url 您要用作圖標的圖片的互聯網URL,圖片大小為150 X 50 像素
cs 設置您的付款頁面的背景色。如果設為”1”,背景色將為黑色。該變量為可選項;如果省略或設為”0”,背景色將為白色
  • 擴展變量

PayPal允許您粘貼擴展變量,條件是將改變以下”cmd”值:

<input type="hidden" name="cmd" value="_xclick">

到:

<input type="hidden" name="cmd" value="_ext-enter"> 
<input type="hidden" name="redirect_cmd" value="_xclick">

通過上述”cmd” 值修改,您還可使用以下變量:

擴展變量

姓名
email 客戶的電子郵件地址
first_name 客戶的名。必須是字母數字字符,最多為32個字符
last_name 客戶的姓。必須是字母數字字符,最多為64個字符
address1 客戶地址所在國家或地區。必須是字母數字字符,最多為100個字符
address2 客戶地址第二行。必須是字母數字字符,最多為100 個字符
city 客戶地址所在城市。必須是字母數字字符,最多為100 個字符
state 客戶地址所在州。必須是正式的2 個字母縮寫
zip 客戶地址的郵政編碼
night_phone_a 客戶夜間聯繫電話號碼的區號
night_phone_b 客戶夜間聯繫電話號碼前三位
day_phone_a 客戶白天聯繫電話號碼的區號
day_phone_b 客戶白天聯繫電話號碼前三位

提示:若要更改“用戶信息”中的默認運費和手續費設置,請轉至您的用戶信息,編輯您的運費計算,然後點擊“允許採用基於交易的運費”複選框。

方法2. 將單個物品傳遞給PayPal

如果您的第三方購物車可設置成向PayPal傳遞單個物品,有關物品的信息將加入買家和賣家的記錄日誌和系統通知中。要加入該物品的信息,您需要將HTML 格式元素粘貼至PayPal購物車流程的新版本。該過程與#1 節“將總購物車數量傳遞給PayPal”描述的非常相似,不同之處在於:

  1. 將”cmd”變量設置到”_cart”
    更換必要的HTML行
<input type="hidden" name="cmd" value="_xclick">

<input type="hidden" name="cmd" value="_cart">
  1. 添加稱為”upload”的新變量

在<表格>和</表格>標籤之間新增以下行:

<input type="hidden" name="upload" value="1">
  1. 定義物品明細
    對於以下各特定物品參數,定義與通過您的合作商購物車購買的各物品對應的一組新值。將”_x”附加到變量名稱,其中x是物品號碼,從1開始,每加入一物品增加一。
姓名
item_name_x (物品#x 需要)購物車中物品#x 的名稱。必須是字母數字字符,最多為127 個字符
item_number_x 與購物車中物品#x 關聯的可選傳遞變量。必須是字母數字字符,最多為127 個字符
amount_x (物品#x 需要)物品#x 的價格
shipping_x 運送物品#x 的第一件(數量1)的成本
shipping2_x 每增加一件運送物品#x(數量2 或更多)所需的運送成本
handling_x 物品#x 的處理成本
on0_x 物品#x 的第一選項欄名稱。最多64 個字符
os0_x 物品#x 的第一組選項值。最多200 個字符。”on0_x” 必須定義,以便識別”os0_x”。
on1_x 物品#x 的第二選項欄名稱。最多64 個字符
os1_x 物品#x 的第二組選項值。最多200 個字符。”on1_x” 必須定義,以便識別”os1_x”。
4. 為購物車中每件物品重複此設定
為您的買家購物車中的各物品加入以上表格中的一組必需的變量和任何選項變量。購物車中的第一物品必須用以”_1”結束的參數定義,如”item_name_1”、”amount_1”等。同樣,第二物品應用變量”item_name_2”、”amount_2”等命名。提示:”_x”值必須以一為單位按序遞增,以便識別。如果從item #1跳到item #3而不定義item #2,則第三個物品會被忽略。
要指定幣種:所有貨幣變量(金額、運費、運費2、手續費、稅款)將以粘貼在付款上的”currency_code”變量指定的幣種顯示。因為其不是隨物品不同的,無需向變量名稱附加”_x”。如果沒有粘貼”currency_code”變量,我們將假定所有貨幣變量值為美元。
查閱以下信息後如有其他技術問題,請訪問我們的開發者支持網頁。欲知有關購物車代碼或以下變量的其他信息,請查看網站付款標準版集成指南。
利用 PayPal 付款標準版 (PayPal Payment Standard) 以及 PayPal 即時付款通知 (PayPal IPN) 方式結帳付款 取得 Facebook 長期權杖 (long lived token),以及 永不過期權杖 (never expired token)

留言

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×