Задать вопрос
i229194964
@i229194964
Веб разработчик

Не могу понять в чем ошибка?

Не мог понять ошибка в чем именно в контроллере использую laravel 10 yandex-money 1.6
<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use YandexCheckout\Client;
use YandexCheckout\Request\Payments\CreatePaymentRequest;

class PaymentController extends Controller
{
    public function createPayment()
    {
        // Тестовые идентификатор и секретный ключ клиента
        $clientId = 'test_1234567890';
        $clientSecret = 'test_abcdefghijklmnopqrstuvwxyz';
        $confirmationUrl = 'https://example.com/success'; // URL, на который пользователь вернется после оплаты

        // Создание экземпляра клиента Yandex.Checkout
        $client = new Client();
        $client->setAuth($clientId, $clientSecret);

        // Создание тестового платежа
        $payment = $client->createPayment(
            (new CreatePaymentRequest())
                ->setAmount(array(
                    'value' => 100.50,
                    'currency' => 'RUB',
                ))
                ->setConfirmation(array(
                    'type' => 'redirect',
                    'return_url' => $confirmationUrl,
                ))
                ->setCapture(true)
                ->setDescription('Оплата заказа')
        );

        if ($payment->getStatus() === 'waiting_for_capture') {
            $confirmationUrl = $payment->getConfirmation()->getConfirmationUrl();
            return redirect($confirmationUrl);
        } else {
            return 'Ошибка при создании тестового платежа: ' . $payment->getStatus() . ' - ' . $payment->getMetadata()->getMessage();
        }
    }

    public function callback(Request $request)
    {
        try {
            $inputData = $request->getContent();
            $callbackData = json_decode($inputData, true);
    
            if ($callbackData['event'] === 'payment.succeeded') {
                // Здесь обработайте успешное завершение платежа
                // Это может включать в себя обновление статуса заказа и другие действия
                // Например, запись информации о платеже в базу данных
            }
    
            // Отправьте подтверждение об успешной обработке
            return response('OK', 200);
        } catch (\Exception $e) {
            // Логируйте ошибку и отправьте HTTP-ответ с кодом ошибки
            \Log::error($e->getMessage());
            return response('Error', 500);
        }
    }
}
  • Вопрос задан
  • 175 просмотров
Подписаться 1 Простой 4 комментария
Решения вопроса 1
YooMoneyHelp
@YooMoneyHelp
Приветствую! Я из поддержки ЮKassa. Напишите на почту нашим техническим специалистам, коллеги оперативно вам помогут: b2b_support@yoomoney.ru
В запросе уточните сразу ваш shopid и также рекомендуем убедиться, что запросы отправляются именно на api.yookassa.ru
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@cportal
yandex-money скорее всего устаревший скрипт, так как теперь это yoomoney... нужно смотреть куда идут запросы, поменять yandex домен на yoomoney
Ответ написан
Комментировать
@AnteFil
Ну я так понимаю у тебя висит и не меняется статус waiting_for_capture смотри чем он создается там и будет проблема
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы