Cómo administrar la cantidad personalizada con PayPal en Magento 2

Estás leyendo la publicación: Cómo administrar la cantidad personalizada con PayPal en Magento 2

Acepte pagos de PayPal en varias monedas

Ofrezca a sus clientes la facilidad de pagar en sus más de 20 divisas a través de PayPal.

¿Tiene problemas con los montos personalizados al usar el método de pago de PayPal en Magento 2? Lea esta publicación de blog para encontrar el método para .

Magento 2 viene con integración integrada de PayPal, la solución de pasarela de pago internacional más famosa. Esta integración de pasarela de pago incorporada permite a los propietarios de tiendas aceptar pagos desde cualquier rincón del mundo. La integración funciona sin problemas la mayor parte del tiempo y permite a los clientes completar el pago fácilmente a través de PayPal. Anteriormente, uno de mis colegas le mostró la solución al error de factura duplicada de Magento PayPal.

Pero, las cosas salen mal cuando se agrega o se descuenta una cantidad personalizada del subtotal del carrito. Estas pueden ser las tarifas adicionales en Magento 2 o los descuentos adicionales que ofrece a los clientes a través de campos personalizados. Tome el siguiente pedido total, por ejemplo:

Cómo administrar la cantidad personalizada con PayPal en Magento 2Aquí, el subtotal del carrito es INR 100,00, la tarifa adicional es INR 10,00 (cantidad personalizada) y el envío es INR 5,0, lo que asciende al total del pedido de INR 115,00. Al proceder al pago del pedido anterior con PayPal Express Checkout, el siguiente error impide a los clientes realizar el pago:

Transacción rechazada debido a un argumento inválido en paypal

El error dice:

El error se produce por no coincidir el importe del pago con el total del pedido. Los campos personalizados, las tarifas adicionales en Magento 2, por ejemplo, no se pasan a PayPal para el cálculo de los totales de los pedidos, lo que produce el error de PayPal #10413b.

🔥 Recomendado:  Cómo manejar la adicción a las criptomonedas

Veamos cómo podemos administrar la cantidad personalizada con el pago exprés de PayPal en Magento 2 usando la función addCustomItem().

Método para administrar la cantidad personalizada con PayPal en Magento 2

Para resolver el error anterior, también debe transferir cada uno de los montos personalizados a PayPal para su procesamiento. Siga los pasos que se mencionan a continuación:

Paso 1: Primero, cree un archivo de eventos en aplicación/código/Vendedor/Extensión/etc/eventos.xml con el siguiente código:

Paso 2: Ahora, debe crear un observador que pasará los importes personalizados a la pasarela de pago de PayPal mediante la función addCustomItem. Crear un archivo en Proveedor/Extensión/Observador/ con el siguiente código:

pago = $pago; } public function execute(Observador $observador) { $carrito = $observador->getEvent()->getCart(); $presupuesto = $esto->pagar->obtenerPresupuesto(); $tarifa adicional = []; $tarifa adicional[] = $this->serializer->unserialize($quote->getFeesAmount()); if ($tarifa adicional) { foreach ($tarifa adicional as $clave => $tarifas) { $carrito->addCustomItem(‘Tarifa adicional’, 1, $tarifas[$key]); } } devuelve $esto; } }

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

dieciséis

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

espacio de nombres Proveedor\Extensión\Observador;

use \Magento\Framework\Event\ObserverInterface;

use \Magento\Framework\Event\Observer;

use \Magento\Checkout\Model\Session;

clase AddPriceToPaypal implementa ObserverInterface

{

pago público $;

función pública __construct(Sesión $pago)

{

$this->checkout = $checkout;

}

función pública ejecutar (Observador $ observador)

{

$carrito = $observador->getEvent()->getCart();

$presupuesto = $esto->pagar->obtenerPresupuesto();

$tarifa adicional = [];

$tarifa adicional[] = $this->serializer->unserialize($quote->getFeesAmount());

si ($tarifa adicional) {

foreach ($tarifa extra como $clave => $tarifas) {

$carrito->addCustomItem(‘Tarifa adicional’, 1, $tarifas[$key]);

}

}

devolver $esto;

}

}

Consejo: Puede reemplazar el 1 en (‘Cargo adicional’, 1, $ tarifas[$key]) con -1 si desea que la cantidad se deduzca del subtotal del carrito.

¡y tu estas listo!

Esto resolverá los problemas de pago de precio personalizado con PayPal en Magento 2, es decir, “Transacción rechazada debido a un argumento no válido en PayPal”

Espero que esta publicación lo ayude a agregar una tarifa personalizada al pago exprés de Paypal en Magento 2. 😇

Si todavía tiene alguna duda o consulta con respecto a la solución proporcionada, no dude en preguntar en la sección de comentarios a continuación. Estaría encantado de ayudarle. 🙂

¿Encontró útil esta solución? Compártalo con sus amigos de Magento a través de las redes sociales. 🐱‍🏍

Gracias por leer…! 🍀

Magento 2 PayPal multidivisa

Instale Magento 2 PayPal Multi-Currency y permita que los clientes paguen en su moneda preferida en lugar de la moneda base.