phpjuice/paypal-checkout-sdk

PayPal Checkout REST API的PHP SDK

v3.2.2 2022-07-26 11:10 UTC

This package is auto-updated.

Last update: 2024-09-20 17:58:10 UTC


README

Tests Latest Stable Version Maintainability Total Downloads License

此包是围绕PayPal REST API第2版构建的PHP SDK包装器。它提供了一个简单、流畅的API来创建和捕获订单,支持沙箱和生成环境。

要了解所有相关信息,请访问详细的文档

安装

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

INFO: 如果您正在使用较旧的PHP版本,此包可能无法正确运行。

安装PayPal Checkout SDK包的推荐方法是使用Composer。

composer require phpjuice/paypal-checkout-sdk

设置

PayPal Checkout SDK旨在简化在您的应用程序中使用新的PayPal checkout 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);

INFO:请参阅详细的文档

用法

创建订单

// 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

INFO:请参阅详细的文档

捕获订单

// 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

INFO:请参阅详细的文档

变更日志

请参阅变更日志以获取有关最近更改的更多信息。

贡献

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

安全

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

鸣谢

许可

许可。请参阅许可以获取更多信息。

Tests Latest Stable Version Maintainability Total Downloads License