/**
  * {@inheritDoc}
  *
  * @param FillOrderDetails $request
  */
 public function execute($request)
 {
     RequestNotSupportedException::assertSupports($this, $request);
     $order = $request->getOrder();
     $details = ArrayObject::ensureArrayObject($order->getDetails());
     if ($this->api->isSandbox()) {
         $details['payment_method_id'] = Api::PAYMENT_METHOD_TEST;
     }
     $details['order_id'] = $order->getNumber();
     $details['customer_id'] = $order->getClientEmail();
     if ($order->getTotalAmount()) {
         $details['summ'] = (double) $order->getTotalAmount() / 100;
         $details['currency'] = $order->getCurrencyCode();
     }
     $details->validateNotEmpty('order_id', 'customer_id');
     $order->setDetails($details);
 }