/**
  * {@inheritDoc}
  */
 public function execute($request)
 {
     /* @var $request Capture */
     RequestNotSupportedException::assertSupports($this, $request);
     $details = ArrayObject::ensureArrayObject($request->getModel());
     $details['service_id'] = $this->api->getServiceId();
     $details['payment_method_id'] = $this->api->getPaymentMethodId();
     $details['hash'] = $this->api->sing($details->toUnsafeArray());
     $details->validatedKeysSet(array('service_id', 'payment_method_id', 'order_id', 'customer_id', 'hash'));
     throw new HttpPostRedirect($this->api->getPaymentPageUrl(), $details->toUnsafeArray());
 }