PayPal支付是一種便捷且安全的支付方式,它可以輕松地將支付操作集成到您的網(wǎng)站中。在PHP中,PayPal支付通過(guò)“PayPal REST API”實(shí)現(xiàn)。該API提供了許多功能,包括創(chuàng)建訂單和付款、取消付款、退款等。PHP腳本可以使用PayPal REST API,以及PayPal_SDK類庫(kù),來(lái)實(shí)現(xiàn)與PayPal支付的集成。
例如,您可以通過(guò)以下PHP代碼來(lái)創(chuàng)建并處理一個(gè)簡(jiǎn)單的PayPal支付訂單:
<?php use PayPal\Api\Item; use PayPal\Api\ItemList; use PayPal\Api\Payer; use PayPal\Api\Payment; use PayPal\Api\Details; use PayPal\Api\Amount; use PayPal\Api\Transaction; use PayPal\Rest\ApiContext; use PayPal\Auth\OAuthTokenCredential; // 配置APIContext和OAuthTokenCredential $apiContext = new ApiContext( new OAuthTokenCredential( 'clientId', // 自己的client id 'clientSecret' // 自己的secret id ) ); // 設(shè)置支付人信息 $payer = new Payer(); $payer->setPaymentMethod('paypal'); // 設(shè)置訂單的購(gòu)買項(xiàng) $item1 = new Item(); $item1->setName('商品1')->setCurrency('USD')->setQuantity(1)->setPrice(3); $item2 = new Item(); $item2->setName('商品2')->setCurrency('USD')->setQuantity(2)->setPrice(2.5); $itemList = new ItemList(); $itemList->setItems(array($item1, $item2)); // 設(shè)置訂單細(xì)節(jié) $details = new Details(); $details->setShipping(0)->setTax(0)->setSubtotal(8); // 設(shè)置訂單總數(shù) $amount = new Amount(); $amount->setCurrency('USD')->setTotal(8)->setDetails($details); // 設(shè)置交易信息 $transaction = new Transaction(); $transaction->setAmount($amount)->setItemList($itemList)->setDescription('描述'); // 創(chuàng)建并保存支付對(duì)象 $payment = new Payment(); $payment->setIntent('sale')->setPayer($payer)->setTransactions(array($transaction)); $payment->create($apiContext); ?>上述代碼會(huì)創(chuàng)建一個(gè)PayPal支付訂單,其中包括兩個(gè)購(gòu)買項(xiàng)、一個(gè)交易細(xì)節(jié)和一個(gè)交易描述。此訂單的總金額為8美元(USD)。 此外,PayPal REST API還提供了許多其他功能,如取消付款、退款、獲取交易歷史記錄等。使用PayPal SDK,將這些功能集成到您的PHP應(yīng)用程序中將變得容易。例如,以下PHP代碼可以查詢當(dāng)前用戶的最近10個(gè)交易:
<?php use PayPal\Api\Payment; use PayPal\Api\PaymentHistory; // 獲取最近的10個(gè)付款交易記錄 $history = Payment::all(array('count' =>10), $apiContext); // 遍歷交易記錄,輸出交易詳情 foreach ($history->getPayments() as $payment) { echo $payment->getId() . ' ' . $payment->getState() . ' ' . $payment->getUpdateTime() . '<br>'; } ?>上述代碼實(shí)現(xiàn)了使用PayPal_SDK去查詢當(dāng)前用戶的最近10個(gè)交易記錄,并輸出這些交易的ID、狀態(tài)和更新時(shí)間。 總之,PayPal支付通過(guò)其易于使用的API使得將支付集成到您的PHP應(yīng)用程序中變得非常容易。如果您需要接受付款并保護(hù)您的用戶信息,PayPal支付將是您理想的選擇。