/**
  * Builds form given success and fail urls
  *
  * @return Form
  */
 public function buildForm($responseRoute, $confirmRoute)
 {
     $extraData = $this->paymentBridge->getExtraData();
     $formBuilder = $this->formFactory->createNamedBuilder(null);
     $key = $this->key;
     $userId = $this->userId;
     $orderId = $this->paymentBridge->getOrderId() . '#' . date('Ymdhis');
     $amount = $this->paymentBridge->getAmount();
     $currency = $this->paymentBridge->getCurrency();
     $signature = "{$key}~{$userId}~{$orderId}~{$amount}~{$currency}";
     $signatureHash = md5($signature);
     $formBuilder->setAction($this->gateway)->setMethod('POST')->add('usuarioId', 'hidden', array('data' => $this->userId))->add('firma', 'hidden', array('data' => $signatureHash))->add('refVenta', 'hidden', array('data' => $orderId))->add('extra1', 'hidden', array('data' => 'pagosonlinegateway'))->add('extra2', 'hidden', array('data' => $this->paymentBridge->getOrder()->getCart()->getId()))->add('descripcion', 'hidden', array('data' => 'description'))->add('valor', 'hidden', array('data' => $this->paymentBridge->getAmount()))->add('moneda', 'hidden', array('data' => $this->paymentBridge->getCurrency()))->add('lng', 'hidden', array('data' => $extraData['language']))->add('iva', 'hidden', array('data' => $extraData['refund_vat']))->add('baseDevolucionIva', 'hidden', array('data' => $extraData['refund_vat']))->add('url_respuesta', 'hidden', array('data' => $responseRoute))->add('url_confirmacion', 'hidden', array('data' => $confirmRoute))->add('prueba', 'hidden', array('data' => $this->test))->add('emailComprador', 'hidden', array('data' => $extraData['customer_email']))->add('paisEnvio', 'hidden', array('data' => 'CO'))->add('Submit', 'hidden', array('data' => 'Pagar'));
     return $formBuilder;
 }
Exemplo n.º 2
0
 /**
  * Builds form given success and fail urls
  *
  * @param string $dineromailSuccessUrl    Success route url
  * @param string $dineromailFailUrl       Fail route url
  * @param string $dineromailTransactionId Transaction Id
  *
  * @return Form
  */
 public function buildForm($dineromailSuccessUrl, $dineromailFailUrl, $dineromailTransactionId)
 {
     $extraData = $this->paymentBridge->getExtraData();
     $formBuilder = $this->formFactory->createNamedBuilder(null);
     $formBuilder->setAction($this->endPoint)->setMethod('POST')->add('merchant', 'hidden', array('data' => $this->merchant))->add('country_id', 'hidden', array('data' => $this->country))->add('seller_name', 'hidden', array('data' => $this->sellerName))->add('payment_method_available', 'hidden', array('data' => implode(';', $this->paymentMethodsAvailable)))->add('url_redirect_enabled', 'hidden', array('data' => intval($this->urlRedirectEnabled)))->add('header_image', 'hidden', array('data' => $this->headerImage))->add('amount', 'hidden', array('data' => number_format($this->paymentBridge->getAmount(), 2)))->add('transaction_id', 'hidden', array('data' => $dineromailTransactionId))->add('currency', 'hidden', array('data' => $this->paymentBridge->getCurrency()))->add('buyer_name', 'hidden', array('data' => $extraData['customer_firstname']))->add('buyer_lastname', 'hidden', array('data' => $extraData['customer_lastname']))->add('buyer_email', 'hidden', array('data' => $extraData['customer_email']))->add('buyer_phone', 'hidden', array('data' => $extraData['customer_phone']))->add('language', 'hidden', array('data' => $extraData['language']))->add('ok_url', 'hidden', array('data' => $dineromailSuccessUrl))->add('error_url', 'hidden', array('data' => $dineromailFailUrl))->add('pending_url', 'hidden', array('data' => $dineromailSuccessUrl));
     $iteration = 1;
     /**
      * Every item defined in the PaymentBridge is added as a simple field
      */
     foreach ($extraData['dinero_mail_items'] as $key => $dineroMailItem) {
         $formBuilder->add('item_name_' . $iteration, 'hidden', array('data' => $dineroMailItem['name']))->add('item_quantity_' . $iteration, 'hidden', array('data' => $dineroMailItem['quantity']))->add('item_ammount_' . $iteration, 'hidden', array('data' => $dineroMailItem['amount']))->add('item_currency_' . $iteration, 'hidden', array('data' => $this->paymentBridge->getCurrency()));
         $iteration++;
     }
     return $formBuilder;
 }