pay-now / paynow-php-sdk
PHP 客户端库,用于访问 Paynow API
2.4.1
2024-08-12 07:52 UTC
Requires
- php: >=7.2
- php-http/client-implementation: ^1.0 || ^2.0
- php-http/discovery: ^1.12
- php-http/httplug: ^2.2
- php-http/message-factory: ^1.0 || ^2.0
- psr/http-message: ^1.0 || ^2.0
Requires (Dev)
- dealerdirect/phpcodesniffer-composer-installer: ^0.7.0
- friendsofphp/php-cs-fixer: ^2.15
- guzzlehttp/psr7: ^1.6
- nyholm/psr7: ^1.2
- php-http/guzzle6-adapter: ^2.0
- php-http/mock-client: ^1.3
- phpcompatibility/php-compatibility: ^9.3
- phpunit/phpunit: ^8.5.36
- squizlabs/php_codesniffer: ^3.4
Suggests
- nyholm/psr7: A super lightweight PSR-7 implementation
- php-http/curl-client: PSR-18 and HTTPlug Async client with cURL
This package is auto-updated.
Last update: 2024-09-10 16:32:44 UTC
README
Paynow PHP 库提供了从用 PHP 编写的应用程序中访问 Paynow API 的功能。
要求
- PHP 7.1 或更高版本
- HTTP 客户端实现了
php-http/client-implementation
。更多信息请参阅包列表。
安装
Composer
使用 Composer 安装库
$ composer require pay-now/paynow-php-sdk
如果您没有实现 PSR-18 的 HTTP 客户端,可以使用
$ composer require pay-now/paynow-php-sdk nyholm/psr7 php-http/curl-client
使用自动加载器
require_once('vendor/autoload.php');
使用方法
发起支付
use Paynow\Client; use Paynow\Environment; use Paynow\Exception\PaynowException; use Paynow\Service\Payment; $client = new Client('TestApiKey', 'TestSignatureKey', Environment::SANDBOX); $orderReference = "success_1234567"; $idempotencyKey = uniqid($orderReference . '_'); $paymentData = [ 'amount' => '100', 'currency' => 'PLN', 'externalId' => $orderReference, 'description' => 'Payment description', 'buyer' => [ 'email' => 'customer@domain.com' ] ]; try { $payment = new Payment($client); $result = $payment->authorize($paymentData, $idempotencyKey); } catch (PaynowException $exception) { // catch errors }
处理带有当前支付状态的通知
use Paynow\Notification; $payload = trim(file_get_contents('php://input')); $headers = getallheaders(); $notificationData = json_decode($payload, true); try { new Notification('TestSignatureKey', $payload, $headers); // process notification with $notificationData } catch (Exception $exception) { header('HTTP/1.1 400 Bad Request', true, 400); } header('HTTP/1.1 202 Accepted', true, 202);
发起支付退款
use Paynow\Client; use Paynow\Environment; use Paynow\Exception\PaynowException; use Paynow\Service\Refund; $client = new Client('TestApiKey', 'TestSignatureKey', Environment::SANDBOX); try { $refund = new Refund($client); $result = $refund->create('YXZA-123-ABC-A01', uniqid(), 100); } catch (PaynowException $exception) { // catch errors }
检索可用的支付方式
use Paynow\Client; use Paynow\Environment; use Paynow\Exception\PaynowException; use Paynow\Service\Payment; $client = new Client('TestApiKey', 'TestSignatureKey', Environment::SANDBOX); try { $payment = new Payment($client); $paymentMethods = $payment->getPaymentMethods('PLN', 100); $availablePaymentMethods = $paymentMethods->getAll(); } catch (PaynowException $exception) { // catch errors }
文档
支持
如果您有任何问题或问题,请通过 support@paynow.pl 联系我们的支持。
许可证
MIT 许可证。更多信息请参阅LICENSE 文件