PHP code example of justcommunication-ru / tinkoff-acquiring-api-client

1. Go to this page and download the library: Download justcommunication-ru/tinkoff-acquiring-api-client library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

justcommunication-ru / tinkoff-acquiring-api-client example snippets


use JustCommunication\TinkoffAcquiringAPIClient\TinkoffAcquiringAPIClient;

$client = new TinkoffAcquiringAPIClient('<terminal-key>', '<secret>');

use JustCommunication\TinkoffAcquiringAPIClient\API\InitRequest;
use JustCommunication\TinkoffAcquiringAPIClient\Exception\TinkoffAPIException;

// Запрос на создание платежа на 100 рублей и внутренним номером `order-1234`
$initRequest = new InitRequest(10000, 'order-1234');

// необязательные параметры
$initRequest
    ->setLanguage($initRequest::LANGUAGE_EN)
    ->setIP('192.168.1.1')
    ->setDescription('Описание транзакции')
    ->setRecurrent('2')
    ->setCustomerKey('3')
    ->setNotificationURL('https://domain.tld/_api/notifications/124')
    ->setSuccessURL('https://domain.tld/_api/success/124')
    ->setFailURL('https://domain.tld/_api/fail/124')
    ->setPayType($request::PAY_TYPE_ONE_STAGE)
    ->setData([
        'Foo' => 'bar'
    ])
;

$initRequest->addData('Bar', 'baz');

try {
    $response = $client->sendInitRequest($initRequest);
    //$response->getPaymentId() // идентификатор платежа

    header('Location: ' . $response->getPaymentURL()); // перенаправляем пользователя на страницу оплаты
    exit;
} catch (TinkoffAPIException $e) {
    // обработка ошибки
}

use JustCommunication\TinkoffAcquiringAPIClient\API\GetStateRequest;
use JustCommunication\TinkoffAcquiringAPIClient\Exception\TinkoffAPIException;
use JustCommunication\TinkoffAcquiringAPIClient\Model\Payment;

$payment_id = '1234'; //Идентификатор платежа в системе банка
$request = new GetStateRequest($payment_id);

try {
    $response = $client->sendGetStateRequest($request);
    switch ($response->getStatus()) {
        case Payment::STATUS_CONFIRMED:
            
            break;

        case Payment::STATUS_CANCELED:
            // платеж был отменен
            break;
    }   
} catch (TinkoffAPIException $e) {
    // обработка ошибки
}

use JustCommunication\TinkoffAcquiringAPIClient\API\ConfirmRequest;
use JustCommunication\TinkoffAcquiringAPIClient\Exception\TinkoffAPIException;

$payment_id = '1234'; //Идентификатор платежа в системе банка
$request = new ConfirmRequest($payment_id);

try {
    $response = $client->sendConfirmRequest($request);
} catch (TinkoffAPIException $e) {
    // обработка ошибки
}

use JustCommunication\TinkoffAcquiringAPIClient\API\CancelRequest;
use JustCommunication\TinkoffAcquiringAPIClient\Exception\TinkoffAPIException;

$payment_id = '1234'; //Идентификатор платежа в системе банка
$request = new CancelRequest($payment_id);

try {
    $response = $client->sendCancelRequest($request);
} catch (TinkoffAPIException $e) {
    // обработка ошибки
}

use JustCommunication\TinkoffAcquiringAPIClient\TinkoffAcquiringAPIClient;

$client = new TinkoffAcquiringAPIClient('token', 'secret', [
    'proxy' => 'tcp://localhost:8125',
    'timeout' => 6,
    'connect_timeout' => 4
]);

// Http клиент с логгированием всех запросов

$stack = HandlerStack::create();
$stack->push(Middleware::log($logger, new MessageFormatter(MessageFormatter::DEBUG)));

$httpClient = new \GuzzleHttp\Client([
    'handler' => $stack,
    'timeout' => 6
]);

use JustCommunication\TinkoffAcquiringAPIClient\TinkoffAcquiringAPIClient;

$client = new TinkoffAcquiringAPIClient('token', 'secret', $httpClient);

use JustCommunication\TinkoffAcquiringAPIClient\TinkoffAcquiringAPIClient;

$client = new TinkoffAcquiringAPIClient('token', 'secret');
$client->setHttpClient($httpClient);

$client->setLogger($someLogger);