1. 程式人生 > >跨境網上收款 找PayPal沒錯(php如何實現paypal支付)

跨境網上收款 找PayPal沒錯(php如何實現paypal支付)

開發前準備

           在我的部落格中 有介紹如何獲取ID 和 secret ;

好了 在上一篇部落格中詳細介紹了也不少;

跨境網上收款 找PayPal沒錯(如何獲取ID 和 secret)

http://blog.csdn.net/qiandublog/article/details/52809731

那麼我們在這裡就不廢話了。

直接上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程式碼如下:
  • <?php
    require "vendor/autoload.php"; //載入sdk的自動載入檔案
    define('SITE_URL', 'http://www.paydemo.com'); //網站url自行定義  如果是本地是 localhost/後面的看你自己的程式碼位置pay.php的位置 寫到資料夾的位置就可以
    //建立支付物件例項
    $paypal = new \PayPal\Rest\ApiContext(
        new \PayPal\Auth\OAuthTokenCredential(
            '你的Client ID'
            '你的secret'
        )
    );
    複製程式碼複製程式碼
  • 接下來就來實現表單中提交的處理檔案 checkout.php。程式碼內容如下:
<?php
use \PayPal\Api\Payer;
use \PayPal\Api\Item;
use \PayPal\Api\ItemList;
use \PayPal\Api\Details;
use \PayPal\Api\Amount;
use \PayPal\Api\Transaction;
use \PayPal\Api\RedirectUrls;
use \PayPal\Api\Payment;
use \PayPal\Exception\PayPalConnectionException;

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的程式碼:
  • 複製程式碼
        <?php
    
        require 'app/start.php';
    
        use PayPal\Api\Payment;
        use PayPal\Api\PaymentExecution;
    
        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沒錯(php如何實現paypal支付)

開發前準備            在我的部落格中 有介紹如何獲取ID 和 secret ; 好了 在上一篇部落格中詳細介紹了也不少; 跨境網上收款 找PayPal沒錯(如何獲取ID 和 secret) http://blog.csdn.net/qiandublog/

網上收款 PayPal沒錯(獲取Client ID 和 secret)

只需一個PayPal賬戶,全球1.9億網購買家觸手可得 不管您有沒有網站,擁有PayPal賬戶就能接收全球203個國家和地區買家的付款,而他們可以用最常用的信用卡、借記卡或銀行賬戶等多種方式支付。跨境網上收款就是這麼簡單。 我什麼要使用paypal?  首先國內支付寶,或

php實現三方支付

支付模組是各個公司中公司和使用者之間的交易橋樑,構建一套易用,安全,便捷的支付環境是每個公司的首要任務。在上一家公司我負責搭建該功能模組,在此對在做支付模組需要準備的資料、遇到的問題和以後規劃的設想在這裡做一個簡單的記錄。希望可以幫助到那些對支付模組剛剛接觸的新

貿易PayPal收款,個人美金額度不夠了,如何提現美金?

很多做跨境貿易的朋友,總會遇到一些客戶通過PayPal支付。自己提現幾次,每年超過5萬美元結匯額度之後,個人額度就不夠了, 用親屬的又很麻煩。那麼個人結匯,每年超過5萬美元結匯額度之後,該如何將多餘的美元低成本的換成人民幣呢?之前連連支付可以提現,但2018年7月1日後取消了

WorldFirst怎麼樣?收款工具萬里匯WorldFirst解析!

很多跨境電商的朋友都會問到,WorldFirst怎麼樣?萬里匯支付可靠不?下面我們就從安全、服務、費率等幾個方面,對跨境收款工具萬里匯WorldFirst做全面的解析! 一、WorldFirst簡介 WorldFirst 是 2004 年成立於英國的一家頂級外匯金融公司,總部設立於金融

電商如何利用Payoneer(派安盈)來收款

近年來跨境電商是越來越火,但在做海外市場的時候,收款其實是一個挺麻煩的事。 比如客戶在獨立站上下單,那麼這客戶可能是用PayPal來下單,也可能是用信用卡來付款。假設對方用信用卡來付款,你的獨立站又綁定了2checkout等國外知名的信用卡機構來收款。 那麼買家把錢付款給

PHP對接1688鋪貨功能sdk使用說明

檔案說明 /app/Component/Ali/Sdk -- sdk資料夾 /app/Component/Ali/AliApi.php -- 1688各介面封裝類 /app/Component/Ali/TransferController.php -- 1688各

押註電商 這家印度電商要來華招商了

跨境電商運營 麥言獨家獲悉,印度電商平臺Paytm已與深圳市全和悅供應鏈管理有限公司(下面稱“全和悅”)達成合作協議,並借此開拓中國商戶。  據全和悅方面透露,全和悅與Paytm的合作建立在Paytm在印度的巨大流量入口,及全和悅多年對印度市場的國際物流、海外倉儲等供應鏈管理服務基礎上。  中國商

新政下的電商——香港一個新的發展機遇

跨境電商運營  今年是香港回歸20周年,與澳門相比,香港這20年的發展道路顯得尤為坎坷。1997年香港回歸時,整個香港的GDP占中國大陸的18%,人均GDP高出新加坡一大截。如今,香港GDP不足大陸的3%,已經被北京上海廣州超越,和深圳基本持平,經濟總量與遼寧省相當。也許有人會把這個歸罪於“一國兩制”的政治體

