epayco / epayco-php

PHP wrapper for Epayco API
https://api.epayco.co/
23 stars 22 forks source link

Ejemplos #2

Open erickthered opened 7 years ago

erickthered commented 7 years ago

Hola,

Sería genial que además del código de la librería incluyeran una carpeta examples, con ejemplos de los pasos para la creación del objeto $epayco, la tokenización y la interpretación de la posibles respuestas.

-- Erick

prismaymedia commented 7 years ago

Hola, dime si este contenido es de ayuda https://github.com/epayco/epayco-php/blob/master/tests/test.php

rubenGit commented 7 years ago

Buenas. Tengo 2 asuntos que resolver respecto al los test y la documentacion de la libreria, que son los ejemplos que van a servir a los programadores para usar la libreria:

Asunto 1: https://github.com/epayco/epayco-php/blob/master/tests/test.php

public function testPseCreate() { $response = $this->epayco->bank->pse(array(

Ese metodo esta llamado a $this->epayco->bank->pse (NO EXISTE) El que (SI EXISTE) es: $this->epayco->bank->pseBank.

La cuestion es que lo estoy usando con el ejemplo que hay en la documentacion: https://docs.epayco.co/methods/pse

Pero me da un error ::

object(stdClass)#281 (5) { ["success"]=> bool(false) ["title_response"]=> string(16) "Cliente Invalido" ["text_response"]=> string(29) "No se pudo validar el cliente" ["last_action"]=> string(14) "validarcliente" ["data"]=> object(stdClass)#287 (2) { ["totalerrores"]=> int(1) ["errores"]=> array(1) { [0]=> object(stdClass)#292 (2) { ["codError"]=> string(4) "C001" ["errorMessage"]=> string(16) "Cliente invalido" } } } }

En la documentacion hay un ejemplo respecto a los pagos en CASH: Pero no hay un metodo en el la carpeta de Test de la libreria, que lo pruebe.

Si nos centramos en el ejemplo de la libreria, lanza una exception: https://docs.epayco.co/methods/cash

En concreto lanza:

Stack Trace in vendor/epayco/epayco-php/src/Client.php at line 96 - $response = \Requests::delete(Client::BASE_URL . $url, $headers, $options); } } catch (\Exception $e) { LINEA 96: throw new ErrorException($lang, 101); } if ($response->status_code >= 200 && $response->status_code <= 206) { if ($method == "DELETE") {

Podrían mejorar la clase de Testing o Poner algún ejemplo mas concreto en la documentación, para que se pueda usar correctamente la libreria.

Gracias , un Saludo!

talcual commented 6 years ago

tengo un problema cuando intento instalar con composer me sale un erro que dice que no esta estable. algo asi y no me deja descargar el dev.

carlosalbertocm commented 5 years ago

Hola, estoy desarrollando un ecommerce con el framework codeigniter. Genero el botón de pago mediante el siguiente método de una clase

`public function index() { require APPPATH . 'libraries' . DIRECTORY_SEPARATOR . 'epayco' . DIRECTORY_SEPARATOR . 'vendor' . DIRECTORY_SEPARATOR . 'autoload.php';

    $epayco = new Epayco\Epayco(array(
        "apiKey" => $this->config->item('apiKey'),
        "privateKey" => $this->config->item('privateKey'),
        "lenguage" => $this->config->item('lenguage'),
        "test" => $this->config->item('test')
    ));

    echo $texto = '
'; }` en el archivo routes.php las variables que tengo son `$route['response-transaction'] = 'epayco/response_transaction'; $route['confirmed-transaction'] = 'epayco/confirmed_transaction'; ` Cuando pruebo el script, me genera el botón, realizo la transacción con éxito, me redirige a la página que pasé como parametro data-epayco-response (http://localhost/ecommerce/response-transaction) y con el id de la transacción en la url, hasta ahí todo bien, sin embargo, cuando miro el log de la transacción en la confirmación (data-epayco-confirmation), si lo hago en el ámbito local el log dice "error 404 página no encontrada", y cuando lo hago desde el servidor muestra el error 100, el script al que apunta la dirección es `public function confirmed_transaction() { $p_cust_id_cliente = '23682'; $p_key = $this->config->item('privateKey'); $x_ref_payco = $_REQUEST['x_ref_payco']; $x_transaction_id = $_REQUEST['x_transaction_id']; $x_amount = $_REQUEST['x_amount']; $x_currency_code = $_REQUEST['x_currency_code']; $x_signature = $_REQUEST['x_signature']; $signature = hash('sha256', $p_cust_id_cliente . '^' . $p_key . '^' . $x_ref_payco . '^' . $x_transaction_id . '^' . $x_amount . '^' . $x_currency_code); $this->session->set_userdata('signature', $signature); $this->session->set_userdata('x_ref_payco', $x_ref_payco); $this->session->set_userdata('x_transaction_id', $x_transaction_id); $this->session->set_userdata('x_amount', $x_amount); $this->session->set_userdata('x_currency_code', $x_currency_code); $this->session->set_userdata('x_signatur', $x_signature); $x_response = $_REQUEST['x_response']; $x_motivo = $_REQUEST['x_response_reason_text']; $x_id_invoice = $_REQUEST['x_id_invoice']; $x_autorizacion = $_REQUEST['x_approval_code']; $this->session->set_userdata('x_response', $x_response); $this->session->set_userdata('x_motivo', $x_motivo); $this->session->set_userdata('x_invoice', $x_id_invoice); $this->session->set_userdata('x_amount', $x_amount); //Validamos la firma if ($x_signature == $signature) { /*Si la firma esta bien podemos verificar los estado de la transacción*/ $x_cod_response = $_REQUEST['x_cod_response']; $this->session->set_userdata($x_cod_response); switch ((int) $x_cod_response) { case 1: # code transacción aceptada echo $msg_from_epayco = "transacción aceptada"; break; case 2: # code transacción rechazada echo $msg_from_epayco = "transacción rechazada"; break; case 3: # code transacción pendiente echo $msg_from_epayco = "transacción pendiente"; break; case 4: # code transacción fallida echo $msg_from_epayco = "transacción fallida"; break; } $this->session->ser_userdata('msg_from_epayco', $msg_from_epayco); } else { echo("Firma no valida"); } echo '
';
        print_r($_SESSION);
        echo '
'; exit; }` y cuando imprime las variables de la sesión no se genera nada. ¿cuál es el error? cuando lo hago con el ejemplo de página dinámica muestra todo, pero en este caso no. el log de confirmación cuando miro el dashboard de epayco.co es > Fecha Transacción: 2018-11-15 21:57:14 Fecha Confirmación: 2018-11-15 21:58:07 Url Confirmación: https://ecommercecad.miservidor.com/confirmed-transaction Respuesta: Error 100, desconocido Variables Enviadas: x_cust_id_cliente:23682 x_ref_payco:2122734 x_id_factura:mSPKiY8DMrCkyvvfB x_id_invoice:mSPKiY8DMrCkyvvfB
devepayco commented 5 years ago

Hola, @carlosalbertocm ese caso no es puntualmente un issue de esta librería, te recomendamos por favor generar un ticket de soporte para ayudarte a solucionar el inconveniente

darasat commented 5 years ago

hola que tal!

seria muy bueno ver un ejemplo en javascript (cliente) consumiendo los servicios del API (backend)

saludos.

devepayco commented 5 years ago

Esta api está pensada para ser consumida del lado del servidor del lado del cliente bloquearía las peticiones por cors

Enviado desde mi iPhone

El 28/06/2019, a la(s) 2:11 a. m., Diego Alejandro Ramírez notifications@github.com<mailto:notifications@github.com> escribió:

hola que tal!

seria muy bueno ver un ejemplo en javascript (cliente) consumiendo los servicios del API (backend)

saludos.

— You are receiving this because you commented. Reply to this email directly, view it on GitHubhttps://github.com/epayco/epayco-php/issues/2?email_source=notifications&email_token=AIIVE3TWG4DV5IM7GZU4F73P4W2QPA5CNFSM4DQQZFUKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODYZIYJA#issuecomment-506629156, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AIIVE3TWWXCUOFE3M3OYCADP4W2QPANCNFSM4DQQZFUA.

jocaagura commented 3 years ago

Hola, Estamos desarrollando el plugin para flutter - dart y me gustaria un ejemplo tipo postman para consumir los servicios del api porque me genera errores 500 aunque la IP de desarrrollo ya este autorizada. Agradezco su ayuda ya que este plugin permitira a miles de desarrolladores consumir sus servicios en las aplicaciones desarrolladas con Dart para android e ios.

jonatandorozco commented 3 years ago

Hola,

Estoy trabajando en un fork independiente que cumpla con los estándares básicos para poder usar la librería correctamente. Va a estar basado en la ultima release de este proyecto para mantenerla al día con los cambios. Adicionalmente está en construcción un driver para la librería OmniPay e integración con Laravel

https://github.com/jonorozcoc/epaycolib

neoacevedo commented 2 years ago

Hay otra cosa y es que la documentación en sí es escueta, porque no se muestra la respuesta de cada uno, por ejemplo, la respuesta de $token cuando la solicitud es satisfactoria o cuando no lo es, lo mismo para la variable $customer y así, para todos los otros ejemplos.

neoacevedo commented 2 years ago

Oigan en serio, qué documentación tan mala la que tienen y no son capaces ni de responder ni de por lo menos mejorar algo la documentación.