Example #1
0
 /**
  * {@inheritDoc}
  *
  * @throws HttpPostRedirect if authorization required.
  */
 public function execute($request)
 {
     /** @var $request Capture */
     if (false == $this->supports($request)) {
         throw RequestNotSupportedException::createActionNotSupported($this, $request);
     }
     $model = ArrayObject::ensureArrayObject($request->getModel());
     $httpRequest = new GetHttpRequest();
     $this->payment->execute($httpRequest);
     //we are back from be2bill site so we have to just update model.
     if (isset($httpRequest->query['EXECCODE'])) {
         $model->replace($httpRequest->query);
     } else {
         throw new HttpPostRedirect($this->api->getOnsiteUrl(), $this->api->prepareOnsitePayment($model->toUnsafeArray()));
     }
 }
Example #2
0
 /**
  * @test
  */
 public function shouldKeepSupportedOnPrepareOnsitePayment()
 {
     $api = new Api($this->createClientMock(), array('identifier' => 'anId', 'password' => 'aPass', 'sandbox' => true));
     $post = $api->prepareOnsitePayment(array('AMOUNT' => 100, 'DESCRIPTION' => 'a desc'));
     $this->assertInternalType('array', $post);
     $this->assertArrayHasKey('AMOUNT', $post);
     $this->assertEquals(100, $post['AMOUNT']);
     $this->assertArrayHasKey('DESCRIPTION', $post);
     $this->assertEquals('a desc', $post['DESCRIPTION']);
 }