예제 #1
0
//opciones para el método getStatus
$optionsGS = array('MERCHANT' => '35', 'OPERATIONID' => '02');
$date1 = date("Y-m-d", time() - 60 * 60 * 24 * 30);
$date2 = date("Y-m-d", time());
$optionsRDT = array('MERCHANT' => 2658, "STARTDATE" => $date1, "ENDDATE" => $date2);
$devol = array("Security" => "108fc2b7c8a640f2bdd3ed505817ffde", "Merchant" => "2669", "RequestKey" => "0d801e1c-e6b1-672c-b717-5ddbe5ab97d6", "AMOUNT" => 1.0);
$anul = array("Security" => "108fc2b7c8a640f2bdd3ed505817ffde", "Merchant" => "2669", "RequestKey" => "0d801e1c-e6b1-672c-b717-5ddbe5ab97d6");
//creo instancia de la clase TodoPago
$connector = new Sdk($http_header, "test");
//ejecuto los métodos
$rta = $connector->sendAuthorizeRequest($optionsSAR_comercio, $optionsSAR_operacion);
$rta2 = $connector->getAuthorizeAnswer($optionsGAA);
$rta3 = $connector->getStatus($optionsGS);
$rta4 = $connector->getAllPaymentMethods($optionsGAMP);
$rta5 = $connector->getByRangeDateTime($optionsRDT);
$rta6 = $connector->returnRequest($devol);
$rta7 = $connector->voidRequest($anul);
//Print values
echo "<h3>var_dump de la respuesta de Send Authorize Request</h3>";
var_dump($rta);
echo "<h3>var_dump de la respuesta de Get Authorize Answer</h3>";
var_dump($rta2);
echo "<h3>var_dump de la respuesta de Get Status</h3>";
var_dump($rta3);
echo "<h3>var_dump de la respuesta de GetAllPaymentMethods</h3>";
var_dump($rta4);
echo "<h3>var_dump de la respuesta de GetByRangeDateTime</h3>";
var_dump($rta5);
echo "<h3>var_dump de la respuesta de returnRequest</h3>";
var_dump($rta6);
echo "<h3>var_dump de la respuesta de voidRequest</h3>";
         $sql = "SELECT * FROM " . TABLE_ORDERS . " where orders_id = '" . (int) $order_id . "'";
         $response = $db->Execute($sql);
         $todoPagoVoid = $response->fields;
         //add history
         $sql_data_array = array('orders_id' => (int) $order_id, 'orders_status_id' => (int) $new_order_status, 'date_added' => 'now()', 'comments' => 'Devolucion total, monto devuelto: $' . (string) $todoPagoVoid['order_total'], 'customer_notified' => 0);
         zen_db_perform(TABLE_ORDERS_STATUS_HISTORY, $sql_data_array);
         //update order
         $db->Execute("update " . TABLE_ORDERS . "\n                      set orders_status = '" . (int) $new_order_status . "'\n                      where orders_id = '" . (int) $order_id . "'");
         $response = "La anulacion se realizo satisfactoriamente";
     } else {
         $response = "Ocurrio un error en la anulacion, vuelva a intentarlo en unos minutos. Codigo de error: " . $voidResponse['StatusCode'] . ' - ' . $refResponse['StatusMessage'];
     }
 } elseif ($refund_type == "parcial") {
     //devolucion parcial
     $options = array("Security" => $config['test_security'], "Merchant" => $config['test_merchant'], "RequestKey" => $requestKey, "AMOUNT" => $amount);
     $refResponse = $connector->returnRequest($options);
     if ($refResponse['StatusCode'] == 2011) {
         //Id status Total Refund
         $sql = "SELECT orders_status_id FROM " . TABLE_ORDERS_STATUS . " where orders_status_name = 'Partial Refund'";
         $response = $db->Execute($sql);
         $new_order_status = $response->fields['orders_status_id'];
         if ($new_order_status == 0) {
             $new_order_status = 1;
         }
         // Success, so save the results
         $sql_data_array = array('orders_id' => $order_id, 'orders_status_id' => (int) $new_order_status, 'date_added' => 'now()', 'comments' => 'Devolucion parcial, monto devuelto: $' . (string) $amount, 'customer_notified' => 0);
         zen_db_perform(TABLE_ORDERS_STATUS_HISTORY, $sql_data_array);
         $db->Execute("update " . TABLE_ORDERS . "\n\t\t                  set orders_status = '" . (int) $new_order_status . "'\n\t\t                  where orders_id = '" . (int) $order_id . "'");
         $response = "La devolucion se realizo satisfactoriamente";
     } else {
         $response = "Ocurrio un error en la devolucion, vuelva a intentarlo en unos minutos. Codigo de error: " . $refResponse['StatusCode'] . ' - ' . $refResponse['StatusMessage'];