Example #1
0
 /**
  * @param Order $order
  */
 public function completePayment(Order $order)
 {
     $resultCode = $this->request->get('ResCode');
     $referenceId = $this->request->get('RefId');
     $orderId = $this->request->get('SaleOrderId');
     $referenceCode = $this->request->get('SaleReferenceId');
     $cardHolderInfo = $this->request->get('CardHolderInfo');
     $cardHolderPan = $this->request->get('CardHolderPan');
     if ($resultCode != '0') {
         throw new BankWebserviceException($resultCode);
     }
     $order->setCardHolderInfo($cardHolderInfo);
     $order->setCardHolderPan($cardHolderPan);
     $order->setReferenceId($referenceId);
     $order->setReferenceCode($referenceCode);
     $order->setOrderId($orderId);
     if ($this->verifyOrder($order)) {
         $this->gateway->settlePayment($order);
     } else {
         $this->gateway->refundPayment($order);
     }
 }