天天看點

paypal介紹

關于paypal線上支付的資訊可以直接通路http://www.paypal.com。paypal作為國際線上支付的一種比較常用的工具,在現在的國際電子商務中使用的非常多,這裡将就paypal支付接口與企業自己的網上電子商務系統之間溝通作一較長的描述。

一般電子商務系統實作的流程如下:

客戶在系統内下訂單 -> 将訂單的金額資訊送出到paypal網站 -> 客戶在paypal上付款 -> paypal将客戶的付款完成資訊發送給電子商務系統 -> 系統收到paypal資訊後确定客戶訂單已經付款 -> 進行發貨等後續流程。

從這個流程中可以看到系統與paypal的通信尤其關鍵,可以實作訂單的自動付款确認。

(1)如何調用paypal接口?(将訂單的金額資訊送出到paypal網站)

Html代碼

<%@ page contentType="text/html;charset=UTF-8"%>  

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"   

"http://www.w3.org/TR/html4/loose.dtd">  

<html>  

<head>  

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  

<title>goto paypal</title>  

</head>  

<body bgcolor="#000000" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">  

    <form name="paypal" action="https://www.paypal.com/cgi-bin/webscr" method="post">  

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

    <input type="hidden" name="business" value="[email protected]"><!--這裡填寫你的paypal賬戶email-->  

    <input type="hidden" name="item_name" value="order information"><!--這裡填寫客戶訂單的一些相關資訊,當客戶連到paypal網站付款的時候将看到這些資訊-->  

    <input type="hidden" name="amount" value="220.00"><!--訂單的總金額資訊-->  

    <input type="hidden" name="currency_code" value="USD"><!--訂單總金額對應的貨币類型 ,客戶可以用其他币種來付款,比如這裡訂單币種是美元USD,客戶可以用歐元EUR來付款,由paypal根據目前匯率自動實作币種之間的換算-->     

    <input type="hidden" name="on0" value="customerId"><!-- 自定義的參數1 -->  

    <input type="hidden" name="os0" value="stephen"><!-- 對應上面自定義參數1對應的值 -->  

    <input type="hidden" name="on1" value="address"><!-- 自定義的參數2 -->  

    <input type="hidden" name="os1" value="shanghai china"><!-- 對應上面自定義參數2對應的值 -->  

    <input type="hidden" name="notify_url" value="http://www.xxx.com/notifyurl.jsp?order_id=23876412"><!--這裡告訴paypal付款的通信url,即當客戶付款後調用這個url通知系統-->  

    <input name="Paypal" type="button" value="Go to Paypal" onclick="javaScript:this.form.submit();"></td>  

    </form>  

</body>  

</html>  

在生成上面的paypal表單時,其中的[cmd],[action],[business],[amount],[currency_code],[notify_url]參數設定絕對不能出錯,[cmd]和[action]指定paypaly接口類型,[business]出錯,你将收不到客戶的付款,[amount]與[currency_code]關系到訂單的金額,[notify_url]是系統與paypal的付款通知接口url。

當客戶下單後看到上面的頁面後,就可以通過設定的按鈕[Go to Paypal]連接配接到paypal.com網站,然後登入并進行付款。

(2)paypay将付款資訊傳回給系統

當客戶付款後,paypal就會自動調用上面表單提供的[notify_url],下面是一個[notifyurl.jsp]的一個例子:

Html代碼

<%@ page contentType="text/html;charset=UTF-8"%><%@ page import="com.soft4j.NotifyUrlMgr"%><%   

     String ret = NotifyUrlMgr.insert(request);   

     if(ret==null){out.print("200 OK");}else{out.print("fail");}   

%>  

<%@ page contentType="text/html;charset=UTF-8"%><%@ page import="com.soft4j.NotifyUrlMgr"%><%

String ret = NotifyUrlMgr.insert(request);

if(ret==null){out.print("200 OK");}else{out.print("fail");}

%>

如果确認收到paypal發來的客戶付款資訊,則傳回"200 OK",這樣子paypal就知道系統已經收到資訊了;否則傳回"fail",這樣paypal會過一段時間後再次發來。其實,隻有當paypal收到"200 OK"的傳回資訊後才會停止發送付款資訊,否則會自動的每隔一段時間就調用上面

