/**
  * Execute curl call to api
  *
  * @param String $url
  * @param String $request
  * @param Array $params
  * @return Array
  */
 static function callCurl($url, $request, $params = null)
 {
     $ch = curl_init();
     curl_setopt($ch, CURLOPT_URL, $url);
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
     curl_setopt($ch, CURLOPT_HEADER, 0);
     curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $request);
     if (!isset($params)) {
         $params = 'no data';
     }
     $configEntity = WrapperConfig::configEntity();
     if ($request == 'POST') {
         $dataString = json_encode($params);
         curl_setopt($ch, CURLOPT_POSTFIELDS, $dataString);
         curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json', 'Content-Length:' . strlen($dataString), 'F-PLUGIN: 60db2b9bf9790c1f4826429aee141291a6090c37', 'F-API-KEY:' . $configEntity['apiKey'], 'F-SECRET-KEY:' . $configEntity['apiSecret']));
     } else {
         curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json', 'F-PLUGIN: 60db2b9bf9790c1f4826429aee141291a6090c37', 'F-API-KEY:' . $configEntity['apiKey'], 'F-SECRET-KEY:' . $configEntity['apiSecret']));
     }
     //Curl Logs
     $fp = fopen(dirname(__FILE__) . '/logs/errorlog.txt', 'a') or die('can not open log file');
     curl_setopt($ch, CURLOPT_VERBOSE, 1);
     curl_setopt($ch, CURLOPT_STDERR, $fp);
     try {
         $data = curl_exec($ch);
         curl_close($ch);
     } catch (Exception $e) {
         print 'Exception occured: ' . $e->getMessage();
     }
     //Api Logs
     $apiLogFile = dirname(__FILE__) . '/logs/apilog.txt';
     $fh = fopen($apiLogFile, 'a') or die('can not open log file');
     $logRow = '[' . date('d-m-Y h:s:i') . '] api_url: ' . $url . ' | api_request: ' . $request . ' | api_params: ' . json_encode($params) . ' | config_vars: ' . json_encode($configEntity) . ' | api_response: ' . $data . "\n";
     fwrite($fh, $logRow);
     fclose($fh);
     //return array
     return json_decode($data);
 }
 /**
  * Set IVA
  *
  * @param String $iva
  */
 static function setIVA($iva)
 {
     self::$iva = $iva;
 }
 /**
  * Update client information and create Invoice
  *
  * @param Int $orderNum
  * @param Array $orderItems
  * @param Array $clientData
  * @param String $serieInvoices
  * @param Int $clientW
  * @param String $paymentMethod
  * @return Array
  */
 static function createInvoice($orderNum, $orderItems, $clientData, $serieInvoices, $clientW, $paymentMethod, $numerocuenta)
 {
     if ($clientData[0] == "") {
         return array('Error' => 'No se ha recibido el UID del cliente.');
     }
     $configEntity = WrapperConfig::configEntity();
     $client_uid = $clientData[0]["value"];
     $clientRFC = $clientData[4]['value'];
     $clientFactura = self::getClient($clientRFC);
     $params = array('nombre' => $clientData[5]["value"], 'apellidos' => $clientData[6]["value"], 'email' => $clientData[7]["value"], 'telefono' => $clientData[8]["value"], 'razons' => $clientData[9]["value"], 'rfc' => $clientData[4]["value"], 'calle' => $clientData[10]["value"], 'numero_exterior' => $clientData[11]["value"], 'numero_interior' => $clientData[12]["value"], 'codpos' => $clientData[13]["value"], 'colonia' => $clientData[14]["value"], 'estado' => $clientData[16]["value"], 'ciudad' => $clientData[15]["value"], 'delegacion' => $clientData[15]["value"], 'save' => true, 'client_reference' => $clientW);
     if ($clientFactura->status == 'error') {
         $clientUrl = $configEntity['apiUrl'] . 'clients/create';
     } else {
         $clientUrl = $configEntity['apiUrl'] . 'clients/' . $client_uid . '/update';
     }
     $request = 'POST';
     $processClient = WrapperApi::callCurl($clientUrl, $request, $params);
     if ($processClient->status != 'success') {
         return array('Error' => 'Ha ocurrido un error. Por favor revise sus datos e inténtelo de nuevo.');
     }
     $itemsCollection = json_decode($orderItems);
     $invoiceConcepts = array();
     //Adding concepts to invoice
     foreach ($itemsCollection as $value) {
         $productPrice = 0;
         if ($configEntity["iva"] == 'on') {
             $productPrice = $value->amount / 1.16;
         } else {
             $productPrice = $value->amount;
         }
         $product = array('cantidad' => 1, 'unidad' => 'Servicio', 'concept' => $value->description, 'precio' => $productPrice, 'subtotal' => $productPrice * 1);
         array_push($invoiceConcepts, $product);
     }
     if ($numerocuenta == '') {
         $num_cta = 'No Identificado';
     } else {
         $num_cta = $numerocuenta;
     }
     $invoiceData = array('rfc' => $clientRFC, 'items' => $invoiceConcepts, 'numerocuenta' => $num_cta, 'formapago' => 'Pago en una Sola Exhibición', 'metodopago' => $paymentMethod, 'currencie' => 'MXN', 'iva' => 1, 'num_order' => $orderNum, 'seriefactura' => $serieInvoices, 'send_email' => true, 'save' => 'true');
     $invoiceUrl = $configEntity['apiUrl'] . 'invoice/create';
     $request = 'POST';
     $createInvoice = WrapperApi::callCurl($invoiceUrl, $request, $invoiceData);
     if ($createInvoice->status != 'success') {
         return array('Error' => $createInvoice->message);
     }
     return $createInvoice;
 }
 /**
  * Class constructor - initialize static configurations
  *
  * @param Array $vars
  */
 function WrapperApp()
 {
     WrapperConfig::load();
 }
Beispiel #5
0
<?php

$invoices = WrapperHelper::getInvoices();
$index = 0;
$configEntity = WrapperConfig::configEntity();
$systemURL = $configEntity['systemURL'];
?>
<style media="screen">
    .label-danger {
        background-color: #d9534f;
    }
    .label-success {
        background-color: #5cb85c;
    }
    table.dataTable thead th {
        background-image: url("../images/sort_asc.png");
        background-color: #2A5E90;
        color: #FFFFFF;
    }
    .dataTables_wrapper .dataTables_paginate .paginate_button.current,
    .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover,
    .dataTables_wrapper .dataTables_paginate .paginate_button:hover{
        background: #2A5E90;
        color: #FFFFFF !important;
        border-color: #46b8da;
    }
</style>
<input type="hidden" id="systemURL" value="<?php 
echo $systemURL;
?>
" />