亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > PHP > 正文

PHP語言開發Paypal支付demo的具體實現

2020-03-22 18:12:34
字體:
來源:轉載
供稿:網友
  • 如果我們的應用是面向國際的、那么支付的時候通常會考慮使用paypal。以下為個人寫的一個paypal支付示例,已親測可行。paypal有個很不錯的地方就是為開發者提供了sandbox(沙箱)測試功能。(即為開發者在開發環境提供了一個虛擬的賣家賬戶和金額、以及一個虛擬的買家賬戶和金額、虛擬卡號等。能夠讓我們不用使用真實的金錢進行測試。)一、開發前準備http://developer.paypal.com/ 到paypal的開發者網址注冊開發者賬號。 用賬號登錄之后、點擊導航上面的 dashboard、進入dashboard面版。如下截圖、后續的操作都是在這個面板中操作。 上面截圖中菜單 Sandbox下面的Accounts里面能看到你的 sandbox測試的買家賬號和賣家賬號。2個測試賬號里面都有profile選項里面有changepassword可以設置虛擬賬號的密碼。 上面截圖中菜單Sandbox下面的Transactions就是你的交易記錄。 點擊截圖頁面右上角的 Create App按鈕。創建一個應用。創建好后、會給你提供一個Client ID 和 Secret。這兩個可以配置為php常量后面開發中會用到。二、進入支付Demo開發隨便在本地建立一個開發代碼根目錄、先建立一個index.html里面就放一個簡單的產品名稱和產品價格兩個input項即可、代碼和截圖如下:
    <!DOCTYPE html><html lang='en'>    <head>        <meta charset='utf-8'>        <title>支付頁面</title>    </head>    <body>        <div>            <form action='checkout.php' method='post' autocomplete='off'>                <label for='item'>                    產品名稱                    <input type='text' name='product'>                </label>                <br>                <label for='amount'>                    價格                    <input type='text' name='price'>                </label>                <br>                <input type='submit' value='去付款'>            </form>        </div>    </body></html>

    輸入產品名稱 和 價格。點擊去付款就會到paypal的付款頁面。用你的sandbox測試買家賬號去付款。就會發現付款成功。然后登陸你的測試賣家賬號。會發現賣家賬號已經收到付款。當然這里會扣除paypal收取的手續費。手續費收的是賣家的。 下面來具體看看php是怎么實現的。首先先要把paypal提供的 php-sdk給弄到你的代碼目錄中來。這里介紹使用php的包管理器composer來獲取最新sdk、當然你可以可以從github等其他渠道獲取最新的paypal php-sdk。 默認你的電腦已經安裝composer了。如果沒有自己去度娘或者google下composer安裝。 然后在你的代碼根目錄寫一個composer.json文件來獲取包內容。json文件代碼如下:
    {    'require' : {        'paypal/rest-api-sdk-php' : '1.5.1'    }}

    這里如果是 linux/unix系統就直接再根目錄執行composer install來獲取包內容。

    安裝好之后。根目錄下面會產生一個vendor目錄。里面有composer 和 paypal兩個子目錄。composer里面實現了自動加載、paypal則是你的sdk內容。 接下來我們來寫一個公共文件(這里默認用 app/start.php、你的項目中可以自定義)、其實里面就只是實現了 sdk的autoload.php自動加載 和 創建剛才上面的的client id 和 secret生成的paypal支付對象實例。start.php代碼如下:
    <?phprequire 'vendor/autoload.php'; //載入sdk的自動加載文件define('SITE_URL', 'http://www.paydemo.com'); //網站url自行定義//創建支付對象實例$paypal = new PayPalRestApiContext(    new PayPalAuthOAuthTokenCredential(        '你的Client ID'        '你的secret'    ));
    接下來就來實現表單中提交的處理文件 checkout.php。代碼內容如下:
    <?php/** * @author xxxxxxxx * @brief 簡介: * @date 15/9/2 * @time 下午5:00 */use PayPalApiPayer;use PayPalApiItem;use PayPalApiItemList;use PayPalApiDetails;use PayPalApiAmount;use PayPalApiTransaction;use PayPalApiRedirectUrls;use PayPalApiPayment;use PayPalExceptionPayPalConnectionException;require 'app/start.php';if (!isset($_POST['product'], $_POST['price'])) {    die('lose some params');}$product = $_POST['product'];$price = $_POST['price'];$shipping = 2.00; //運費$total = $price + $shipping;$payer = new Payer();$payer->setPaymentMethod('paypal');$item = new Item();$item->setName($product)    ->setCurrency('USD')    ->setQuantity(1)    ->setPrice($price);$itemList = new ItemList();$itemList->setItems([$item]);$details = new Details();$details->setShipping($shipping)    ->setSubtotal($price);$amount = new Amount();$amount->setCurrency('USD')    ->setTotal($total)    ->setDetails($details);$transaction = new Transaction();$transaction->setAmount($amount)    ->setItemList($itemList)    ->setDescription('支付描述內容')    ->setInvoiceNumber(uniqid());$redirectUrls = new RedirectUrls();$redirectUrls->setReturnUrl(SITE_URL . '/pay.php?success=true')    ->setCancelUrl(SITE_URL . '/pay.php?success=false');$payment = new Payment();$payment->setIntent('sale')    ->setPayer($payer)    ->setRedirectUrls($redirectUrls)    ->setTransactions([$transaction]);try {    $payment->create($paypal);} catch (PayPalConnectionException $e) {    echo $e->getData();    die();}$approvalUrl = $payment->getApprovalLink();header('Location: {$approvalUrl}');

    checkout.php通過表單提交上來的參數對支付具體細節和參數進行初始化和設置。這里只列出了常用的部分。paypal提供了很多參數設置。具體更豐富的可以自己參考paypal官方開發者文檔。

    checkout.php設置完參數之后。會生成一個支付鏈接。用header跳轉到這個支付鏈接(就是paypal的支付頁面)到這個支付頁面上面就可以用你的sandbox提供的buyer賬號去支付了。截圖如下: 用buyer賬號支付完成之后。去看看你的sandbox的商家賬戶余額吧。就會發現已經收到了扣除手續費外的錢了。 這里支付成功 或者 失敗后還有一個回調的處理?;卣{處理的php文件再上面的checkout.php里面的setReturnUrl處設置。這里設置的是/pay.php?success=true 接下來我們來看看pay.php是怎么簡單處理回調的。先貼上pay.php的代碼:
    <?phprequire 'app/start.php';use PayPalApiPayment;use PayPalApiPaymentExecution;if(!isset($_GET['success'], $_GET['paymentId'], $_GET['PayerID'])){    die();}if((bool)$_GET['success']=== 'false'){    echo 'Transaction cancelled!';    die();}$paymentID = $_GET['paymentId'];$payerId = $_GET['PayerID'];$payment = Payment::get($paymentID, $paypal);$execute = new PaymentExecution();$execute->setPayerId($payerId);try{    $result = $payment->execute($execute, $paypal);}catch(Exception $e){    die($e);}echo '支付成功!感謝支持!';

    好了。到這里一個簡單的paypal支付的demo其實已經走通了。懂得支付原理之后、想要再你自己的項目里面進行更豐富的擴展、就去paypal的官方文檔查看更多具體的開發項設置。包括交易明細的獲取等等都是可以實現的。這里就不具體講下去了。

    本文中的demo是在 2015-9-2中 使用 最新的paypal php-sdk版本 1.5.1測試通過的。如sdk版本的相差較遠可能會有些許差別。借閱者自行借助參考即可!希望能給剛剛想要開發paypal支付、確無從入手的人帶來點幫助!PHP編程

    鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

  • 發表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發表
    亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
    91在线免费观看网站| 一区二区在线视频播放| www.亚洲成人| 成人美女免费网站视频| 韩国一区二区电影| 欧美激情一区二区三区高清视频| 亚洲第一国产精品| 俺也去精品视频在线观看| 欧美在线视频一区二区| 精品magnet| 久久久久久美女| 97福利一区二区| 久久精品这里热有精品| 日韩中文字幕第一页| 国产一区二区丝袜| 亚洲欧美第一页| 欧美猛交ⅹxxx乱大交视频| 欧美大片大片在线播放| 日本精品中文字幕| 欧美午夜久久久| 久色乳综合思思在线视频| 日韩久久精品成人| 亚洲一区二区三区四区在线播放| 亚洲激情视频在线播放| xxx成人少妇69| 91国偷自产一区二区三区的观看方式| 琪琪第一精品导航| 日韩成人激情影院| 日韩一区二区精品视频| 欧美国产日本在线| 欧美日韩免费在线| 国内精品久久久久久久久| 亚洲欧美国产va在线影院| 亚洲欧美在线磁力| 国产精品h片在线播放| 成人网址在线观看| 91精品在线一区| 国产精品福利观看| 91国产在线精品| 国产欧美久久一区二区| 国产综合在线看| 毛片精品免费在线观看| 成人av在线天堂| 亚洲一二三在线| 亚洲图片在线综合| 亚洲国产中文字幕久久网| 91久久综合亚洲鲁鲁五月天| 欧美另类第一页| 九九精品视频在线观看| 国产一区二区三区在线观看视频| 91久久精品一区| 亚洲一区二区国产| 久久成人在线视频| 国内精品久久久久伊人av| 国产精品一区二区在线| 亚洲欧美一区二区三区在线| 在线丨暗呦小u女国产精品| 国产精国产精品| 欧美天堂在线观看| 51久久精品夜色国产麻豆| 国产日产欧美精品| 中文字幕亚洲专区| 国产成人精品视频在线观看| 亚洲国产高潮在线观看| 亚洲免费高清视频| 97在线看福利| 在线观看欧美日韩| 91欧美视频网站| 亚洲区在线播放| 欧美怡春院一区二区三区| 成人网中文字幕| 亚洲韩国欧洲国产日产av| 亚洲国产高清福利视频| 国产精品普通话| 亚洲综合中文字幕在线| 欧美裸体视频网站| 亚洲国产精彩中文乱码av在线播放| 欧美在线性视频| 国内外成人免费激情在线视频| 久久国产精品电影| 亚洲精品成人久久久| 久久精品91久久香蕉加勒比| 欧美另类老肥妇| 2019中文字幕在线观看| 国产精品一区二区久久国产| 亚洲嫩模很污视频| 亚洲香蕉成人av网站在线观看| 国产精品视频久久久久| 日韩av资源在线播放| 亚洲经典中文字幕| 精品久久久av| 97国产真实伦对白精彩视频8| 色综合久久久久久中文网| 国产成人精品一区二区三区| 色在人av网站天堂精品| 欧美xxxx做受欧美| 精品国产一区二区三区四区在线观看| 欧美黑人国产人伦爽爽爽| 亚洲高清不卡av| 91探花福利精品国产自产在线| 亚洲一区二区三区成人在线视频精品| 亚洲成人免费网站| 亚洲欧美日韩图片| 91国产中文字幕| 操人视频在线观看欧美| 久久不射热爱视频精品| 中文字幕日韩av综合精品| 亚洲全黄一级网站| 国产精品网红直播| 中文字幕欧美日韩精品| 色妞色视频一区二区三区四区| 国产午夜精品理论片a级探花| 91老司机精品视频| 日韩成人av网| 国内久久久精品| 91精品久久久久久久久久久久久久| 81精品国产乱码久久久久久| 亚洲bt天天射| 亚洲国产精彩中文乱码av在线播放| 国产精选久久久久久| 一区二区av在线| 97视频在线观看亚洲| 国产成人精品网站| 97精品国产97久久久久久| 日韩欧美一区视频| 日本不卡视频在线播放| 国产精品欧美日韩| 一区二区国产精品视频| 亚洲国产97在线精品一区| 热久久美女精品天天吊色| 日韩精品久久久久久久玫瑰园| 国产精品黄色影片导航在线观看| 91免费精品视频| 久久av资源网站| 日本精品一区二区三区在线播放视频| 久久中文字幕视频| 成人综合网网址| 91精品国产91久久久久| 中文字幕日本精品| …久久精品99久久香蕉国产| 国产精品白嫩初高中害羞小美女| 欧美午夜久久久| 国产精品wwww| 国产一区二区三区在线视频| 国产精品视频久久久| 亚洲专区国产精品| 欧美一区在线直播| 最好看的2019的中文字幕视频| 中文字幕一精品亚洲无线一区| 欧美在线视频免费观看| 中文字幕视频一区二区在线有码| 国内精品美女av在线播放| 国产精品亚洲片夜色在线| 成人妇女淫片aaaa视频| 亚洲高清福利视频| 777午夜精品福利在线观看| 高清欧美电影在线| 国产亚洲精品久久| 欧美极品少妇xxxxⅹ免费视频| 国外成人在线直播| 国产精品永久在线| 911国产网站尤物在线观看| 欧美激情久久久久久| 国产精品91久久|