Giter Club home page Giter Club logo

culqi-php's People

Contributors

apumayallag avatar brandocarquin avatar brayancruces avatar carlosmoraleseguia avatar dependabot-preview[bot] avatar diegosan415 avatar guilleroberts-culqi avatar heroseven avatar joelibaceta avatar josehcalderon avatar khanmaytok avatar marti1125 avatar midnai avatar nicolas-culqi avatar proveedor103 avatar soporte-culqi avatar william-muro-culqi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

culqi-php's Issues

Changelog ordenado al reves

La manera usual de ordenar un CHANGELOG es de los cambios mas recientes hacia los mas antiguos. De esta manera el usuario al abrir el archivo ve primero los ultimos cambios. En este caso el archivo CHANGELOG.md esta ordenado de los cambios mas antiguos hacia los mas recientes.

Error en version 1.3.* con Laravel 5.1 LTS

He probado con laravel del repo http://github.com/culqi/culqi-laravel, con la version 1.3.* y da el siguiente error:
imagen

Este error no ocurre con la version 1.2.5, pero esta version no usa la V2 de culqi.

Revisando los archivos Culqi.php de las 2 versiones, veo muchas diferencias.
Por favor arreglarlo pronto ya que necesito migrar de la version 1.1.

Saludos.

Imposible conectar a Culqi API

no puedo seguir probando, ya que por php me dice : Imposible conectar a Culqi API...
cuando por js saco el token de la tarjeta no me da problema...

Imposible conectar a Culqi API

Hola, estoy teniendo un problema al crear el token mediante PHP. Ya lo he notificado y aún no recibo respuesta.

El response en el API Log es el siguiente: Imposible conectar a Culqi API:

{
"object": "error",
"type": "authentication_error",
"merchant_message": "Tu código de comercio no está habilitado para realizar este tipo de peticiones. Contáctate con [email protected] para obtener mas información."
}

Checkout!

Lamento escribir en este repositorio un Issue relacionado con su librería "Checkout" solo que no encontre el repositorio de dicha librería en github.
https://checkout.culqi.com/v2
he notado que imprime en consola lo siguiente al referenciar solamente el script en su tag correspondiente:

Respuesta: [object Object] v2:208:13
Se completó el proceso de pago, respuesta enviada al comercio.

Hay muchos "console.log" comentados y otros como los antes mencionados que imprimen mensajes que no son correctos, a mi parecer este tipo de "log printing" no es propio de una librería de producción. Es confuso y y van contra su integridad de producto.

Bueno el error en sí es el siguiente estoy recibiendo esto al inicializar la instancia, estoy utilizando mi public key correctamente escrito:

<html><body><h1>Whitelabel Error Page</h1><p>This application has no explicit mapping for /error, so you are seeing this as a fallback.</p><div id='created'>Fri Jul 21 02:47:55 PET 2017</div><div>There was an unexpected error (type=Internal Server Error, status=500).</div><div>401 Unauthorized</div></body></html>

Además he podido notar que el retorno del token no permite pasar ningún tipo de callback para las acciones subsiguientes a esta y por el contrario exige la creación de una función llamada "culqi()" a donde se inyectará el resultado. Se que se han inspirado en Stripe y estos en su librería checkout, permiten pasarle una función a manera del callback en el atributo "token"

https://stripe.com/docs/checkout#integration-custom

Sumamente necesario para el desarrollo.

Necesito con urgencia implementar checkout y tengo interés personal en mejorarla la libería. Espero sus comentarios.

[NFR] Documentar su clase, hints para los IDE's

Los que usamos su librería oficial estaríamos agradecidos si ayudan al IDE para que genere automáticamente el descubrimiento de las clases y métodos internos, una forma podría ser agregar lo que el estándar PHPDoc menciona, y así tendríamos:

/**
 * Clase Culqi
 *
 * @property-read Cargos Cargos
 * @property-read Suscripciones Suscripciones
 * @property-read Devoluciones Devoluciones
 * @property-read Planes Planes
 *
 * @author Grover Manuel Campos Ancajima <[email protected]>
 * @version Dec 14, 2016
 * @copyright GT Tech E.I.R.L. <http://www.gttech.pe> (cambiarlo por su marca claro)
 */
class Culqi 
{
....
}

Usar namespaces

Como sugerencia, en la librería de Culqi, usar el estándar de namespaces.

Error en el formulario de pago

