es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Si tengo un objeto de artículos, ¿cómo lo puedo colocar en la sección de artículos de la paypal-rest-sdk (node.js)?

Eres un traductor de español que traduce documentos de TI. Traduzca lo siguiente al español. No traducir el código y la salida en markdown.

Por ejemplo. Tengo una variable llamada “cart”, cuando la registro en la consola, esto es lo que aparece

Cart {
  items: {
    ' 1 &#39 ;: {item: [Object], qty: 1, price: 150},
    ' 2 &#39 ;: {item: [Object], qty: 1, price: 200}
  },
  totalQty: 2,
  totalPrice: 350,
  add: [Function (anonymous)],
  reduceByOne: [Function (anonymous)],
  increaseByOne: [Function (anonymous)],
  deleteItem: [Function (anonymous)],
  generateArray: [Function (anonymous)]
}

Esta es la sección de PayPal

const create_payment_json = {
    "intent": "venta",
    "payer": {
        "método de pago": "paypal"
    },
    "redirect_urls": {
        "return_url": "http://localhost:3000/success",
        "cancel_url": "http://localhost:3000/failed"
    },
    "transactions": [{
        "item_list": {
            "items": [{
                "nombre": "objeto",
                "sku": "objeto",
                "precio": "200.00",
                "moneda": "USD",
                "cantidad": 1
            }]
        },
        "cantidad": {
            "moneda": "USD",
            "total": "200.00"
        },
        "descripción": "Esta es la descripción del pago."
    }]
};

¿Cómo puedo poner los elementos que están en el carrito en la sección de elementos de PayPal para que tenga en cuenta todos los elementos? Soy nuevo en esto. ¿Es posible ejecutar un ciclo en el objeto “item_list”? Cualquier ayuda será muy apreciada. Gracias.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Para agregar los artículos del carrito en la sección “item_list” del objeto PayPal, se puede utilizar un bucle que recorra el objeto “items” del carrito y crear un arreglo de objetos con las propiedades requeridas para cada artículo. Luego, se puede establecer este arreglo como la propiedad “items” en el objeto “item_list”.

    Aquí está un ejemplo:

    // se asume que `cart` es la variable con los artículos
    const items = [];
    for (let itemKey in cart.items) {
      const item = cart.items[itemKey];
      items.push({
        name: item.item.name,
        sku: item.item.id,
        price: item.price.toFixed(2),
        currency: 'USD',
        quantity: item.qty,
      });
    }
    
    const create_payment_json = {
      "intent": "sale",
      "payer": {
        "payment_method": "paypal"
      },
      "redirect_urls": {
        "return_url": "http://localhost:3000/success",
        "cancel_url": "http://localhost:3000/failed"
      },
      "transactions": [{
        "item_list": {
          "items": items
        },
        "amount": {
          "currency": "USD",
          "total": cart.totalPrice.toFixed(2)
        },
        "description": "This is the payment description."
      }]
    };
    

    En este ejemplo, primero creamos un arreglo vacío para contener los artículos para el objeto PayPal. Luego, recorremos el objeto “items” en el carrito, y para cada artículo creamos un nuevo objeto con las propiedades requeridas (nombre, sku, precio, moneda, cantidad) y lo agregamos al arreglo items.

    Finalmente, establecemos el arreglo items como la propiedad “items” en el objeto “item_list” de PayPal, y establecemos el precio total al valor en el carrito.

Comments are closed.