的[notify_url]通信接口。

(3)系統處理paypay發來的付款資訊

Java代碼

package com.soft4j;   

import java.sql.Connection;   

import java.sql.SQLException;   

import java.util.Enumeration;   

import java.util.Vector;   

import javax.servlet.http.HttpServletRequest;   

public final class NotifyUrlMgr {   

    public static String insert(HttpServletRequest httpRequest) {   

        //定義變量和進行必要的初始化工作   

         Enumeration parameterNames = null;   

         String parameterName = null;   

         String parameterValue = null;   

        int count = 0;   

         Vector[] params = null;   

         Vector vParameterName = new Vector();   

         Vector vParameterValue = new Vector();   

        //判斷paypal付款賬戶是否正确   

         String business = httpRequest.getParameter("business");   

        if( !"[email protected]".equals(business) ) {   

             System.out.println("gu:Wrong receive paypal email:"+business);   

            return null;   

         }   

        try {   

             String orderId = httpRequest.getParameter("order_id");//訂單号   

            if(orderId==null||"".equals(orderId)) orderId="-1";   

             parameterNames = httpRequest.getParameterNames();   

            boolean isPrint = false;   

            while (parameterNames.hasMoreElements()) {//循環收取paypal發來的所有參數資訊   

                 parameterName = (String) parameterNames.nextElement();   

                 parameterValue = httpRequest.getParameter(parameterName);   

                if(parameterValue==null) parameterValue="";   

                 vParameterName.add(parameterName);   

                 vParameterValue.add(parameterValue);   

                 count++;   

             }   

            //這裡添加對收到資訊的處理:一般是将這些資訊存入資料庫,然後對客戶的訂單進行處理.   

            return null;   

         } catch (Exception e) {   

            return e.toString();   

         } finally {   

            //   

         }   

     }   

}  

這樣系統可以自動對客戶訂單的付款情況進行跟蹤,更快捷的進行訂單處理。

附錄:

[1] paypay允許的币種

AUD Australian Dollar

CAD Canadian Dollar

CHF Swiss Franc

CZK Czech Koruna

DKK Danish Krone

EUR Euro

GBP Pound Sterling

HKD Hong Kong Dollar

HUF Hungarian Forint

JPY Japanese Yen

NOK Norwegian Krone

NZD New Zealand Dollar

PLN Polish Zloty

SEK Swedish Krona

SGD Singapore Dollar

USD U.S. Dollar

[2] paypal付款資訊的參數含義:

https://www.paypal.com/IntegrationCenter/ic_ipn-pdt-variable-reference.html

[3] paypal提供的開發api的pdf文檔

PP_OrderManagement_IntegrationGuide.pdf.zip [在附件中可以下載下傳]

[4] paypal提傳遞款所支援的參數及其含義(也就是你送出給paypal中的那個Form表單中需要設定的參數)

https://www.paypal.com/IntegrationCenter/ic_std-variable-reference.html

[5] paypal顯示頁面的語言設定(也就是打開paypal網站的語言)。需要用參數locale.x進行設定,但這個參數在paypal提供的參數表(參見上面[4])中沒有的。

Html代碼

<form name="paypal" action="https://www.paypal.com/cgi-bin/webscr?locale.x=zh_HK" method="post">  

...   

</form>  

<form name="paypal" action="https://www.paypal.com/cgi-bin/webscr?locale.x=zh_HK" method="post">

...

</form>

locale.x=zh_HK 繁體中文

locale.x=en_GB 英文

以下網上收集,作為參考:

<form target="paypal" action="https://www.paypal.com/cgi-bin/webscr" method="post">

<input type="image" src="images/paypal.gif" name="submit" alt="PayPal is the safer, easier way to pay - PayPal">

<input type="hidden" name="add" value="1">

<input type="hidden" name="cmd" value="_xclick"> <!--這裡是不用它內建的購物車,如果代碼是 value="_cart"表示用paypal已經做好的購物車; _xclick未做好的購物車 -->