index-C7zDswTy.js:13 TypeError: Cannot read properties of undefined (reading 'importKey')
at Aq (index-C7zDswTy.js:77:702)
at _k (index-C7zDswTy.js:77:1215)
at Lk.getSession (index-C7zDswTy.js:77:1884)
at at.getSessionId (index-C7zDswTy.js:77:8174)
at F (index-C7zDswTy.js:77:16919)
at Proxy.Y (index-C7zDswTy.js:77:16885)
at Proxy. (index-C7zDswTy.js:17:13292)
at Z (index-C7zDswTy.js:77:100938)
at X (index-C7zDswTy.js:77:100865)
at Er (index-C7zDswTy.js:13:38)

Porque me esta saliendo este error al momento de colocar la tarjeta en el formulario de prueba

Incidencia con Email desde formulario CheckOut

Estimados Buenas Tardes

Tengo la siguiente incidencia tengo un formulario checkout con los datos básicos a cargar, monto, titulo, descripcion, etc.
image

el tema esta en que cuando llevo el proceso a pago usando el molde de (02-create-charge.php), el mismo no se trae el correo que coloco en el formulario anterior por lo tanto el pago no se completa viendo el ejemplo ustedes tienen alli un dato fijo ("email" => "[email protected]",)

como hago para traerme el email que se coloca dentro del formulario estandar?

Saludos y gracias de antemano por el apoyo

Los nombres de las variables son intelegibles

Estoy intentando crear una versión en Python de la biblioteca pero los nombres de las variables hacen mucho más dificil entender que está haciendo el código, por ejemplo:

function crearDatospago($sp821fb9, $sp37cd46=null)

¿Qué son los parámetros? Es un misterio. ¿Están ofuscados a propósito? Deberían cambiarlos a algo como esto:

function crearDatospago($datos_venta, $extra=null)

(y estoy adivinando que esos son los nombres correctos)

Bug de precisión cuando se usa json_encode

Hola.
Los invito a leer este bug : https://bugs.php.net/bug.php?id=72567

Y aunque la solución es corregir el parámetro serialize_precision en el php.ini , podemos cambiar el campo "amount" a string.

Modificando lib/Culqi/Client.php

`
namespace Culqi;
use Culqi\Error as Errors;

/**

  • Class Client

  • @Package Culqi
    */
    class Client {
    public function request($method, $url, $api_key, $data = NULL, $secure_url = false) {
    try {
    $url_params = is_array($data) ? '?' . http_build_query($data) : '';
    $headers= array("Authorization" => "Bearer ".$api_key, "Content-Type" => "application/json", "Accept" => "application/json");
    $options = array(
    'timeout' => 120
    );

         // TODO: We change to string to avoid the precision bug on PHP 7.1
         // URL : https://bugs.php.net/bug.php?id=72567
         if( is_array( $data ) && isset( $data['amount'] ) )
             $data['amount'] = strval( $data['amount'] );
    

........
}
`

PD: si alguien lanza el pullrequest sería de gran ayuda.

Error Culqi\Error\UnhandledError

Buen día, ya he logrado probar la aplicacion con las tarjetas de prueba que ofrecen y todo sale Ok,
sin embargo al usar las Tarjetas con respuestas y errores específicos, solo la primera que es " expired_card" me devuelve el error con el json, el resto me sale la siguiente Exception...

message: {"object":"error","type":"card_error","charge_id":"chr_test_1zMFFuuJgRayHWHN","code":"card_declined","merchant_message":"Fondos insuficientes. La tarjeta no tiene fondos suficientes para realizar la compra.","user_message":"Su tarjeta no tiene fondos suficientes. Para realizar la compra, verifica tus fondos disponibles con el banco emisor o inténta nuevamente con otra tarjeta."} exception: Culqi\Error\UnhandledError file: /Users/angel/Code/cart/vendor/culqi/culqi-php/lib/Culqi/Client.php line: 49

Saludos.

Culqi en Joomla

Hola estimados tienen pensado hacer un plugin o un repositorio para que se pueda integrar culqi a Joomla?

Pagos en Efectivo.

Con respecto a los pagos en efectivo, en la pagina oficial de culqi dice que aceptan los métodos de pago: BCP, Scotiabank, Interbank, CajaArequipa, BanBif, AgenteKasnet,FullCarga, WesternUnion
-Cuando se crea una orden se le debe especificar el método de Pago?
-El Usuario ejecuta el pago de una orden a través de PagoEfectivo o directamente en el banco de la opción de pago que escogió? Por ejemplo, Interbank.
-Como sería el flujo de pasos de este proceso?

