要在PHP中使用PayPal支付接口,您需要遵循以下步骤:
创建PayPal商家账户:首先,您需要注册一个PayPal商家账户。访问https://www.paypal.com/,然后点击“商家工具”并注册。
获取API凭据:登录到您的PayPal商家账户,然后转到“我的业务设置”>“API安全”>“API凭据”。在这里,您将看到您的API用户名、密码和签名。复制这些值,因为您将在PHP代码中使用它们。
下载PayPal PHP SDK:访问https://github.com/paypal/PayPal-PHP-SDK,然后下载或克隆存储库。将其解压缩到您的项目文件夹中。
配置autoload.php:在您的PHP文件中,包含PayPal SDK的autoload.php文件。例如:
require 'path/to/PayPal-PHP-SDK/autoload.php';
use PayPal\Rest\ApiContext;
use PayPal\Auth\OAuthTokenCredential;
$api_username = "your_api_username";
$api_password = "your_api_password";
$api_signature = "your_api_signature";
$credentials = new OAuthTokenCredential($api_username, $api_password, $api_signature);
$apiContext = new ApiContext($credentials);
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;
$payer = new Payer();
$payer->setPaymentMethod("paypal");
$item1 = new Item();
$item1->setName('Item 1')
->setCurrency('USD')
->setQuantity(1)
->setPrice(7.5);
$itemList = new ItemList();
$itemList->setItems(array($item1));
$details = new Details();
$details->setShipping(1.2)
->setTax(1.3)
->setSubtotal(7.50);
$amount = new Amount();
$amount->setCurrency("USD")
->setTotal(10)
->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);
// return.php
$paymentId = $_GET['paymentId'];
$payment = Payment::get($paymentId, $apiContext);
$execution = new PaymentExecution();
$execution->setPayerId($_GET['PayerID']);
try {
$result = $payment->execute($execution, $apiContext);
// Payment is successful, update your database and display a success message
} catch (Exception $ex) {
// Payment failed, display an error message
}
// cancel.php
// Display a cancellation message
现在,您已经成功地在PHP中设置了PayPal支付接口。用户可以通过PayPal进行支付,您可以处理支付确认和取消。