<input type="hidden" name="business" value="[email protected]">

<input type="hidden" name="item_name" value="這是物品名稱!"> <!--這個是從網站傳遞過來的訂單号-->

<input type="hidden" name="item_number" value="這是定單号">

<input type="hidden" name="amount" value="1.02"> <!--這個是價格-->

<input type="hidden" name="no_note" value="1">

<input type="hidden" name="quantity" value="1">

<input type="hidden" name="currency_code" value="USD">

<input type="hidden" name="bn" value="PP-BuyNowBF">

</form>

1.到https://developer.paypal.com/ 注冊一個開發帳号,好了之後再進入Sandbox建立測試用的Paypal虛拟帳号(至少應該建立一個Business的和一個Personal的),資訊可以是假的,注意:這裡的至少兩個測試帳号是在你所建立的開發帳号裡面建立的,起初我就是注冊兩個開發帳号(一個Business的和一個Personal的),哇,我就太笨了.

2.測試是很麻煩,但是是必不可少的,因為如果客戶買過一次出錯之後,就不會來第二次了,是以花半天時間做測試是很重要的

3.代碼帖出來給大家參考一下,我做的是不很細,支付成功後傳回的結果我就沒有做,因為我在測試的時候已經沒有問題了,是以沒有做,改天有空會完善的.

<form target="paypal" action="https://www.paypal.com/cgi-bin/webscr" method="post">

<input type="image" src="images/paypal.gif" name="submit" alt="PayPal is the safer, easier way to pay - PayPal">

<input type="hidden" name="add" value="1">

<input type="hidden" name="cmd" value="_xclick"> 這裡是不用它內建的購物車,如果代碼是 value="_cart"表示用paypal已經做好的購物車.

<input type="hidden" name="business" value="[email protected]">

<input type="hidden" name="item_name" value="BoAo International Trading<%=a%>">這個是從我網站傳遞過來的訂單号

<input type="hidden" name="item_number" value="<%=a%>">

<input type="hidden" name="amount" value="<%=request.form("v_amount")%>">這個是價格,如何傳遞就不用說了吧~

<input type="hidden" name="no_note" value="1">

<input type="hidden" name="quantity" value="1">

<input type="hidden" name="currency_code" value="USD">

<input type="hidden" name="bn" value="PP-BuyNowBF">

</form>

====================================================================================

用PHP開發Paypal支付接口

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,那麼你的程式就可以使用這些資料進行操作。

開設Sandbox帳号

但代碼的調試是一件很痛苦的事情,因為作為第三方開發人員,不可能開兩個帳号,每次測試還要之間交易一些錢,是以Paypal專門開發了Sandbox給開發人員進行開發,首先到https://developer.paypal.com/ 注冊一個開發帳号,好了之後再進入Sandbox建立測試用的Paypal虛拟帳号(至少應該建立一個Business的和一個Personal的),這種賬号注冊方法和Paypal的流程一樣,資訊可以是假的,包括銀行帳号、信用卡(其實Paypal Sandbox會自動生成一些随機的号碼)。接下來需要激活Paypal Sandbox的虛拟帳号,注意,這裡不管你在Paypal Sanbox注冊時填什麼郵件位址,有任何發送到虛拟帳号所填郵箱的郵件都存會在開發帳号的管理界面中的Email頁(導航欄上有)中。登入 Sandbox的虛拟Paypal環境,還需要驗證虛拟帳号的銀行,這裡可以随便填,然後通過Add Funds來給賬戶充值(想填多少填多少 920-203 920-533 )。然後,還需要激活IPN的選項,在Business的那個賬戶的Profile設定頁面中,點選,然後點選Edit按鈕,打開IPN,這裡如果你使用的是固定的IPN Handle,可以直接将位址填入。

接下來,我們測試的時候,應該将Paypal接口的位址設定為 https://www.sandbox.paypal.com/cgi-bin/webscr

基本的流程

