nuvei / nuvei-server-php
访问Nuvei API的PHP客户端库
3.2.0
2024-08-15 06:42 UTC
Requires
- php: >=5.4
- ext-curl: *
- ext-json: *
Requires (Dev)
- monolog/monolog: ^1.23
- phpunit/phpunit: ^7.5
README
Nuvei的REST API SDK为PHP提供了访问Nuvei REST API的开发者工具。Nuvei的REST API是一个简单、易于使用、安全且无状态的API,允许在线商家和服务提供商通过Nuvei的数字支付网关处理消费者支付。该API支持所有PCI认证级别的商家、在线和移动商家应用程序,并且与大量支付选项兼容,如支付卡和替代支付方式。有关Nuvei REST API文档,请参阅:https://docs.nuvei.com/api/main/
要求
PHP 5.4或更高版本。
安装
通过Composer安装
composer require nuvei/nuvei-server-php
手动安装
如果您不想使用Composer,您可以下载最新版本,然后包含init.php
文件。
require_once('/path/to/nuvei-sdk/init.php');
依赖项
PHP SDK需要以下扩展才能正常工作
配置
客户端
$client = new \Nuvei\Api\RestClient([ 'environment' => \Nuvei\Api\Environment::TEST, 'merchantId' => '<your merchantId>', 'merchantSiteId' => '<your merchantSiteId>', 'merchantSecretKey' => '<your merchantSecretKey>', ]);
或者
$client = new \Nuvei\Api\RestClient(); $config = $client->getConfig(); $config->setEnvironment(\Nuvei\Api\Environment::TEST); $config->setMerchantId('<your merchantId>'); $config->setMerchantSiteId('<your merchantSiteId>'); $config->setMerchantSecretKey('<your merchantSecretKey>');
日志记录器
日志记录器可以使用PSR-3兼容的日志记录器进行配置。
使用Monolog的示例
$logger = new Monolog\Logger('nuvei-php-sdk'); $logger->pushHandler(new Monolog\Handler\StreamHandler('path/to/log', Monolog\Logger::DEBUG)); $client->setLogger($logger);
示例
Nuvei的PHP SDK在请求中附加了merchantId、merchantSiteId、timestamp和checksum。
<?php use Nuvei\Api\RestClient; use Nuvei\Tests\SimpleData; use Nuvei\Tests\TestCaseHelper; require __DIR__ . '/../vendor/autoload.php'; require __DIR__ . '/../init.php'; require __DIR__ . '/../tests/TestCaseHelper.php'; require __DIR__ . '/../tests/SimpleData.php'; $config = [ 'environment' => \Nuvei\Api\Environment::TEST, 'merchantId' => '<your merchantId>', 'merchantSiteId' => '<your merchantSiteId>', 'merchantSecretKey' => '<your merchantSecretKey>', 'hashAlgorithm' => '<sha256>' ]; $nuvei = new \Nuvei\Api\Nuvei(); $nuvei->initialize($config); $paymentResponse = $nuvei->getPaymentService()->initPayment([ 'currency' => 'EUR', 'amount' => '10', 'userTokenId' => '<user token id>', 'paymentOption' => [ 'card' => [ 'cardNumber' => '<card number>', 'cardHolderName' => 'card name', 'expirationMonth' => '<expiration month>', 'expirationYear' => '<expiration year>', 'CVV' => '<cvv>', ] ], 'billingAddress' => [ "firstName" => "<first name>", "lastName" => "<last name>", "address" => "<address>", "phone" => "<phone number>", "zip" => "<zip code>", "city" => "<city>", 'country' => "<country ISO 3166-1 alpha-2>", "state" => "<state>", "email" => "<email address>", "county" => "<county>", ] ]); print_r($paymentResponse); $openOrderResponse = $nuvei->getPaymentService()->openOrder([ 'userTokenId' => '<user token id>', 'clientUniqueId' => '', 'clientRequestId' => '', 'currency' => SimpleData::getCurrency(), 'amount' => SimpleData::getAmount(), 'amountDetails' => SimpleData::getAmountDetails(), 'items' => SimpleData::getItems(), 'deviceDetails' => SimpleData::getDeviceDetails(), 'userDetails' => SimpleData::getUserDetails(), 'shippingAddress' => SimpleData::getShippingAddress(), 'billingAddress' => SimpleData::getBillingAddress(), 'dynamicDescriptor' => SimpleData::getDynamicDescriptor(), 'merchantDetails' => SimpleData::getMerchantDetails(), 'addendums' => SimpleData::getAddEndUms(), ]); print_r($openOrderResponse);