要创建一个使用 PayPal 的支付系统,你可以利用 PayPal 的 REST API。这里是一个基本示例,它展示了如何使用 PHP 和 PayPal 的 SDK 来创建一个简单的支付流程。请注意,你需要先在 PayPal Developer Center 注册一个账户,并创建一个应用程序来获取你的 client ID 和 secret。
安装 PayPal REST SDK: 首先,你需要安装 PayPal 的 REST SDK。你可以使用 Composer 来安装 SDK。
在你的项目目录中,运行以下命令来安装 PayPal SDK:
composer require paypal/rest-api-sdk-php
设置 PayPal SDK: 使用你的 client ID 和 secret 来配置 SDK。
创建一个名为 bootstrap.php 的文件,并添加以下内容:
require __DIR__ . '/vendor/autoload.php';
use PayPal\Auth\OAuthTokenCredential;
use PayPal\Rest\ApiContext;
// 替换这些值为你的 ClientID 和 Secret
$clientId = 'YOUR_CLIENT_ID';
$clientSecret = 'YOUR_CLIENT_SECRET';
$apiContext = new ApiContext(
new OAuthTokenCredential(
$clientId,
$clientSecret
)
);
$apiContext->setConfig([
'mode' => 'sandbox', // 切换到 'live' 以进行实际的支付处理
'log.LogEnabled' => true,
'log.FileName' => 'PayPal.log',
'log.LogLevel' => 'DEBUG', // PLEASE USE `INFO` LEVEL FOR LOGGING IN LIVE ENVIRONMENTS
'cache.enabled' => true,
]);
这将配置 PayPal SDK 以使用你的凭据。
创建一个支付: 现在你可以创建一个支付。在你的应用程序中创建一个名为 create_payment.php 的新文件,并添加以下内容:
require 'bootstrap.php';
use PayPal\Api\Amount;
use PayPal\Api\Payer;
use PayPal\Api\Payment;
use PayPal\Api\RedirectUrls;
use PayPal\Api\Transaction;
$payer = new Payer();
$payer->setPaymentMethod('paypal');
$amount = new Amount();
$amount->setTotal('30.00'); // 设置支付金额
$amount->setCurrency('USD'); // 设置货币
$transaction = new Transaction();
$transaction->setAmount($amount);
$transaction->setDescription('Example transaction');
$redirectUrls = new RedirectUrls();
$redirectUrls->setReturnUrl("http://example.com/your_redirect_url_here")
->setCancelUrl("http://example.com/your_cancel_url_here");
$payment = new Payment();
$payment->setIntent('sale')
->setPayer($payer)
->setTransactions(array($transaction))
->setRedirectUrls($redirectUrls);
try {
$payment->create($apiContext);
echo "\n\nRedirect user to approval_url: " . $payment->getApprovalLink() . "\n";
} catch (Exception $ex) {
// 处理错误
exit(1);
}
这个脚本创建了一个 PayPal 支付,并打印出用户需要访问的批准 URL。
请注意,这只是一个基本示例。在生产环境中,你需要处理各种情况,如支付批准后的操作、支付失败的错误处理、以及安全性考虑(如防止 CSRF 攻击)。确保阅读 PayPal 的官方文档来了解所有必要的实践和安全措施。