Payum\Paypal\ProHosted\Nvp\Action\SyncAction::execute PHP Метод

execute() публичный Метод

{@inheritDoc}
public execute ( $request )
    public function execute($request)
    {
        /** @var $request Sync */
        RequestNotSupportedException::assertSupports($this, $request);
        $model = ArrayObject::ensureArrayObject($request->getModel());
        if ($model['txn_id']) {
            $this->gateway->execute(new GetTransactionDetails($model));
        }
    }

Usage Example

Пример #1
0
 /**
  * @test
  */
 public function shouldRequestGetTransactionDetailsAndUpdateModelIfTransactionIdSetInModel()
 {
     $gatewayMock = $this->createGatewayMock();
     $gatewayMock->expects($this->once())->method('execute')->with($this->isInstanceOf('Payum\\Paypal\\ProHosted\\Nvp\\Request\\Api\\GetTransactionDetails'))->will($this->returnCallback(function (GetTransactionDetails $request) {
         $model = $request->getModel();
         $model['foo'] = 'fooVal';
         $model['AMT'] = 33;
     }));
     $action = new SyncAction();
     $action->setGateway($gatewayMock);
     $details = new \ArrayObject(array('AMT' => 11, 'txn_id' => 'aTxn_id'));
     $action->execute($sync = new Sync($details));
     $this->assertArrayHasKey('foo', (array) $details);
     $this->assertEquals('fooVal', $details['foo']);
     $this->assertArrayHasKey('AMT', (array) $details);
     $this->assertEquals(33, $details['AMT']);
 }