use Payum\Core\Request\Authorize;
use Valiton\Payum\Payone\Api;
$payment = [];
$payment[Api::FIELD_PAYMENT_METHOD] = Api::PAYMENT_METHOD_PAYDIREKT;
$payum
->getGateway('payone')
->execute(new Authorize($payment));
use Payum\Core\Request\Capture;
use Valiton\Payum\Payone\Api;
$payment = [];
$payment[Api::FIELD_PAYMENT_METHOD] = Api::PAYMENT_METHOD_PAYDIREKT;
$payum
->getGateway('payone')
->execute(new Capture($payment));
use Payum\Core\Model\Payment;
use Payum\Core\Request\Capture;
$payments = $payum
->getStorage(Payment::class)
->findBy(['number' => $paymentNumber]);
$payment = array_shift($payments);
$token = $payum->getTokenFactory()->createCaptureToken(
'payone',
$payment,
'done.php'
);
header('Location: ' . $this->redirect($token->getTargetUrl());
Only captured payments can be refunded.
use Payum\Core\Model\Payment;
use Payum\Core\Request\Refund;
$payments = $payum
->getStorage(Payment::class)
->findBy(['number' => $paymentNumber]);
$payment = array_shift($payments);
$payum
->getGateway('payone')
->execute(new Refund($payment));