open-pay / openpay-magento2-cards Goto Github PK
View Code? Open in Web Editor NEWOpenpay integration for Magento 2 (Credit-Debit cards)
License: Apache License 2.0
Openpay integration for Magento 2 (Credit-Debit cards)
License: Apache License 2.0
Al generar una factura usando el módulo de facturas (no lo pude encontrar en los repositorios de OpenPay), los campos de "subtotal", "importe" y "base" no tienen el mismo valor debido a un error de redondeo. Esta es la solicitud en formato JSON que genera el módulo, los campos no relevantes fueron eliminados.
{"subtotal": "3118.97", "total_trasladados": "499.03", "total": 3618, "tipo_de_cambio": "1", "forma_pago": "04", "hide_total_items": "true", "hide_total_taxes": "true", "moneda": "MXN", "lugar_expedicion": "01234", "observaciones": "Observaciones a dicreción", "serie": "1", "impuestos_retencion": [], "folio": 0, "invoice_id": 909, "metodo_pago": "PUE", "tipo_comprobante": "I", "conceptos": [ { "valor_unitario": "1039.66", "importe": "3118.98", "traslados": [ { "impuesto": "002", "base": "3118.98", "tipo_factor": "Tasa", "tasa": "0.16", "importe": "499.03" } ] } ], "impuestos_traslado": [ { "impuesto": "002", "tasa": "0.16", "importe": "499.03", "tipo_factor": "Tasa" } ]}
Como se puede ver, hay una diferencia de 1 centavo entre el subtotal y los campos de conceptos.importe
y conceptos.traslados.base
.
Este error se genera debido a que el precio en el catálogo de Magento es de $1206,y al calcular el precio sin IVAes de $1039.655172, que se redondea a $1039.66 (y así queda guardado en la base de datos), un error de 0.00046%. Y al multiplicarlo por la cantidad de artículos, se obtiene $3118.98.
Esta es la respuesta del servidor del SAT (Error CFDI33107).
"type": "invoice.failed", "event_date": "2020-01-20T11:19:33-06:00", "invoice_data": { "invoice_id": "909", "creation_date": "2020-01-20T11:19:33-06:00", "receiver_rfc": "ABC999999321", "total": 3618, "subtotal": 3118.97, "status": "error", "fiscal_status": "active", "message": "CFDI33107: El TipoDeComprobante es I,E o N, el importe registrado en el campo no es igual a la suma de los importes de los conceptos registrados.; " }
Esto no sucede con todos los artículos, solamente con ciertas combinaciones que artiméticamente presentan problemas debido a este error de redondeo.
Cuál sería una manera de prevenir estos errores?
Se me ocurre incrementar la precisión de los precios en Magento aunque esto tiene otras consecuencias no deseadas.
Gracias por su ayuda.
The composer.json param
"extra": {
"map": [
["*", "Openpay/Cards"]
]
}
Uses a deprecated experiment from early times of magento2 develoments, where this parameter would clone all the repository into app/code
Is there any reason at all this is included in the composer.json file?
Thanks.
/////
El parametro mencionado arriba, no tiene mucho sentido es de los inicios de magento 2 y hoy día no cumple ninguna función específica para la implementación de los módulos, hay alguna razón para seguir incluyendolo?
Gracias!
Reference link: magento/magento2#2433
Dejo link de referencia: magento/magento2#2433
Buenos días.
Instalamos los tres métodos de pago:
Openpay_Banks
Openpay_Cards
Openpay_Stores
Primero en un ambiente de pruebas local, y los tres son listados de manera correcta en el checkout:
Sin embargo, cuando subimos el sitio a otro servidor de preproducción para que se pudieran hacer pruebas desde afuera y con SSL, los métodos dejaron de listarse:
No se hizo ningún cambio en la configuración ni en los archivos, todo es igual (incluyendo el ID y las Keys). Seguimos aun con las llaves de Sandbox. Las únicas diferencias son:
¿Podrían darme una pista de qué es lo que debería de revisar?
En el composer.json, están listados de esta forma:
"openpay/magento2-stores": "^1.2",
"openpay/magento2-cards": "^1.3",
"openpay/magento2-banks": "^1.2",
Intente tambien darle un composer update, pero no hubo ningún cambio.
Gracias
Hi,
I'm getting this error message when saving my configuration:
"Something went wrong while saving this configuration: Could not connect with webhook service, verify URL"
I installed extension in my magento 2 store. Once I added sandbox detail and enable this payment option.
Frontend after logged with username password checkout page is blank.
Without logged in processed with guest user. Its working fine.
After disabled this payment option. Checkout page is working fine.
I also installed Bank transfer and cash payment. Its working fine. Only issue with card payment.
Al momento de instalar la última versión del Módulo de Openpay Cards, al momento de querer correr cualquier comando de Magento regresa el siguiente error:
The command "php ./bin/magento module:enable --all --ansi --no-interaction"
W: failed. Unclosed '{' on line 39#0 /app/vendor/composer/ClassLoader.php(428
W: ): Composer\Autoload\includeFile('/app/vendor/com...')
W: #1 [internal function]: Composer\Autoload\ClassLoader->loadClass('Openpay\
W: Cards\M...')
Luego de revisar el código, detecté que el error lo origina el archivo Model/Payment.php:
https://github.com/open-pay/openpay-magento2-cards/blob/master/Model/Payment.php
Hace falta una "}" al final del archivo:
Y aunque en mi local lo pude corregir manualmente, al querer subirlo a Magento Cloud no me toma el cambio. Supongo el archivo debe ser corregido desde el repositorio para que lo tome.
Al concretar la integración con Magento 2.3 (instalación fresca) todos los correos del sistema se envían sin contenido (null)
Hi,
I get Empty or no Merchant ID provided
error when config is disabled. But it works fine for the website openpay is disabled. This impacts when you have multiple websites on a magento instance.
Versions installed
openpay/sdk 2.2.1
openpay/magento2-banks 4.1.2
openpay/magento-cards 3.4.12
Steps to reporduce :
Empty or no Merchant ID provided
is thrown**Expected **
Merchant id shouldn't be asked if openpay is disabled
Hola, les escribo para comentarles la solución a dos archivos en su repositorio que tienen error en su estructura del XML.
1.- app/code/Openpay/Cards/etc/adminhtml/events.xml
En la versión 3.4.8 la estructuta que tiene ese archivo es así:
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Event/etc/events.xsd">
<event name="admin_system_config_changed_section_payment">
<observer name="openpaycards_observer_check_config" instance="Openpay\Cards\Observer\MerchantInfo"/>
</event>
<event name="admin_system_config_changed_section_payment">
<observer name="openpaycards_observer_check_order_status" instance="Openpay\Cards\Observer\CreateWebhook"/>
</event>
</config>
Eso provoca que Magento mande error debido a que no pueden haber dos bloques "event" con el mismo name por lo que la solución es la siguiente:
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Event/etc/events.xsd">
<event name="admin_system_config_changed_section_payment">
<observer name="openpaycards_observer_check_config" instance="Openpay\Cards\Observer\MerchantInfo"/>
<observer name="openpaycards_observer_check_order_status" instance="Openpay\Cards\Observer\CreateWebhook"/>
</event>
</config>
2.- app/code/Openpay/Cards/etc/adminhtml/system.xml
En la versión 3.4.8 la estructuta que tiene ese archivo es así en las líneas 102, 103 y 104:
<field id="country" separator="|">
<value>MX|PE</value>
</field>
Lo cual hace que Magento lo tome como erroneo por lo que la solución es la siguiente:
<field id="country" separator="|">MX|PE</field>
¡Saludos!
Al querer procesar un cargo con token, con la siguiente llamada
estoy recibiendo
Estoy en modo sandbox y en la llamada previa para obtener el token, tengo éxito.
Estoy comparando los parámetros que envío con los de la documentación de la API y no veo que me haga falta algún valor, puesto que el merchand_id va en el URL
Hice pruebas con tarjeta de crédito real y con algunas de las de pruebas de https://www.openpay.mx/docs/testing.html
Espero sus comentarios :D
Hola,
Cuando intento guardar la configuracion de openpay me está saliendo el error Something went wrong while saving this configuration: Expected 200 response from http://mydomain/openpay/index/webhook but was 503 - Service Unavailable. El log en open pay tiene como respuesta:
{
"category": "request",
"description": "Expected 200 response from http://mydomain/openpay/index/webhook but was 503 - Service Unavailable",
"http_code": 502,
"error_code": 6003,
"request_id": "7eed180e-cd3c-421d-9c22-1eb7a3d3182f"
}
¿Cuál podría ser la causa de este error? Veo que hay otros similares de otros usuarios.
openpay tells me that I have to make this change
change the value requires_account "true" to "false", but looking for all the code I can not find where this change of favor can be made if you could help me, thanks
Magento 2.2.6
Tras el comando composer require openpay/magento2-cards:3.1.*
El siguiente comando devuelve error:
php bin/magento module:enable Openpay_Cards --clear-static-content
10:30:59 www-data@devopticalia2 current ±|OPTI-760 ✗|→ php bin/magento module:enable Openpay_Cards --clear-static-content
Unknown module(s): 'Openpay_Cards'
You are using the same observer name for the AfterPlaceOrder Observer in events.xml inside the 2 modules
openpay-magento2-cards and openpay-banks
which can and will cause overrides as mentioned by magento
https://developer.adobe.com/commerce/php/development/components/events-and-observers/#subscribing-to-events
Quote:
The observer name must be unique, or an override will occur.
Code from openpay-banks:
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Event/etc/events.xsd">
<event name="checkout_onepage_controller_success_action">
<observer name="checkout_controller_success_action" instance="Openpay\Banks\Observer\AfterPlaceOrder" />
</event>
</config>
Code from openpay-magento2-cards
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Event/etc/events.xsd">
<event name="checkout_onepage_controller_success_action">
<observer name="checkout_controller_success_action" instance="Openpay\Cards\Observer\AfterPlaceOrder" />
</event>
</config>
As fare as i could see you are not using the name anywhere so it an be easily fixed by renaming them e.g
banks_checkout_controller_success_action & cards_checkout_controller_success_action
Hola que tal disculpa iniciando la instalación nuevamente, no he logrado encontrar porqué el comando de git no lo reconoce, tengo instalado el git, ahora entiendo que ahí ya se realizó la descarga de la extensión por otro método o no?
Y para los paquetes obsoletos simplemente decidí continuar con los siguientes pasos de la instalación, no sé si desde ahí comienza mi problema con la instalación.
I am trying to install OpenPay by Composer:
$ composer require openpay/magento2-cards
this is the error:
Autoload error: Module 'Openpay_Cards' from '/var/www/html/magento2.local/app/code/Openpay/Cards' has been already defined in '/var/www/html/magento2.local/vendor/openpay/magento2-cards'.
How to solve it ?
He instalado y configurado el modulo (openpay/magento2-cards) en magento 2.2.6 pero no veo ningún webhook generado en el portal de openpay.
Estoy en ambiente productivo.
Las operaciones han estado pasando, pero no se notifica al cliente.
Me podrias ayudar con los pasos para configurar esto?
Gracias de antemano.
Hola perdón por lo extenso del tema pero he iniciando la instalación nuevamente.
He tenido errores durante la instalación, buscando en internet logré habilitar la extensión pero al realizar un cargo con un usuario registrado mostraba el siguiente error
Supongo que con los errores de la instalación no se logró instalar la base de datos.
Iniciando nuevamente con la instalación no he logrado encontrar porqué el comando de git no lo reconoce, tengo instalado el git,
ahora entiendo que ahí ya se realizó la descarga de la extensión por otro método o no?
Y para los paquetes obsoletos simplemente decidí continuar con los siguientes pasos de la instalación, no sé si desde ahí comienza mi problema con la instalación.
Continué con los pasos de la instalación y una vez finalizado el proceso y recargar la página de magento aparece
buscando encontré que con los siguientes comandos se soluciona
php bin/magento deploy:mode:set developer
php bin/magento module:enable --all
php bin/magento cache:clean
ejecuté los comandos y ahora en el navegador carga
siguiendo las instrucciones de " Please upgrade your database: Run "bin/magento setup:upgrade" from the Magento root directory."
al ejecutar el comando la consola muestra
no sé si ahí es donde debería estar la data para la extensión del openpay.
al final el comando termina con
con el nothing to import, no sé a que hace referencia ni cuán importante sea.
Refrescando la página vuelvo al error que muestra la primer imagen del tema. y acá abrí un tema al respecto donde vuelvo a hacer los mismos cambios en el archivo mencionado y obtengo los mismos resultados. Dado que se volvó un loop, espero que me puedan ayudar.
Hola que tal cuando quiero procesar una orden recibo el siguiente mensaje "The card charge is on a final status" anteriormente recibía el mensaje de "Empty or no Merchant ID provided" y no puedo dar salida a mis órdenes de compra en magento 2.
Alguna solución que sugieran o quizá alguna configuración que esté pasando por alto?
Cabe mencionar que estoy configurando los métodos de pago para distintas tiendas en una sola instalación de magento 2, al guardar los datos de pago recibí el siguiente mensaje
Y el siguiente mensaje es el que recibo al intentar capturar el pago de la orden
Buen día, en Magento 2.1.7 cuando intento de guardar las credenciales de Openpay en Métodos de Pago me arroja el siguiente error:
Something went wrong while saving this configuration: Expected 200 response from http://site-path/openpay/index/webhook but was 302 - Found
Y dentro de esa liga veo el siguiente error:
Exception #0 (Exception): Notice: Trying to get property of non-object in path/html/app/code/Openpay/Banks/Controller/Index/Webhook.php on line 40
Quedo al pendiente, gracias y saludos.
Composer.json is missing the autoload code so when the module is installed by composer, module code is copied but it is not added in autoload_files.php and Magento show the error "Module does not exist"
Hola,
Instalé este módulo en Magento 2.2.1 pero cuando intento realizar el pago, falla en cc-form.js en la línea 92 al invocar this.getCustomerFullName(), cuando intenta acceder a los atributos de customerData.
No sé si se deba a que no es soportado en esta versión de Magento o si se trate de algo diferente.
¿Alguien puede darme alguna pista de la falla?
Gracias.
Hi. Everything seems to install properly but when I try to enable Card Payment I get
Empty or no Merchant ID provided
I already used my mechant_id , pk and sk provided by Openpay in my account.
But it seems to need the prodcution values also which I am not ready to get.
Is there a work around so I can run tests?
I am on Ubuntu 16 on DigitalOcean.
Los pasos que aparecen al elegir el método de pago tiene imágenes que por el momento están caídos, ya que están hosteados en postimg, que tiene caído desde al menos el viernes. Podrían cambiar dónde hostean esas imágenes?
Saludos!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.