Conflicto con proyectos en namespaces

Tengo mi proyecto usando namespaces en todo lado, y cuando establezco algún error en la creación de pago me salta un error PHP diciendo:

PHP Fatal error:  Class 'InvalidParamsException' not found in /var/www/vhosts/inngresa.com/vendor/culqi/Culqi/Pago.php on line 159

Cambiar idioma Popup

Hola.
Se puede cambiar el idioma del modal/popup de Culqi que sale por defecto?

Entiendo que estas son las variables que se setean al inicio:

<script>
  Culqi.settings({
    title: 'Culqi Store',
    currency: 'PEN',
    description: 'Polo/remera Culqi lover',
    amount: 3500
  });
</script>

Y quería saber si hay alguna para cambiar el idioma.

Saludos

Error entorno integración al crear cliente

Al crear un cliente recibo este error:
{"timestamp":1543186417322,"status":500,"error":"Internal Server Error","exception":"javax.persistence.EntityNotFoundException","message":"Unable to find com.culqi.api.database.model.TransactionRequest with id 2975865","path":"/api/v2/customers"}

Creación de Token - Error en CURLOPT_ENCODING

Hola.

Cuando hago un POST request para un cargo $culqi->charges->create() todo funciona bien, pero cuando hago uno para la creación del token, me da error 61

Entiendo que la creación del token es con la llave pública y que además, éste apunta a otra URL.

Estuve investigando porque la librería rmccue/requests no esta funcionando correctamente y encontré que se trataba de curl_setopt($this->handle, CURLOPT_ENCODING, '');

Por un lado, lo he reportado al repositorio de ellos : WordPress/Requests#374

Sin embargo cabe la duda xq este POST request sí funciona bien con https://api.culqi.com/v2 (creación de una pago) pero no funciona con https://secure.culqi.com/v2 (creación del token), es inevitable pensar que deben ser diferentes reglas para ambas URLs

PD: Mis keys sí tienen permiso de crear tokens, de hecho con postman sí puedo crearlo correctamente.

Saludos

Problemas con control de errores

use estas credenciales

Diners Club | 3600 010000 0007 | 12/2024 | 820 | processing_error

y me sale el siguiente error


Fatal error: Uncaught Culqi\Error\UnhandledError: {"object":"error","type":"card_error","charge_id":"chr_test_mGBHiVi0Pc7ASBPW","code":"card_declined","decline_code":"processing_error","merchant_message":"Error de procesamiento. Ocurrió un error mientras procesabamos la compra. Contáctate con culqi.com/soporte para que te demos una solución.","user_message":"Ocurrió un error mientras procesabamos tu compra. Contáctate con culqi.com/soporte para que te demos una solución."} in D:\xampp\htdocs\pagos\culqi\lib\Culqi\Client.php:54 Stack trace: #0 c'/charges/', 'sk_test_wV2W34h...', Array) #1 D:\xampp\htdocs\pagos\proceso.php(28): Culqi\Charges->create(Array) #2 {main} thrown in D:\xampp\htdocs\pagos\culqi\lib\Culqi\Client.php on line 54

No se puede crear token de cargo en Culqi API

Hola! Estoy teniendo problemas seguidos con culqi y no puedo crear el cargo del pago en el entorno de integración, a pesar que se crea el token de acceso, cada vez que envío un pago. Ya lo he notificado y aún no recibo respuesta.

Adjunto imágenes del api log y de la web y de la consola del navegador que muestra el error al crear el cargo y ni muestra código de respuesta alguno.

image001
image002
image004

Culqi\Error\AuthenticationError: Error de autenticación

Hola, estoy teniendo un error al realizar la integración, ya verifiqué todo y por mi lado lo veo bien.

Estoy usando Laravel 8 y Culqi php 1.5

Culqi\Error\AuthenticationError: Error de autenticación in file C:\laragon\www\alvaradoapp\vendor\culqi\culqi-php\lib\Culqi\Client.php on line 43

#0 C:\laragon\www\alvaradoapp\vendor\culqi\culqi-php\lib\Culqi\Charges.php(29): Culqi\Client->request('POST', '/charges/', 'sk_test_761xxxx...', Array)
#1 C:\laragon\www\alvaradoapp\app\Http\Controllers\DemoController.php(41): Culqi\Charges->create(Array)
#2 [internal function]: App\Http\Controllers\DemoController->post()

ACTUALIZACIÓN:
Si las consultas se envían a:
https://api.culqi.com/v2
Los cargos se realizan sin problemas.

