增强奴隶 / nalogka-deals-sdk
SDK实现与Наложка.рф安全交易API的交互
v0.6.1
2020-07-03 09:09 UTC
Requires
- php: >=5.6
- psr/log: ^1.1
README
异常
在执行请求和接收响应时可能会出现异常
-
Fostenslave\NalogkaDealsSDK\Exception\ApiErrorException- 当API返回错误时抛出的异常。异常包含来自命名空间Fostenslave\NalogkaDealsSDK\Errors\的错误对象。 -
Fostenslave\NalogkaDealsSDK\Exception\NalogkaSdkException- 当SDK出现错误时抛出的异常。 -
Fostenslave\NalogkaDealsSDK\Exception\ServerErrorException- 当请求服务器失败时抛出的异常。
SDK使用示例
初始化api客户端和序列化器组件
为了成功创建api客户端实例,需要将生产或沙箱api服务器的基本url、包含身份验证令牌的标题以及序列化器组件传递给构造函数。
use Fostenslave\NalogkaDealsSDK\ApiClient; use Fostenslave\NalogkaDealsSDK\Serialization\SerializationComponent; $serializationComponent = new SerializationComponent(); $apiClient = new ApiClient("https://sandbox.deals.api.nalogka.ru/", [ 'headers' => [ 'X-Nalogka-Auth-Token' => '9qASPlstioSjksdqpLkSF2js8Iks1CIv' ], ], $serializationComponent);
请求交易列表
use Fostenslave\NalogkaDealsSDK\Request\DealsListRequest; use Fostenslave\NalogkaDealsSDK\Exception\ApiErrorException; use Fostenslave\NalogkaDealsSDK\Exception\NalogkaSdkException; use Fostenslave\NalogkaDealsSDK\Exception\ServerErrorException; $dealsListRequest = (new DealsListRequest($apiClient)) ->page(1) ->items(3); try { $deals = $dealsListRequest->request(); } catch (ApiErrorException $e) { // Ошибка от API } catch (ServerErrorException $e) { // Неизвестный ответ от сервера } catch (NalogkaSdkException $e) { // Ошибка в SDK, например проблема с десериализация }
请求交易详细信息
use Fostenslave\NalogkaDealsSDK\Request\DealGetRequest; $dealGetRequest = (new DealGetRequest($apiClient)) ->id(60); $deal = $dealGetRequest->request();
创建交易
use Fostenslave\NalogkaDealsSDK\Request\DealCreateRequest; $dealCreateRequest = (new DealCreateRequest($apiClient)) ->orderId('4127') ->conditions('Хрупкий, крупногабаритный груз') ->commissionPayer('seller') ->buyerHaveToPayOffline(0) ->subjectItem('Смартфон Apple iPhone 5s 16Gb Серебристый', 23500, 1, "test", "test") ->additionalService('Доставка СДЭК', 'Тариф Посылка Склад-Склад', 450, 400, 'seller', 'seller') ->partialBuyoutNotAllowed(); $deal = $dealCreateRequest->request();
设置交易执行跟踪
use Fostenslave\NalogkaDealsSDK\Request\DealPerformingTrackSetRequest; $dealPerformingTrackSetRequest = (new DealPerformingTrackSetRequest($apiClient)) ->id(60) ->trackerShortName('cdek') ->code('8172990122'); $track = $dealPerformingTrackSetRequest->request();
删除交易执行跟踪
use Fostenslave\NalogkaDealsSDK\Request\DealPerformingTrackDeleteRequest; (new DealPerformingTrackDeleteRequest($apiClient)) ->id(373) ->request();