Payum\Paypal\Masspay\Nvp\Action\GetPayoutStatusAction::execute PHP Method

execute() public method

public execute ( Payum\Core\Request\GetStatusInterface $request )
$request Payum\Core\Request\GetStatusInterface
    public function execute($request)
    {
        RequestNotSupportedException::assertSupports($this, $request);
        $model = ArrayObject::ensureArrayObject($request->getModel());
        if (false == $model['ACK']) {
            $request->markNew();
            return;
        }
        if (in_array($model['ACK'], [Api::ACK_SUCCESS, Api::ACK_SUCCESS_WITH_WARNING])) {
            $request->markPayedout();
            return;
        }
        if (in_array($model['ACK'], [Api::ACK_FAILURE, Api::ACK_FAILURE_WITH_WARNING])) {
            $request->markFailed();
            return;
        }
        $request->markUnknown();
    }

Usage Example

Exemplo n.º 1
0
 /**
  * @test
  */
 public function shouldMarkUnknownIfAckNotRecognized()
 {
     $action = new GetPayoutStatusAction();
     $payout = ['ACK' => 'foo'];
     $request = new GetHumanStatus($payout);
     $action->execute($request);
     $this->assertTrue($request->isUnknown());
 }
GetPayoutStatusAction