/**
  * {@inheritDoc}
  */
 public function execute($request)
 {
     /* @var $request Capture */
     RequestNotSupportedException::assertSupports($this, $request);
     /** @var \Payum\Core\Bridge\Spl\ArrayObject $details */
     $details = ArrayObject::ensureArrayObject($request->getModel());
     throw new HttpPostRedirect($this->api->getPaymentPageUrl(), $details->toUnsafeArray());
 }
 /**
  * {@inheritDoc}
  *
  * @param FillOrderDetails $request
  */
 public function execute($request)
 {
     RequestNotSupportedException::assertSupports($this, $request);
     $order = $request->getOrder();
     $details = ArrayObject::ensureArrayObject($order->getDetails());
     $mapping = $this->api->getMapping();
     $default = [];
     foreach ($mapping as $_key => $_value) {
         $details[$_key] = $this->getObjectValue($request, $_value);
         $default[$_key] = '';
     }
     $details->defaults($default);
     $order->setDetails($details);
 }