SergioMadness / payment-laravel

Base library to use drivers for "PayOnline", "Tinkoff", "Yandex.Kassa", processing.kz and upc.ua payment systems
MIT License
15 stars 6 forks source link

Более подробно про responseHandler #1

Closed pwnz22 closed 7 years ago

pwnz22 commented 7 years ago

Привет.

Установил пакет, использую для Тинькофф. И незнаю что делать при успешной оплате. Подскажи пожалуйста про 2 пункт а именно метод responseHandler, что значит "you need to handle async response"?

SergioMadness commented 7 years ago

Привет. В случае успешного или не успешного платежа, платежные системы дёргают URL, который указывается в настройках этих самых систем. В случае Laravel надо описать контроллер и метод обработки этого урла. Например. route.php

Route::any('/payment/succeed', 'PaymentController@paymentResponse');
Route::any('/payment/failed', 'PaymentController@paymentResponse');

PaymentController.php

<?php namespace App\Http\Controllers;

use Illuminate\Routing\Controller;
use professionalweb\payment\contracts\PaymentFacade;

/**
 * Payment handler
 * @package App\Http\Controllers
 */
class PaymentController extends Controller
{
    /**
     * Handle payment notification
     *
     * @return Response
     */
    public function paymentResponse(PaymentFacade $paymentService)
    {
        if ($paymentService->setResponse($this->getRequest()->all())->isSuccess()) {
            // обработка успешного платежа
        } else {
            // обработка не успешного платежа
        }
    }
}

И не забудь подключить PaymentProvider. config/app.php

return [
    'providers' => [
         \professionalweb\payment\PaymentProvider::class,
    ]
];
pwnz22 commented 7 years ago

Понял, спасибо большое за быстрый ответ :)