Sugiero una mejora para el codigo del javascript

function CulqiCheckout($params) {

    var closeCallback = $params.callback,
        codigo_comercio = $params.comerce_id,
        informacion_venta = "",
        respuesta = "",
        iframe = null;

    window.addEventListener("message", receiveMessage, false);

    return {
        abrir:      abrir,
        autorizado: autorizado,
        denegado:   denegado,
        cerrar:     cerrar,
        setInformation: setInformation
    };

    function setInformation(information)
    {
        informacion_venta = information;
    }

    function abrir() {

        if (informacion_venta == "") {

            alert("Intente nuevamente. Si el problema persiste, contáctese con el Comercio.");

        } else {
            var product = "web";
            var url = "/api/v1/form/" + product + "/" + codigo_comercio + "/" + informacion_venta;
            iframe = document.createElement("IFRAME");

            iframe.setAttribute("src", "https://integ-pago.culqi.com" + url);

            iframe.setAttribute("id", "culqi_checkout_frame");
            iframe.setAttribute("name", "checkout_frame");
            iframe.setAttribute("class", "culqi_checkout");
            iframe.setAttribute("allowtransparency", "true");
            iframe.setAttribute("frameborder", "0");

            iframe.style.zIndex = 99999;
            iframe.style.display = "block";
            iframe.style.backgroundColor = "rgba(0,0,0,0)";
            iframe.style.border = "0px none trasparent";
            iframe.style.overflowX = "hidden";
            iframe.style.overflowY = "auto";
            iframe.style.visibility = "visible";
            iframe.style.margin = "0px";
            iframe.style.position = "fixed";
            iframe.style.left = "0px";
            iframe.style.top = "0px";
            iframe.style.width = "100%";
            iframe.style.height = "100%";
            iframe.style.backgroundPosition = "initial initial";
            iframe.style.backgroundRepeat = "initial initial";
            document.body.appendChild(iframe);
        }
    }

    function autorizado() {

        iframe = document.getElementById('culqi_checkout_frame');
        iframe.contentWindow.postMessage("autorizado", "*");
    }

    function denegado() {
        iframe = document.getElementById('culqi_checkout_frame');
        iframe.contentWindow.postMessage("denegado", "*");
    }
    function cerrar() {
        var element = document.getElementById("culqi_checkout_frame");
        if (element == null){
        } else {
            element.parentNode.removeChild(element);
        }
    }

    function receiveMessage(event){

        if(event.data == "checkout_cerrado"){

            respuesta = event.data;
            closeCallback(respuesta);
            cerrar();
//console.log("Cerrando checkout:" + event.data);

        } else {
            respuesta = event.data;
//console.log("Informacion recibida desde el checkout:" + event.data);
            closeCallback(respuesta);
        }

    }

}

Endpoint request timed out : Al listar los cargos

Hola
Estoy haciendo trayendo el listado de cargos de una cuenta de Culqi, aun ando haciendo pruebas en integración, pero eso me traer algunas veces bien y otras me muestra este error:

"message": "Endpoint request timed out"

Y no sólo hago pruebas en un browser sino también usando la aplicación postman y sucede lo mismo, a veces si trae correctamente el listado y otras no.

Sólo hay 10 cargos ahi.
Esto pasa porque es test? o sucede también en producción?

Saludos

Culqi\Error\AuthenticationError

Hola!

Estoy tratando de realizar la integración, he creado un comercio y cree un par de planes para poder realizar suscripciones. Realizo la petición del token con el checkout y se genera bien, creo un usuario y se crea sin problemas, pero al tratar de crear una tarjeta con el token recibido, me arroja el error de autenticación:

Culqi\Error\AuthenticationError: Error de autenticación in Culqi\Client->request() (line 46 of vendor/culqi/culqi-php/lib/Culqi/Client.php).

He usado la tarjeta de prueba VISA que arroja el resultado exitoso. El log de la API muestra como respuesta:

{
  "object": "error",
  "type": "operacion_denegada",
  "code": "DNGA0019",
  "merchant_message": "Comercio mal configurado, contactar a CULQI.",
  "user_message": "La compra no ha podido ser procesada. Intente más tarde o contáctese con el comercio."
}

No se si dentro del panel de Culqi debo configurar algo, sin embargo no se si el ambiente de pruebas tiene límites para realizar las operaciones. Me disculpo si es una pregunta obvia pero acabo de empezar con Culqi.

Gracias por su ayuda!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.