wartw89/paypal-checkout-sdk

PayPal Checkout REST API 的 PHP SDK

v1 2023-04-22 10:39 UTC

This package is auto-updated.

Last update: 2024-09-22 13:52:27 UTC


README

Tests Latest Stable Version Maintainability Total Downloads License

此软件包是 PayPal REST API 第 2 版的 PHP SDK 包装器。它提供了一种简单、流畅的 API,用于在沙箱和生产环境中创建和捕获订单。

要了解更多信息,请访问详尽的 文档

安装

PayPal Checkout SDK 软件包需要 PHP 7.4 或更高版本。

信息:如果您使用的是较旧的 PHP 版本,此软件包可能无法正确运行。

安装 PayPal Checkout SDK 软件包的推荐方式是通过 Composer。

composer require phpjuice/paypal-checkout-sdk

设置

PayPal Checkout SDK 软件包旨在简化在您的应用程序中使用新的 PayPal 结算 API。

设置凭据

前往 https://developer.paypal.com/developer/applications 生成 REST API 应用,以获取客户端 ID 和客户端密钥。

设置 PayPal 客户端

为了与 PayPal 平台通信,我们需要先设置一个客户端

创建沙箱环境下的客户端

// import namespace
use PayPal\Http\Environment\SandboxEnvironment;
use PayPal\Http\PayPalClient;

// client id and client secret retrieved from PayPal
$clientId = "<<PAYPAL-CLIENT-ID>>";
$clientSecret = "<<PAYPAL-CLIENT-SECRET>>";

// create a new sandbox environment
$environment = new SandboxEnvironment($clientId, $clientSecret);

// create a new client
$client = new PayPalClient($environment);

创建生产环境下的客户端

// import namespace
use PayPal\Http\Environment\ProductionEnvironment;
use PayPal\Http\PayPalClient;

// client id and client secret retrieved from PayPal
$clientId = "<<PAYPAL-CLIENT-ID>>";
$clientSecret = "<<PAYPAL-CLIENT-SECRET>>";

// create a new sandbox environment
$environment = new ProductionEnvironment($clientId, $clientSecret);

// create a new client
$client = new PayPalClient($environment);

信息:请参阅详尽的 文档

用法

创建订单

// Import namespace
use PayPal\Checkout\Requests\OrderCreateRequest;
use PayPal\Checkout\Orders\AmountBreakdown;
use PayPal\Checkout\Orders\Item;
use PayPal\Checkout\Orders\Order;
use PayPal\Checkout\Orders\PurchaseUnit;

// Create a purchase unit with the total amount
$purchase_unit = new PurchaseUnit(AmountBreakdown::of('100.00'));

// Create & add item to purchase unit
$purchase_unit->addItem(Item::create('Item 1', '100.00', 'USD', 1));

// Create a new order with intent to capture a payment
$order = new Order();

// Add a purchase unit to order
$order->addPurchaseUnit($purchase_unit);

// Create an order create http request
$request = new OrderCreateRequest($order);

// Send request to PayPal
$response = $client->send($request);

// Parse result
$result = json_decode((string) $response->getBody());
echo $result->id; // id of the created order
echo $result->intent; // CAPTURE
echo $result->status; // CREATED

信息:请参阅详尽的 文档

捕获订单

// Import namespace
use PayPal\Checkout\Requests\OrderCaptureRequest;

// Create an order capture http request
$request = new OrderCaptureRequest($order_id);

// Send request to PayPal
$response = $client->send($request);

// Parse result
$result = json_decode((string) $response->getBody());
echo $result->id; // id of the captured order
echo $result->status; // CAPTURED

信息:请参阅详尽的 文档

变更日志

有关最近更改的更多信息,请参阅 变更日志

贡献

请参阅 CONTRIBUTING.md 了解详细信息以及待办事项列表。

安全

如果您发现任何与安全相关的问题,请通过电子邮件联系作者,而不是使用问题跟踪器。

鸣谢

许可

许可。请参阅 许可 了解更多信息。

Tests Latest Stable Version Maintainability Total Downloads License