當客戶向您付款時,PayPal将向位于指定 URL (type=”hidden” name=”notify_url” value=” “)的伺服器發送一個通知。此通知中将包括您的客戶的所有付款資訊(例如,客戶名稱、金額),以及一段加密代碼。當伺服器收到通知時,它随後會将該資訊(包括加密代碼)發送回安全的PayPal URL。PayPal将通過檢查加密字元串對交易進行身份驗證。這種将 IPN 資料傳回PayPal的操作防止了“欺騙”,是以您可以確定 IPN 來自PayPal。在進行驗證時,PayPal會将其合法性的确認資訊發送回您的伺服器。

提示:要啟用即時付款通知,您将需要輸入一個 URL,通過它您可以接收到來自您的使用者資訊的通知。

啟用了即時付款通知後,每次當您接收付款時您的伺服器都會收到一個通知,此通知将以隐藏的“FORM POST”的方式發送到指定的 URL,并将包括所有付款資訊。此頁面的底部列出了通知的 FORM 變量。

每次收到來自PayPal的 IPN 時,您必須在實施訂單之前完成如下所述的通知确認過程。确認列出的資訊将可確定交易合法。

通知确認IPN

為了確定付款已進入您的PayPal賬戶,您必須驗證用作“receiver_email”的電子郵件位址是否已在您的PayPal賬戶中注冊并得到确認。

伺服器收到即時付款通知後,您将需要通過建構一個發送到PayPal的 HTTP POST 對其進行确認。您的 POST 應發送到 https://www.paypal.com/cgi-bin/webscr

您必須完全按照收到表單變量時的原樣發送所有收到的表單變量。您還需要将一個值為“_notify-validate”的名為“cmd”變量(例如,cmd=_notify-validate)附加到 POST 字元串。

PayPal将回複該 POST,并在回複的正文中包含一個單詞“VERIFIED”或“INVALID”。當您收到 VERIFIED 回複時,您需要在實施訂單之前執行若幹檢查:

确認“payment_status”為“Completed”,因為系統也會為其他結果(如“Pending”或“Failed”)發送 IPN。

檢查“txn_id”是否未重複,以防止欺詐者重複使用舊的已完成的交易。

驗證“receiver_email”是已在您的PayPal賬戶中注冊的電子郵件位址,以防止将付款發送到欺詐者的賬戶 。

檢查其他交易詳情(如物品号和價格),以确認價格未改變完成了以上檢查後,您可以使用 IPN 資料更新您的資料庫,并處理購物。

如果收到“無效”通知,則應将其視為可疑通知,并應對其進行調查。

主要參數:

向PayPal送出粘貼代碼時,應包括以下 4 個隐藏變量及一張圖檔,這就是說,您粘貼到PayPal的最短必需代碼應如下:

1

2

3

4

5

6

7

8

<form action="https://www.paypal.com/row/cgi-bin/webscr" method="post">

<input type="hidden" name="cmd" value="_xclick"> // "_xclick" 立即購買

<input type="hidden" name="business" value="[email protected]"> //PayPal賬戶上的電子郵件位址

<input type="hidden" name="item_name" value="Item Name"> //物品名稱(或購物車名稱)

<input type="hidden" name="currency_code" value="USD"> //定義币種以标示貨币變量 值可以為 "USD"、"EUR"、"GBP"、"CAD"、"JPY"。

<input type="hidden" name="amount" value="0.00"> //物品的價格(購物車中所有物品的總價格,因為是_Xclick模式)

<input type="image" src="http://www.paypal.com/zh_XC/i/btn/x-click-but01.gif" name="submit" alt="請使用PayPal付款!">

</form>

可用變量

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" 值:

到:

通過上述 “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 客戶白天聯系電話号碼前三位

提示:若要更改”使用者資訊”中的預設運費和手續費設定,請轉至您的使用者資訊,編輯您的運費計算,然後點選”允許采用基于交易的運費”複選框。

将單個物品傳遞給PayPal

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

将 "cmd" 變量設定到 "_cart"

更換必要的 HTML 行與

添加稱為 “upload” 的新變量

在 <表格> 和 标簽之間新增以下行:

定義物品明細

對于以下各特定物品參數,定義與通過您的合作商購物車購買的各物品對應的一組新值。将 “_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”。

為購物車中每件物品重複此設定