電商怎麽做?天津華信智原解析

跨境電商即跨境電子商務,是通過電子商務平臺達成交易、進行支付結算,並通過跨境物流送達商品、完成交易的一種國際商業活動。中國跨境電商出口產業正進入黃金發展時期。數據顯示,2016年上半年,中國跨境電商出口交易額已經占中國整體跨境電商交易規模的八成以上,達到2.09萬億元人民幣。當傳統行業受到電商的沖

電商賣家你需要的一款電商ERP在這裏?

內部 而且 應該 優化 折扣 前端 降低成本 個人 自然 跨境電商發展在這幾年發展異常迅猛,連續多年高增長,除了國內淘寶賣家轉型和傳統外貿賣家之外,老賣家發展到一定階段必然會出現管理和運營的瓶頸,瓶頸不攻破,勢必會影響企業的發展。 所以跨境電商運營在電商企業至關

天津華信智原解析如何選擇平臺

國經濟發展“電商化”趨勢日益明顯,電商交易規模和創新應用再創歷史新高。面對疲軟的國際市場需求和激烈的市場競爭,越來越多的企業嘗試使用網絡平臺與海外買家進行直接的電商交易, 基於其自由、開放、通用、普惠的特點,億萬消費者可以買全球,中小企業可以賣全球。可以預見,跨境電商將連接世界,成為未來全球貿易的主要

巨頭混戰,物流將迎軍閥割據局面?

自己的 服務質量 成本 http 地域 這一 商家 中國郵政 充足 今年88購物節上,京東聯手沃爾瑪涉足跨境直郵。前不久,順豐和UPS(美國快遞公司) 成立合資公司,進一步布局跨境物流。9月26日,網易考拉宣布首次在重慶以鐵路專列形式完成進口物流貿易。跨境電商巨頭紛紛在跨

雙十一前夜,電商如何解開“真假美猴王”陷阱

跨境電商雙十一前夜,突然想起來了跨境電商和它早前的一個新聞:經國際刑警組織紅色通報全球通緝,在境外潛逃1年3個月後,走秀網CEO紀文泓最終在8月16日被押解入境。而他犯罪的原因很“簡單”:作為跨境電商的走秀網,走私了。結果,網絡上的輿論卻對這位紀文泓報以了不少“同情”,大多都是點贊走秀網是良心電商、不賣假貨情

電商平臺開發

安全 在線 會員 國際 客戶 bubuko 版本 領域 inf 跨境電商全稱跨境電子商務,是指分屬不同關境的交易主體,通過電子商務平臺達成交易、進行支付結算,並通過跨境物流配送商品、完成交易過程的一種國際商業活動。跨境電商平臺結合跨境物流,國際速遞,進口物流,金融鏈條,跨境

[PHP] 數據結構-鏈表創建-插入-刪除-查PHP實現

開始 false dump 查找 ins tel tde 當前 ret 鏈表獲取元素1.聲明結點p指向鏈表第一個結點,j初始化1開始2.j<i,p指向下一結點,因為此時p是指向的p的next,因此不需要等於3.如果到末尾了,p還為null,就是沒有查找到 插入元素1.

區塊鏈+支付市場空間可期 新的代幣生態空間正形成

color net 分享圖片 金利 區塊鏈技術 減少 難題 roc 帶來 跨境電商支付這一規模不斷增長的行業所隱藏的痛點正亟待解決。 而區塊鏈帶來的各類解決方案也讓跨境電商交易主體們不斷的想要“擁抱”區塊鏈。現存的電商交易支付中主要存在三大問題亟待解決。首先,在跨境電商平臺

淘寶電商怎麼做 淘寶電商注意事項

  現如今,國際物流發展迅速,不僅國人喜歡購買外國商品,外國人其實也喜歡中國製造,在此大趨勢下,跨境電商越來越流行。如果大家及時抓住這個契機,是可以獲得不少利潤的。那麼淘寶跨境電商怎麼做?   一、淘寶跨境電商加入流程   做跨境電商第一步就是選擇好的品類,因為選擇一個市場潛力巨大

電商賣家如何申請註冊美國商標?

隨著全球電子商務和中國跨境電商近年來的發展,中國商家走出去的第一步往往是先申請國際商標,而從國際商標申請量來看,美國商標申請量絕對是遙遙領先。但是在申請美國商標註冊前,一定要了解清楚以下幾點內容,避免陷入誤區。 一、申請美國商標註冊有哪些程式? 1、商標查詢 在美國商標局進行商標查詢包括

電商賣家為何要優先註冊美國商標?

隨著全球貿易和跨境電商的迅猛發展,越來越多的中國商家逐漸認識到海外智慧財產權保護的重要性,並開始註冊國際商標和申請國際專利,這不僅有利於業務的海外發展,也有助於保護自己的品牌和產品。而在眾多國家中,許多剛剛開始做跨境電商的朋友往往都會選擇美國為商品銷售地,不僅是因為美國市場廣闊,消費水平高,