Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ejemplos #2

Open
erickthered opened this issue Jun 24, 2017 · 11 comments
Open

Ejemplos #2

erickthered opened this issue Jun 24, 2017 · 11 comments

Comments

@erickthered
Copy link

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
Copy link
Contributor

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

@rubenGit
Copy link

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
Copy link

talcual commented Mar 14, 2018

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
Copy link

carlosalbertocm commented Nov 16, 2018

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 = '
<script src="https://checkout.epayco.co/checkout.js" class="epayco-button" data-epayco-key="' . $this->config->item('apiKey') . '" data-epayco-amount="105900" data-epayco-name="Factura 100000" data-epayco-description="Pago compra de blusas" data-epayco-currency="cop" data-epayco-country="co" data-epayco-test="true" data-epayco-external="false" data-epayco-email-billing="[email protected]" data-epayco-name-billing="Pablo Elias Duque Blanco" data-epayco-response="' . base_url('response-transaction'). '" data-epayco-confirmation="' . base_url('confirmed-transaction'). '"> </script> ';
}`

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 '<pre>';
    print_r($_SESSION);
    echo '</pre>';
    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
Copy link
Contributor

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
Copy link

darasat commented Jun 28, 2019

hola que tal!

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

saludos.

@devepayco
Copy link
Contributor

devepayco commented Jun 28, 2019 via email

@jocaagura
Copy link

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
Copy link

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
Copy link

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
Copy link

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

10 participants