DEV Community

Cover image for How to Integrate PayPal & Mercado Pago in Node.js (Clean Architecture)
Gustavo Canal Quijano
Gustavo Canal Quijano

Posted on

How to Integrate PayPal & Mercado Pago in Node.js (Clean Architecture)

Handling payments in web applications can quickly turn into a headache, especially when you need to accept global payments (PayPal) alongside local payments in Latin America (Mercado Pago).

In this short guide, I’ll share how to structure a clean, decoupled Node.js + Express backend to handle both payment gateways securely without hardcoding prices in the frontend.

You can grab the Node.js Multi-Gateway Starter Kit for just $9.99 USD:
https://gcanal54.gumroad.com/l/nodejs-payment-starter-kit


🧠 Key Architecture Principles

  1. Server-Side Price Validation: Never trust prices sent from the client-side. Store product prices on the backend (server/utils/product.js) and pass only product IDs from the frontend.
  2. Environment Variables: Always segregate credentials using .env (Sandbox vs. Live modes).
  3. Decoupled Routes: Keep payment logic isolated in dedicated route files (/routes/paypal.js and /routes/mercadopago.js).

🛠️ Basic Express Setup

Here is how simple your main server file should look:


javascript
const express = require('express');
const app = express();

app.use(express.json());
app.use(express.static('public'));

// Dedicated Payment Routes
app.use('/api/paypal', require('./server/routes/paypal'));
app.use('/api/mercadopago', require('./server/routes/mercadopago'));

app.listen(3000, () => console.log('Server running on port 3000'));

🚀 Save +15 Hours of Development
If you want a production-ready Starter Kit with:

Pre-configured PayPal & Mercado Pago SDKs

Clean modular architecture (Express + HTML5 + JS Vanilla)

Environment variable setup (.env) & error logging

Complete Commercial PDF Manual & deployment guide
Enter fullscreen mode Exit fullscreen mode

Top comments (0)