PayPal PHP支付流程主要包括以下幾個步驟:
創建PayPal應用 首先,你需要在PayPal Developer網站(https://developer.paypal.com/)上注冊一個帳戶并創建一個應用。這將為你提供API密鑰和其他身份驗證信息,你將需要這些信息來與PayPal API進行交互。
安裝PayPal PHP SDK 使用Composer安裝PayPal PHP SDK。在你的項目根目錄中運行以下命令:
composer require paypal/rest-api-sdk-php:*
這將在你的項目中安裝PayPal PHP SDK及其依賴項。
require 'vendor/autoload.php';
use PayPal\Rest\ApiContext;
use PayPal\Auth\OAuthTokenCredential;
$apiContext = new ApiContext(
new OAuthTokenCredential(
'YOUR_CLIENT_ID', // ClientID
'YOUR_CLIENT_SECRET' // ClientSecret
)
);
將YOUR_CLIENT_ID
和YOUR_CLIENT_SECRET
替換為你在第1步中獲得的API憑據。
use PayPal\Api\Amount;
use PayPal\Api\Details;
use PayPal\Api\Item;
use PayPal\Api\ItemList;
use PayPal\Api\Payer;
use PayPal\Api\Payment;
use PayPal\Api\RedirectUrls;
use PayPal\Api\Transaction;
$payer = new Payer();
$payer->setPaymentMethod("paypal");
$item1 = new Item();
$item1->setName('Ground Coffee 40 oz')
->setCurrency('USD')
->setQuantity(1)
->setSku("123123") // Similar to `item_number` in Classic API
->setPrice(7.5);
$item2 = new Item();
$item2->setName('Granola bars')
->setCurrency('USD')
->setQuantity(5)
->setSku("321321") // Similar to `item_number` in Classic API
->setPrice(2);
$itemList = new ItemList();
$itemList->setItems(array($item1, $item2));
$details = new Details();
$details->setShipping(1.2)
->setTax(1.3)
->setSubtotal(17.50);
$amount = new Amount();
$amount->setCurrency("USD")
->setTotal(20)
->setDetails($details);
$transaction = new Transaction();
$transaction->setAmount($amount)
->setItemList($itemList)
->setDescription("Payment description")
->setInvoiceNumber(uniqid());
$redirectUrls = new RedirectUrls();
$redirectUrls->setReturnUrl("http://yourdomain.com/return")
->setCancelUrl("http://yourdomain.com/cancel");
$payment = new Payment();
$payment->setIntent("sale")
->setPayer($payer)
->setRedirectUrls($redirectUrls)
->setTransactions(array($transaction));
try {
$payment->create($apiContext);
} catch (Exception $ex) {
echo $ex;
exit(1);
}
$approvalUrl = $payment->getApprovalLink();
header("Location: " . $approvalUrl);
這段代碼將創建一個支付對象,設置支付金額、貨幣類型、支付方式等屬性,并使用PayPal API發送支付請求。最后,它將重定向用戶到PayPal支付頁面。
use PayPal\Api\Payment;
use PayPal\Api\PaymentExecution;
$paymentId = $_GET['paymentId'];
$payment = Payment::get($paymentId, $apiContext);
$execution = new PaymentExecution();
$execution->setPayerId($_GET['PayerID']);
try {
$result = $payment->execute($execution, $apiContext);
} catch (Exception $ex) {
echo $ex;
exit(1);
}
// 支付成功,處理業務邏輯
這段代碼將從PayPal獲取支付信息,并使用PayPal API執行支付。如果支付成功,你可以繼續處理業務邏輯,例如更新數據庫記錄、發送確認郵件等。
總之,PayPal PHP支付流程包括創建PayPal應用、安裝和配置SDK、創建支付、處理支付回調以及測試支付流程。通過遵循這些步驟,你可以輕松地在你的PHP項目中集成PayPal支付功能。