Ejemplo n.º 1
0
 /**
  * Devuelve los parametros necesarios para ControlFraude
  * @param Customer $customer
  * @param Cart $cart
  * @return array con los parametros
  */
 private function _getParamsControlFraude($customer, $cart)
 {
     $prefijo = $this->module->getPrefijo('PREFIJO_CONFIG');
     $segmento = $this->module->getSegmentoTienda(true);
     $config = array("deadline" => Configuration::get($prefijo . '_DEADLINE'));
     $dataCS = ControlFraudeFactory::get_controlfraude_extractor($segmento, $customer, $cart, $config)->getDataCS();
     return $dataCS;
 }
function get_paydata($order, $user, $form, $payment_method)
{
    $vertical = $payment_method["settings"]["general"]["segmento"];
    switch ($vertical) {
        case "Retail":
            $vertical = ControlFraudeFactory::RETAIL;
            break;
        case "Ticketing":
            $vertical = ControlFraudeFactory::TICKETING;
            break;
        case "Services":
            $vertical = ControlFraudeFactory::SERVICE;
            break;
        case "Digital_Goods":
            $vertical = ControlFraudeFactory::DIGITAL_GOODS;
            break;
    }
    $dataFraude = ControlFraudeFactory::get_controlfraude_extractor($vertical, $user, $order)->getDataCS();
    $form = array_merge($form, $dataFraude);
    foreach ($form as $key => $value) {
        $optionsSAR_operacion[$key] = $value["#value"];
    }
    $monto = commerce_currency_amount_to_decimal($order->commerce_order_total[LANGUAGE_NONE][0]["amount"], $order->commerce_order_total[LANGUAGE_NONE][0]["currency_code"]);
    $settings = $payment_method["settings"];
    if ($settings["general"]["modo"] == "Produccion") {
        $modo = "ambienteproduccion";
    } else {
        $modo = "ambientetest";
    }
    $optionsSAR_comercio = array('Security' => $settings[$modo]["security"], 'EncodingMethod' => 'XML', 'Merchant' => $settings[$modo]["idsite"], 'URL_OK' => url('commerce/todopago/notification/' . $order->order_id . "/" . $order->data['payment_redirect_key'], array('absolute' => TRUE)), 'URL_ERROR' => url('commerce/todopago/notification/' . $order->order_id . "/" . $order->data['payment_redirect_key'], array('absolute' => TRUE)));
    $optionsSAR_operacion["MERCHANT"] = $settings[$modo]["idsite"];
    $optionsSAR_operacion["OPERATIONID"] = $order->order_id;
    $optionsSAR_operacion["CURRENCYCODE"] = 032;
    $optionsSAR_operacion["AMOUNT"] = $monto;
    //creo el conector con el valor de Authorization, la direccion de WSDL y endpoint que corresponda
    $connector = get_connector($settings);
    return array($connector, $optionsSAR_comercio, $optionsSAR_operacion);
}