Skip to content

assist-group/assist-ru-php-core

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Assist.ru

PHP библиотека для работы с платежным интегратором Assist.ru

Содержание

Установка

$ composer require assist/assist_ru_php_core

Использование

Создание запроса

Подготовьте конфигурацию клиента

$config = new \Assist\Config\Config([
    //ID предприятия
    'shop_id' => 999999,
    //Логин аккаунта предприятия
    'login' => 'login',
    //Пароль аккаунта предприятия
    'password' => 'password',
]);

Создайте экземпляр класса клиента и передайте конфигурацию

$client = new \Assist\Client($config);

Создайте экземпляр класс запроса и передайте параметры запроса

$createPayment = new \Assist\Request\CreatePayment\CreatePaymentRequest([
    'OrderNumber' => 'number',
    'OrderAmount' => 'amount',
    'ChequeItems' => '',
]);

Вызовете метод запроса и передайте в него инстанс запроса

$response = $client->createPayment($createPayment);

Получение данных ответа

Все классы ответов имеют метод getResponseData(), который возвращает массив с данными ответа

$responseData = $response->getResponseData();

Структура массива соответствует структуре JSON ответа API Ассист

https://docs.assist.ru/swagger/?urls.primaryName=payments.demo.paysecure.ru#

Так-же для каждого параметра доступны соответствующие геттеры

$response = $client->createPayment($createPaymentRequest);

$paymentUrl = $response->getUrl();
$orderState = $response->getOrderState();
$expirationTime = $response->getExpirationTime();

Подпись и Проверочное значение

Для формирования Подписи (Signature) и Проверочного значения (Checkvalue) предоставляется хелпер Assist\Helpers\SignHelper.

Подпись (Signature)

Для формирования подписи (Signature) в Assist\Helpers\SignHelper предусмотрен метод getSignature(array $params, PrivateKey $privateKey);

Метод принимает два параметра: массив $params включающий параметры для формирования подписи и инстанс ParagonIE\EasyRSA\PrivateKey $privateKey.

Обязательные параметры:

  • Merchant_ID
  • OrderNumber
  • OrderAmount
  • OrderCurrency

Необязательные параметры:

  • OrderMaxPoints
  • CustomerNumber
  • Disable3DS
  • Prepayment

Параметры в массиве $params передаются в формате ключ => значение.

Проверочное значение (Checkvalue)

Для формирования проверочного значения (Checkvalue) в Assist\Helpers\SignHelper предусмотрен метод getCheckValue(array $params, string $salt);

Метод принимает два параметра: массив $params включающий параметры для формирования подписи и секретное слово $salt.

Обязательные параметры:

  • Merchant_ID
  • OrderNumber
  • OrderAmount
  • OrderCurrency

Необязательные параметры:

  • OrderMaxPoints
  • CustomerNumber
  • Disable3DS
  • Prepayment

Параметры в массиве $params передаются в формате ключ => значение.

Конфигурация

Базовая конфигурация SDK клиента

Список доступных параметров для класса Config

Имя параметра Описание Значение по умолчанию
api_url основной URL API Ассист https://payments.paysecure.ru
test_api_url Тестовый URL API Ассист https://payments.demo.paysecure.ru
test_mode Индикатор тестового режима false
lang Язык авторизационных страниц RU
merchant_id ID предприятия -
login Логин предприятия -
password Пароль предприятия -

Конфигурация запросов

Пример конфигурации

$config = [
    'Merchant_ID' => 'string',
    'OrderNumber' => 'string',
    'OrderAmount' => 0,
    'ChequeItems' => [
        [
          "id" => "string",
          "product" => "string",
          "name" => "string",
          "price" => 0,
          "amount" => 0,
          "quantity" => 0,
          "tax" => "string",
          "еancode" => "string",
          "uncode" => "string",
          "gs1code" => "string",
          "furcode" => "string",
          "egaiscode" => "string",
          "hscode" => "string",
          "subjtype" => 0
        ]
    ]
];

$createPaymentRequest = new \Assist\Request\CreatePayment\CreatePaymentRequest($config);

Обычный платёж (Assist\Request\CreatePayment\CreatePaymentRequest)

Конфигурация соответствует параметрам запроса /pay/payrequest.cfm

Документация "/pay/payrequest.cfm"

Подтверждение платежа (Assist\Request\CreatePayment\ChargeRequest)

Конфигурация соответствует параметрам запроса /charge/charge.cfm

Документация "/charge/charge.cfm"

Рекуррентный платёж (Assist\Request\RecurrentPayment\RecurrentPaymentRequest)

Конфигурация соответствует параметрам запроса /recurrent/rp.cfm

Документация "/recurrent/rp.cfm"

Отмена платежа (Assist\Request\CreatePayment\CancelRequest)

Конфигурация соответствует параметрам запроса /cancel/wscancel.cfm

Документация "/cancel/wscancel.cfm"

Получение результата (Assist\Request\OrderResult\OrderResultRequest)

Конфигурация соответствует параметрам запроса /orderresult/orderresult.cfm

Документация "/orderresult/orderresult.cfm"

Получение статуса заказа (Assist\Request\OrderState\OrderStateRequest)

Конфигурация соответствует параметрам запроса /orderstate/orderstate.cfm

Документация "/orderstate/orderstate.cfm"

Обработка http ответов содержащих ошибки

Коды HTTP ответов отличные от кода 200 обрабатываются handlerError(), который выбрасывает соответствующее коду ответа исключение.

Исключение унаследованные от класса Assist\Exceptions\HttpException имеют методы getResponseHeaders() и getResponseBody().

Тестирование

Для тестирования SDK в проекте применяется библиотека pest

Запуск тестирования

$ ./vendor/bin/pest

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages