Exemple #1
0
 /**
  * Requests a payment and gets transaction refernece ID
  *
  * @param Order $order
  *
  * @return Order
  */
 function requestPayment(Order $order)
 {
     $parameters = array('terminalId' => $this->terminalId, 'userName' => $this->username, 'userPassword' => $this->password, 'orderId' => $order->getOrderId(), 'amount' => $order->getAmount(), 'callBackUrl' => $order->getReturnUrl(), 'localDate' => date('Ymd'), 'localTime' => date("His"), 'additionalData' => $order->getAdditionalData(), 'payerId' => 0);
     $result = (array) $this->call('bpPayRequest', $parameters);
     $referenceId = null;
     @(list($responseCode, $referenceId) = explode(',', is_array($result) ? $result['return'] : $result));
     if ($responseCode != "0") {
         throw new BankWebserviceException($responseCode);
     }
     // Update order with new Reference ID then set a redirect URL
     $order->setReferenceId($referenceId);
     $order->setRedirectUrl(BankMellat::PAYMENT_URL);
     return $order;
 }