phpjuice / paypal-checkout-sdk
PayPal Checkout REST API的PHP SDK
v3.2.2
2022-07-26 11:10 UTC
Requires
- php: ^7.4|^8.0|^8.1
- ext-json: *
- brick/money: ^0.5.2
- phpjuice/paypal-http-client: ^1.0
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或更高版本。
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以获取详细信息以及待办事项列表。
安全
如果您发现任何安全相关的问题,请通过电子邮件联系作者而不是使用问题跟踪器。
鸣谢
许可
许可。请参阅许可以获取更多信息。