No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Creación de Transacciones con PayPal en Platzi Store

11/18
Recursos

¿Cómo crear una transacción con un botón inteligente de PayPal?

Personalizar la integración del SDK de PayPal es el primer paso crucial para crear una transacción satisfactoria. Esta guía te mostrará cómo hacerlo de forma efectiva, ayudándote a establecer una configuración segura y adaptada a tus necesidades.

¿Qué parámetros necesito agregar a mi integración?

Para comenzar, es importante personalizar la integración añadiendo ciertos parámetros en el archivo header.ejs dentro de la carpeta views/chart. Asegúrate de incluir:

  • Currency: Indica el tipo de moneda con el que se efectuarán los cobros, como mxn para pesos mexicanos o USD para dólares estadounidenses.
  • Vault: Establece este parámetro como true para asegurar que la conexión entre el SDK y el backend de PayPal sea segura. Esto es esencial para la creación de suscripciones futuras.

Estos parámetros ayudan a configurar una integración más personalizada y segura.

// Ejemplo de adición de parámetros en header.ejs
<script>
    // Parámetros existentes
    client-id: 'YOUR_CLIENT_ID',

    // Nuevos parámetros
    currency: 'MXN',
    vault: true
</script>

¿Cómo crear mi primera transacción?

El siguiente paso es crear la transacción dentro del archivo product.ejs donde ya se ha integrado el botón. Aquí se incluirá la lógica para establecer el valor del producto.

  1. Referencia al producto: Usa la variable product para referenciar tus productos y asigna el precio correcto. Esto evita errores comunes al establecer el precio del producto.
// Asignación del precio correcto al producto
product.price 
  1. Captura de éxito: Para saber si la transacción ha sido exitosa, inspecciona la documentación de PayPal donde se menciona onApprove. Este método puedes integrarlo pasando una función anónima que ejecute una alerta.
// Código para capturar el éxito de la transacción
onApprove: function () {
    alert('Transacción creada exitosamente.');
}

¿Cómo configuro una cuenta de comprador para pruebas?

Un componente esencial para probar transacciones es tener una cuenta de buyer en el entorno Sandbox de PayPal. Sigue estos pasos para configurar una:

  1. Ve al Sandbox de PayPal y selecciona la opción de cuentas.
  2. Crea una nueva cuenta de tipo personal en tu país (por ejemplo, México).
  3. Proporciona un email único y configura una contraseña.
  4. Asigna un balance simulado generoso, por ejemplo, un millón de pesos.
  5. Habilita opciones de pago, como agregar una tarjeta de crédito válida.

Al finalizar la creación de la cuenta, tendrás todas las herramientas necesarias para probar la integración y realizar transacciones simuladas de manera efectiva, asegurándote de que todo esté funcionando perfectamente antes de la implementación real.

¿Cómo finalizar la transacción después de aprobarla?

Una vez creada y aprobada la transacción, asegúrate de que todos los detalles sean los correctos al volver a tu tienda e intentar adquirir un producto con la cuenta de prueba. Aquí deberías poder ver:

  • Precio correcto, por ejemplo, 100 MXN.
  • Método de pago, como una tarjeta Visa simulada.
  • Detalles personales, como nombre y dirección del comprador.

Elegir "pagar ahora" completará la transacción y confirmará que la integración es correcta. Después del pago, si todo está configurado correctamente, te debería aparecer la alerta de éxito configurada anteriormente.

Sirve recordar que la educación y la práctica son esenciales en el ámbito del desarrollo, ¡continúa aprendiendo y perfecciona tus habilidades en integraciones en línea!

Aportes 16

Preguntas 4

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Me pasa algo curioso, y es que cuando intento crear la transacción se cierra inmediatamente la ventana emergente que genera PayPal. Alguien tiene alguna idea de cómo puedo solucionarlo, o a qué se deba?

Hola marcos. Tengo una duda. Si el tipo de moneda en mi cuenta es USD, pero quiero que mis clientes me paguen con su tdc o débito extranjera, ya sea con pesos chilenos, colombianos, mexicanos, soles, etc. ¿Paypal transforma ese saldo que ellos transfieren a saldo USD en mi cuenta?.. Esto con la intención de que me puedan pagar quienes no tengan una cuenta paypal, sean de cualquier país, pague con moneda nacional con su tarjeta y a la vez yo reciba esto en USD.

Como selecciono que quiero pagar con mi balance de Paypal y no con la tarjeta?

// EL parametro de la moneda y la conección segura para creación de subscripciones lo tenemos que agregar directamente al script de CLIENTID
<script src="https://www.paypal.com/sdk/js?client-id=CLIENTID&currency=USD&vault=true"></script>

// Para pasar el monto del boton, lo hacemos durante el button render.
<div id="paypal-button-container"></div>
<script>
	paypal.Buttons({
		createOrder: function(data, actions){
			return actions.order.create({
				purchase_units:[{
					amount: {value: 5}
				}]
			});
		}, onApprove: function(){
			alert 'transaccion creada';
		}
	}).render('#paypal-button-container');
</script>

<script src="https://www.paypal.com/sdk/js?client-id&currency=USD&vault=true"></script>

gracias

Hace unos años hackeé un sitio que vendía boletos para un evento que usaba paypal para pagar y donde estaban todas las validaciones eran en el front, compré 3 boletos por .50 centavos MXN y en concepto de pago puse mi correo por si acaso querían que me contrataran para hacer bien su página… no me contactaron.

config para transacciones de pagos

Config adicional en el script del SDK

disculpa el proyecto esta echo con node.js y puro react. js ?? o me equivoco??

primer comentario

¡Está increíble!.

Muy bueno , pero lo hubieras echo en react XP

Genial

Hola A todos!
PAYPAL permite pagos con TARJETA en el modo tradicional sin que el cliente tenga que crear una cuenta en PAYPAL??
Si es posible, se llega a ver algo de esto en este curso?

Slds.

Mi problema es que no sé cómo ingresar a esa parte de mi web, a mi no me sale eso. Yo no sé programación 😦