📅  最后修改于: 2023-12-03 14:45:26.931000             🧑  作者: Mango
PayPal是一种行业标准的在线支付平台,许多电商网站都使用它来处理交易。在PHP中,可以使用PayPal的API来集成支付功能。本文将介绍如何使用PHP-PayPal集成来实现PayPal的支付功能。
PHP-PayPal集成是一个使用PHP编写的库,用于与PayPal API进行交互。安装PHP-PayPal集成可以使用Composer,您可以在终端中运行以下命令:
composer require paypal/rest-api-sdk-php
这将下载并安装PHP-PayPal集成。
使用PHP-PayPal集成进行PayPal支付之前,需要设置PayPal API的凭证。要设置凭证,请前往PayPal开发人员网站并创建一个应用程序,然后获取客户端ID和秘密。将客户端ID和秘密添加到您的环境文件中,如下所示:
$apiContext = new \PayPal\Rest\ApiContext(
new \PayPal\Auth\OAuthTokenCredential(
"CLIENT_ID",
"CLIENT_SECRET"
)
);
将CLIENT_ID
和CLIENT_SECRET
替换为您的凭证。
使用PHP-PayPal集成进行PayPal支付的下一步是创建支付。我们将要创建支付,向PayPal发送付款请求,然后获取回执和PayPal支付ID。
//创建付款对象
$payment = new \PayPal\Api\Payment();
$payment->setIntent('sale')
->setPayer(
new \PayPal\Api\Payer(
array(
'payment_method' => 'paypal'
)
)
)
->setRedirectUrls(
new \PayPal\Api\RedirectUrls(
array(
'return_url' => 'http://localhost/paypal-payment-successful.php',
'cancel_url' => 'http://localhost/paypal-payment-cancelled.php'
)
)
)
->setTransactions(
array(
new \PayPal\Api\Transaction(
array(
'amount' => array(
'total' => '10.00',
'currency' => 'USD'
),
'description' => 'Payment description'
)
)
)
);
//创建付款
try {
$payment->create($apiContext);
} catch (\PayPal\Exception\PayPalConnectionException $ex) {
//如果出错则处理错误
echo $ex->getCode();
echo $ex->getData();
die($ex);
}
//获取回执和PayPal支付ID
$approvalUrl = $payment->getApprovalLink();
$paymentId = $payment->getId();
这将创建付款对象并向PayPal发送付款请求。如果一切顺利,您会收到一个回执,其中包含一个PayPal支付ID。
要执行PayPal支付,您需要将用户重定向到PayPal支付页面,并要求他们输入其帐户凭据以授权支付。
header('location:' . $approvalUrl);
这将将用户重定向到PayPal支付页面。如果用户同意支付,PayPal将返回到您提供的回调URL,这将发出POST请求。
当用户批准付款并PayPal返回到您的回调URL时,您需要处理支付。特别是,您需要获取PayPal令牌和Payer ID,并使用它们来执行实际支付。
//从PayPal返回付款标识符
$paymentId = $_GET['paymentId'];
$payerId = $_GET['PayerID'];
//获取付款信息对象
try {
$payment = \PayPal\Api\Payment::get($paymentId, $apiContext);
} catch (\PayPal\Exception\PayPalConnectionException $ex) {
//如果出错则处理错误
echo $ex->getCode();
echo $ex->getData();
die($ex);
}
//创建自己的执行对象,一步完成付款
$execution = new \PayPal\Api\PaymentExecution();
$execution->setPayerId($payerId);
//执行付款
try {
$result = $payment->execute($execution, $apiContext);
echo "支付已成功。";
} catch (\PayPal\Exception\PayPalConnectionException $ex) {
//如果出错则处理错误
echo $ex->getCode();
echo $ex->getData();
die($ex);
}
这将从PayPal获取付款信息对象,并使用自己的执行对象执行付款。如果一切顺利,您将在屏幕上看到“付款已成功”消息。
在本文中,我们介绍了如何使用PHP-PayPal集成来实现PayPal支付功能。我们首先介绍了如何安装和设置PHP-PayPal集成,然后创建和执行PayPal付款。通过使用PHP-PayPal集成,您可以轻松地向您的网站集成PayPal支付。