src/Payum/Core/Action/PayoutPayoutAction.php
public function execute($request)
    {
        RequestNotSupportedException::assertSupports($this, $request);

        /** @var $payout PayoutInterface */
        $payout = $request->getModel();

        $this->gateway->execute($status = new GetHumanStatus($payout));
        if ($status->isNew()) {
            $this->gateway->execute($convert = new Convert($payout, 'array', $request->getToken()));

            $payout->setDetails($convert->getResult());
        }

        $details = ArrayObject::ensureArrayObject($payout->getDetails());

        $request->setModel($details);
        try {
            $this->gateway->execute($request);
        } finally {
            $payout->setDetails($details);
        }
    }
public function execute($request)
    {
        RequestNotSupportedException::assertSupports($this, $request);

        /** @var $payout PayoutInterface */
        $payout = $request->getModel();

        $this->gateway->execute($status = new GetHumanStatus($payout));
        if ($status->isNew()) {
            $this->gateway->execute($convert = new Convert($payout, 'array', $request->getToken()));

            $payout->setDetails($convert->getResult());
        }

        $details = ArrayObject::ensureArrayObject($payout->getDetails());

        $request->setModel($details);
        try {
            $this->gateway->execute($request);
        } finally {
            $payout->setDetails($details);
        }
    }
{@inheritDoc}

@param Payout $request