Пример #1
0
 /**
  * Reverses a payment so money will be refunded to the customer
  *
  * @param Order $order
  *
  * @return Order
  */
 function refundPayment(Order $order)
 {
     $parameters = array('terminalId' => $this->terminalId, 'userName' => $this->username, 'userPassword' => $this->password, 'orderId' => $order->getOrderId(), 'saleOrderId' => $order->getOrderId(), 'saleReferenceId' => $order->getReferenceCode());
     $result = (array) $this->call('bpReversalRequest', $parameters);
     $responseCode = is_array($result) ? $result['return'] : $result;
     if ($responseCode != "0") {
         throw new BankWebserviceException($responseCode);
     }
     // Update order with new refunded status (money goes back to customer)
     $order->setStatus(Order::STATUS_REFUNDED);
     return $order;
 }