Как подключить api TINKOFF оплата на laravel? Как подключить api TINKOFF оплата на laravel?

Как подключить api TINKOFF оплата на laravel? С чего начать, я вообще не понимаю как делать, как проверять прошел ли тестовый платеж. Доку читал ничего не понял


Ответы (1 шт):

Автор решения: L C

Для интеграции оплаты по Tinkoff в Laravel необходимо выполнить следующие шаги:

  1. Подготовьте свой проект Laravel. Убедитесь, что у вас установлена последняя версия Laravel и что в вашем проекте включена поддержка Composer.
  2. Создайте файл конфигурации. Создайте файл tinkoff.php в каталоге config вашего проекта. В этом файле вы можете указать следующие параметры:
return [
    'merchant_id' => 'YOUR_MERCHANT_ID',
    'secret_key' => 'YOUR_SECRET_KEY',
    'webhook_secret' => 'YOUR_WEBHOOK_SECRET',
];
  • merchant_id - идентификатор вашего merchant в Tinkoff.
  • secret_key - секретный ключ вашего merchant в Tinkoff.
  • webhook_secret - секретный ключ для webhook-сообщений от Tinkoff.
  1. Добавьте зависимости. Чтобы использовать библиотеку Tinkoff для Laravel, необходимо добавить ее в зависимости вашего проекта. Для этого выполните следующую команду:
composer require tinkoff/laravel
  1. Инициализируйте библиотеку. После того, как вы добавили зависимость, необходимо инициализировать библиотеку. Для этого выполните следующую команду:
$app->register(TinkoffServiceProvider::class);
  1. Создайте форму оплаты. Чтобы создать форму оплаты, вы можете использовать следующий код:
<form action="{{ route('pay') }}" method="POST">
    @csrf
    <input type="hidden" name="amount" value="{{ $amount }}">
    <input type="submit" value="Оплатить">
</form>

В этом примере форма отправляет запрос на маршрут pay, в котором передается параметр amount - сумма платежа.

  1. Обработайте запрос оплаты. В маршруте pay вам необходимо обработать запрос оплаты. Для этого вы можете использовать следующий код:
Route::post('pay', function (Request $request) {
    $amount = $request->input('amount');

    // Создайте объект платежа
    $payment = new TinkoffPayment($amount);

    // Отправьте запрос на оплату
    $response = $payment->pay();

    // Обработайте ответ
    if ($response->isSuccessful()) {
        // Платеж прошел успешно
    } else {
        // Произошла ошибка
    }
});

В этом примере код создает объект платежа, отправляет запрос на оплату и обрабатывает ответ.

  1. Подключите webhook. Чтобы получать уведомления о статусе платежей, необходимо подключить webhook. Для этого выполните следующие шаги:
  • Создайте URL webhook-сервера.
  • Включите webhook в настройках merchant в Tinkoff.

После того, как вы подключите webhook, Tinkoff будет отправлять вам уведомления о статусе платежей.

Вот пример webhook-сообщения:

{
    "id": "1234567890",
    "status": "succeeded",
    "amount": 1000,
    "currency": "RUB",
    "description": "Оплата заказа №1234567890",
    "created_at": "2023-11-08T12:00:00+03:00",
    "updated_at": "2023-11-08T12:00:00+03:00"
}

В этом примере сообщение содержит следующие данные:

  • id - идентификатор платежа.
  • status - статус платежа.
  • amount - сумма платежа.
  • currency - валюта платежа.
  • description - описание платежа.
  • created_at - дата и время создания платежа.
  • updated_at - дата и время обновления платежа.

Более подробную информацию об интеграции оплаты по Tinkoff в Laravel вы можете найти в документации библиотеки Tinkoff для Laravel.

→ Ссылка