wartw89 / paypal-checkout-sdk
PayPal Checkout REST API 的 PHP SDK
v1
2023-04-22 10:39 UTC
Requires
- php: ^7.4|^8.0|^8.1
- ext-json: *
- wartw89/money: ^v1
- wartw89/paypal-http-client: ^v1
Requires (Dev)
- pestphp/pest: ^1.18
- phpstan/phpstan: ^0.12
- squizlabs/php_codesniffer: ^3.4
README
此软件包是 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 了解详细信息以及待办事项列表。
安全
如果您发现任何与安全相关的问题,请通过电子邮件联系作者,而不是使用问题跟踪器。
鸣谢
许可
许可。请参阅 许可 了解更多信息。