Как подключить api TINKOFF оплата на laravel? Как подключить api TINKOFF оплата на laravel?
Как подключить api TINKOFF оплата на laravel? С чего начать, я вообще не понимаю как делать, как проверять прошел ли тестовый платеж. Доку читал ничего не понял
Ответы (1 шт):
Для интеграции оплаты по Tinkoff в Laravel необходимо выполнить следующие шаги:
- Подготовьте свой проект Laravel. Убедитесь, что у вас установлена последняя версия Laravel и что в вашем проекте включена поддержка Composer.
- Создайте файл конфигурации. Создайте файл
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.
- Добавьте зависимости. Чтобы использовать библиотеку Tinkoff для Laravel, необходимо добавить ее в зависимости вашего проекта. Для этого выполните следующую команду:
composer require tinkoff/laravel
- Инициализируйте библиотеку. После того, как вы добавили зависимость, необходимо инициализировать библиотеку. Для этого выполните следующую команду:
$app->register(TinkoffServiceProvider::class);
- Создайте форму оплаты. Чтобы создать форму оплаты, вы можете использовать следующий код:
<form action="{{ route('pay') }}" method="POST">
@csrf
<input type="hidden" name="amount" value="{{ $amount }}">
<input type="submit" value="Оплатить">
</form>
В этом примере форма отправляет запрос на маршрут pay, в котором передается параметр amount - сумма платежа.
- Обработайте запрос оплаты. В маршруте
payвам необходимо обработать запрос оплаты. Для этого вы можете использовать следующий код:
Route::post('pay', function (Request $request) {
$amount = $request->input('amount');
// Создайте объект платежа
$payment = new TinkoffPayment($amount);
// Отправьте запрос на оплату
$response = $payment->pay();
// Обработайте ответ
if ($response->isSuccessful()) {
// Платеж прошел успешно
} else {
// Произошла ошибка
}
});
В этом примере код создает объект платежа, отправляет запрос на оплату и обрабатывает ответ.
- Подключите 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.