mamau/tinkoff

This package is abandoned and no longer maintained. The author suggests using the mamau/tinkoff package instead.

Tinkoff payment

1.1.0 2017-08-27 17:07 UTC

This package is auto-updated.

Last update: 2021-03-16 22:44:29 UTC


README

Tinkoff Payment
Устанавливаем:

composer require mamau/tinkoff

Добавляем провайдера и фасад в app.php

...
\Mamau\Tinkoff\TinkoffServiceProvider::class,

  
...
'Tinkoff' => \Mamau\Tinkoff\Facades\Tinkoff::class,

Публикуем файлы

php artisan vendor:publish --provider="Mamau\Tinkoff\TinkoffServiceProvider"

Делаем миграции

php artisan migrate

в .env файлу создать переменные TINKOFF_TERMINAL_KEY, TINKOFF_SECRET_KEY, TINKOFF_API_URL и присвоить им значения которые вам предоставил сервис Tinkoff, эти значения присваиваются в файле config/tinkoff.php

Пример использования:

$params = [
    'OrderId' => '2589451',
    'Amount' => '1000'
];
$tinkof = Tinkoff::init($params);

Инициализация заказа, будет создан заказ на оплату, вам придёт помимо других данных ссылка на оплату, по ней можно редиректить пользователя, чтобы он оплатил заказ. До оплаты заказ будет со статусом NEW. Заказ также запишется в Вашу БД в таблицу tinkoff_payment. После оплаты статус у заказа станет AUTHORIZED (Средства заблокированы, но не списаны). Надо будет сделать запрос на проверку статуса, чтобы обновить свою БД:

$params = [
    'PaymentId' => '2589451',
];
$tinkof = Tinkoff::getState($params);

Затем надо подтвердить заказ чтобы деньги списали с карты:

$params = [
    'PaymentId' => '2589451',
];
$tinkof = Tinkoff::confirm($params);

Отменить заказ:

$params = [
    'PaymentId' => '2589451',
];
$tinkof = Tinkoff::cancel($params);

Статус меняются:
change status from -> to

NEW -> CANCELED
AUTHORIZED -> REVERSED
CONFIRMED -> PARTIAL_REFUNDED – если отмена не на полную сумму
CONFIRMED -> REFUNDED – если отмена на полную сумму

Официальная документация по api сервиса https://oplata.tinkoff.ru/landing/develop/documentation, там вы можете посмотреть все действия и все статусы