30
Окт
2017

Payum: установить свой url для capture

Я пытаюсь использовать Payum для приёма платежей на сайте.

Проблема в том, что непонятно, как поменять capture url. По умолчанию он строится как '.../capture.php', а мне нужно указать там свой url, так как у приложения свои правила роутинга (используется yii2).

Но я совсем не понимаю архитектуру этого пакета. Я посмотрел исходный код, посмотрел существующие расширения для различных фреймворков, увидел, что есть TokenFactory, где можно задавать url, но все равно не понял, как именно это делать. Я бы бросил, но количество звездочек на github проекта намекает мне, что я просто чего-то не знаю.

Подскажите, пожалуйста, как в payum задать свои url для capture/done и т. п.?

Подробности:

Инициализация payum:

$ymGateway = new \yandexmoney\YandexMoney\Gateway();

$payum = (new PayumBuilder())
    ->addDefaultStorages()
    ->addGateway('yandexKassa', [
        'factory' => 'omnipay',
        'payum.api' => $ymGateway,
    ])
    ->getPayum()
;

Prepare:

$paymentClass = \Payum\Core\Model\Payment::class;

/** @var \Payum\Core\Payum $payum */
$storage = $payum->getStorage($paymentClass);

$payment = $storage->create();
$payment->setNumber(uniqid());
$payment->setCurrencyCode('EUR');
$payment->setTotalAmount(123); // 1.23 EUR
$payment->setDescription('A description');
$payment->setClientId(234);
$payment->setClientEmail('[email protected]');

$storage->update($payment);

$captureToken = $payum->getTokenFactory()->createCaptureToken('yandexKassa', $payment, 'done.php');

die($captureToken->getTargetUrl());

Это действие отрабатывает на странице '/pay/prepare'. На выходе получается ссылка '/pay/prepare/capture.php'. Мне нужно, чтобы ссылка была '/pay/capture'.

В каком месте здесь нужно вставить инициализацию TokenFactory и как она должна выглядеть, или, если это неправильный способ, что нужно сделать, чтобы можно было задавать свои url?

Источник: https://ru.stackoverflow.com/questions/738054/payum-%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%B8%D1%82%D1%8C-%D1%81%D0%B2%D0%BE%D0%B9-url-%D0%B4%D0%BB%D1%8F-capture

Тебе может это понравится...

Добавить комментарий