為您的買家購物車中的各物品加入以上表格中的一組必需的變量和任何選項變量。購物車中的第一物品必須用以 “_1″ 結束的參數定義,如 “item_name_1″、”amount_1″ 等。同樣,第二物品應用變量 “item_name_2″、”amount_2″ 等命名。提示:”_x” 值必須以一為機關按序遞增,以便識别。如果從 item #1 跳到 item #3 而不定義 item #2,則第三個物品會被忽略。

要指定币種:所有貨币變量(金額、運費、運費 2、手續費、稅款)将以粘貼在付款上的 “currency_code” 變量指定的币種顯示。因為其不是随物品不同的,無需向變量名稱附加 “_x”。如果沒有粘貼 “currency_code” 變量,我們将假定所有貨币變量值為美元。

PayPay API

PayPal提供了多個API接口供開發者使用。在使用API之前,你必須先申請一個進階個人賬戶或者企業賬戶,同時你必須擷取API 憑證供每次調用API 時使用。

一旦你擷取了API憑證,您就可以調用相關的API接口了。目前,我們提供兩種API接口方式,NVP和SOAP。一般來說我們推薦您使用 NVP 接口。

? Name-Value Pair(NVP)接口 – 請求和響應都是使用簡單的HTTP。該接口簡單易實作,适合于初級開發者和需要快速完成內建的人員;

? SOAP接口 - 請求和響應都是通過SOAP來完成。該接口适合于面向對象工程的開發;

PayPal API:NVP(名稱/值對)接口

通過NVP API接口, 您隻需給PayPal發送一個HTTP請求,并通過“名稱=值”的形式指定請求參數,即可充分利用PayPal的API功能。

NVP API 是 PayPal 的業務功能、風險管理和業務邏輯的簡單接口。NVP API 最基本的使用方法是通過到 PayPal 伺服器的 HTTPS 連接配接發送一個 NVP 字元串,然後處理響應(也是一個 NVP 字元串)。執行 NVP API 調用的基本步驟如下:

? 為特定的 API 方法構造一個請求參數字元串。

? 通過 HTTPS 連接配接向 PayPal 伺服器發送這個參數字元串。

? 處理伺服器響應中的 NVP。

每個NVP API請求字元串包含有API使用者名、API密碼、所要調用API的名稱及用來辨別交易的令牌,如: [email protected]&PWD=mypassword &METHOD=GetExpressCheckoutDetails&TOKEN=EC-23T233ZP3DFB...

成功的應答包含以下要素:ACK=Success ,以及一個用來辨別交易的唯一令牌。 ACK=Success&TIMESTAMP=date/timeOfResponse &CORRELATIONID=debuggingToken&VERSION=2.300000&BUILD=buildNumber &TOKEN=EC-3DJ78083ES565113B&[email protected] &PAYERID=95HR9CM6D56Q2&PAYERSTATUS=verified &FIRSTNAME=John&LASTNAME=Smith...

您可以使用NVP API完成以下操作:

? 搜尋已完成的交易記錄,以及查詢交易詳情;

? 自動化後端功能,例如,捕獲授權,以及處理退款等;

API Profile

進入商家賬号得到相應的APIProfile,如果是以中文語言檢視,在-使用者資訊-API 通路-中得到,其中裡面申請API時,有兩個選項,第一個是用簽名的方式,第二種是以證書的方式來認證商家身份,當你選擇下載下傳數字證時,可以到 www.paypaltech.com/tools/pem2p12.php轉換為.p12檔案,也可以采用OpenSSL的指令完成,一句話搞定,要輸入密碼喔~。這裡的連結有詳細說明www.paypal.com/IntegrationCenter/ic_certificate.html

相應參考資料請參考連接配接www.paypal.com/IntegrationCenter/ic_expresscheckout.html 了解關于Express Checkout的原理;

在此基礎上,你可以通路www.paypal.com/IntegrationCenter/ic_nvp.html 擷取相關測試代碼;

關于PayPal的測試環境你可以通路www.paypal.com/IntegrationCenter/ic_sandbox.html,

API Reference https://www.paypal.com/IntegrationCenter/ic_api-reference.html

繼續閱讀