grandmasterx / safecharge
用于在yii2项目中集成SafeCharge的扩展
v1.0.1
2017-11-23 07:44 UTC
Requires
- php: >=5.6
- ext-curl: *
- ext-json: *
- yiisoft/yii2: *
- yiisoft/yii2-httpclient: ~2.0.0
Requires (Dev)
- phpunit/phpunit: ~4.5,>=4.5.1
This package is not auto-updated.
Last update: 2024-09-15 03:24:06 UTC
README
SafeCharge的REST API SDK为PHP提供访问Safecharge REST API的开发工具。SafeCharge的REST API是一个简单、易于使用、安全且无状态的API,允许在线商家和服务提供商通过SafeCharge的支付网关处理消费者支付。该API支持所有PCI认证级别的商家,从他们的在线和移动商家应用程序,且兼容大量支付选项,例如支付卡、替代支付方式等。有关SafeCharge REST API文档,请参阅:https://www.safecharge.com/docs/api/
要求
PHP 5.4或更高版本。
安装
通过Composer安装
composer require grandmasterx/safecharge
手动
如果您不想使用Composer,可以下载最新版本。然后包含init.php
文件。
require_once('/path/to/safecharge-sdk/init.php');
依赖
PHP SDK需要以下扩展才能正常工作
配置
客户端
$client = new \grandmasterx\safecharge\api\RestClient([ 'environment' => \grandmasterx\safecharge\api\Environment::TEST, 'merchantId' => '<your merchantId>', 'merchantSiteId' => '<your merchantSiteId>', 'merchantSecretKey' => '<your merchantSecretKey>', ]);
或
$client = new \grandmasterx\safecharge\api\RestClient(); $config = $client->getConfig(); $config->setEnvironment(\grandmasterx\safecharge\api\Environment::TEST); $config->setMerchantId('<your merchantId>'); $config->setMerchantSiteId('<your merchantSiteId>'); $config->setMerchantSecretKey('<your merchantSecretKey>');
记录器
记录器可以使用PSR-3兼容的记录器进行配置。
使用Monolog的示例
$logger = new Monolog\Logger('safecharge-php-sdk'); $logger->pushHandler(new Monolog\Handler\StreamHandler('path/to/log', Monolog\Logger::DEBUG)); $client->setLogger($logger);
示例
Safecharge的PHP SDK在请求中附加了merchantId、merchantSiteId、时间戳和校验和。
<?php $client = new \grandmasterx\safecharge\api\RestClient([ 'environment' => \grandmasterx\safecharge\api\Environment::TEST, 'merchantId' => '<your merchantId>', 'merchantSiteId' => '<your merchantSiteId>', 'merchantSecretKey' => '<your merchantSecretKey>', ]); $authenticationService = new \grandmasterx\safecharge\api\services\AuthenticationManagement($client); $authenticationResponse = $authenticationService->getSessionToken([ 'clientRequestId' => '1' ]); $openOrderParams = [ 'sessionToken' => $authenticationResponse['sessionToken'], 'currency' => 'USD', 'amount' => "10", 'amountDetails' => [ "totalShipping" => "0", "totalHandling" => "0", "totalDiscount" => "0", "totalTax" => "0" ], 'items' => [ [ "id" => "1", "name" => "name", "price" => "10", "quantity" => "1" ] ], ]; $orderService = new \grandmasterx\safecharge\api\services\OrdersManagement($client); $openOrderResponse = $orderService->openOrder($openOrderParams);