public function validSend($data)
 {
     $this->load->model('localisation/zone');
     $order_id = $this->session->data['order_id'];
     $number_card = $this->session->data['cc_number'];
     $check_digit = $this->session->data['cc_cvv'];
     $exp_month = $this->session->data['cc_exp_month'];
     $exp_year = $this->session->data['cc_exp_year'];
     $card_holder = $this->session->data['cc_card_holder'];
     $brand = strtolower($data['payment_method']);
     $ambient = $this->config->get('braspag_card_debit_ambient');
     $classMap = array('PaymentDataRequest' => 'PaymentDataRequest', 'DebitCardDataRequest' => 'DebitCardDataRequest');
     $AuthorizeTransactionRequest = new StdClass();
     $AuthorizeTransactionRequest->RequestId = $this->generateGuid();
     $AuthorizeTransactionRequest->Version = '1.0';
     $AuthorizeTransactionRequest->OrderData = new StdClass();
     $AuthorizeTransactionRequest->OrderData->MerchantId = $this->config->get('braspag_card_debit_merchant_id');
     $AuthorizeTransactionRequest->OrderData->OrderId = $data['order_id'];
     $AuthorizeTransactionRequest->OrderData->BraspagOrderId = NULL;
     $AuthorizeTransactionRequest->CustomerData = new StdClass();
     $AuthorizeTransactionRequest->CustomerData->CustomerIdentity = $data['customer_id'];
     $AuthorizeTransactionRequest->CustomerData->CustomerName = $data['firstname'] . ' ' . $data['lastname'];
     $DebitCardDataRequest = new DebitCardDataRequest();
     if (strtolower($this->config->get('braspag_card_debit_acquirer')) == 'cielo') {
         switch ($brand) {
             case 'visa electron':
                 $DebitCardDataRequest->PaymentMethod = 123;
                 break;
             case 'mastercard maestro':
                 $DebitCardDataRequest->PaymentMethod = 552;
                 break;
         }
     }
     if ($ambient == 0) {
         $DebitCardDataRequest->PaymentMethod = 997;
     }
     $DebitCardDataRequest->Amount = $data['total'] * 100;
     $DebitCardDataRequest->Currency = 'BRL';
     $DebitCardDataRequest->Country = 'BRA';
     $DebitCardDataRequest->CardNumber = $number_card;
     $DebitCardDataRequest->CardHolder = $card_holder;
     $DebitCardDataRequest->CardExpirationDate = $exp_month . '/' . substr(date('Y'), 0, 2) . $exp_year;
     $DebitCardDataRequest->CardSecurityCode = $check_digit;
     $DebitCardDataRequest->NumberOfPayments = 1;
     $DebitCardDataRequest->ServiceTaxAmount = 0;
     $DebitCardDataRequest->TransactionType = 2;
     //2 Captura Automatica
     $DebitCardDataRequest->PaymentPlan = 0;
     $AuthorizeTransactionRequest->PaymentDataCollection = array();
     $AuthorizeTransactionRequest->PaymentDataCollection[0] = $DebitCardDataRequest;
     $soap_options = array('trace' => 1, 'exceptions' => 1, 'classmap' => $classMap);
     if ($ambient == 0) {
         $wsdl = "https://homologacao.pagador.com.br/webservices/pagador/pagadortransaction.asmx?WSDL";
     } else {
         $wsdl = "https://pagador.com.br/webservices/pagador/pagadortransaction.asmx?WSDL";
     }
     $SoapClient = new SoapClient($wsdl, $soap_options);
     $AuthorizeTransactionResult = $SoapClient->AuthorizeTransaction(array("request" => $AuthorizeTransactionRequest));
     $insert = "INSERT INTO " . DB_PREFIX . "transaction_braspag_card_debit SET order_id = '" . $this->session->data['order_id'] . "', num_card = '" . substr($number_card, 0, 6) . "******" . substr($number_card, 12, 4) . "', num_security = '" . $check_digit . "', date_card = '" . $exp_month . '/' . $exp_year . "', name_card = '" . $card_holder . "', date_added = NOW(), ";
     $return_transation = $AuthorizeTransactionResult->AuthorizeTransactionResult;
     if ($return_transation->Success == true) {
         $insert .= "braspagOrderId = '" . $return_transation->OrderData->BraspagOrderId . "', braspagTransactionId = '" . $return_transation->PaymentDataCollection->PaymentDataResponse->BraspagTransactionId . "',paymentMethod = '" . $return_transation->PaymentDataCollection->PaymentDataResponse->PaymentMethod . "',amount = '" . $return_transation->PaymentDataCollection->PaymentDataResponse->Amount . "',returnCode = '" . $return_transation->PaymentDataCollection->PaymentDataResponse->ReturnCode . "', status = '" . $return_transation->PaymentDataCollection->PaymentDataResponse->Status . "',";
         if (isset($return_transation->PaymentDataCollection->PaymentDataResponse->AuthenticationUrl)) {
             $insert .= "url = '" . $return_transation->PaymentDataCollection->PaymentDataResponse->AuthenticationUrl . "',";
         }
         if (isset($return_transation->PaymentDataCollection->PaymentDataResponse->AcquirerTransactionId)) {
             $insert .= "acquirerTransactionId = '" . $return_transation->PaymentDataCollection->PaymentDataResponse->AcquirerTransactionId . "',";
         }
     } else {
         $insert .= "errorCode = '" . $return_transation->ErrorReportDataCollection->ErrorReportDataResponse->ErrorCode . "', errorMessage = '" . $return_transation->ErrorReportDataCollection->ErrorReportDataResponse->ErrorMessage . "',";
     }
     $insert .= " flag = '" . $brand . "', number_parcel = '1'";
     $this->db->query($insert);
     return true;
 }