The workflow JSON
Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →
{
"name": "DISTMAH - Pago Completado (Stripe)",
"nodes": [
{
"parameters": {
"httpMethod": "POST",
"path": "stripe-payment-webhook",
"responseMode": "responseNode",
"options": {}
},
"id": "webhook-payment",
"name": "Webhook Pago",
"type": "n8n-nodes-base.webhook",
"typeVersion": 2,
"position": [
250,
300
]
},
{
"parameters": {
"respondWith": "json",
"responseBody": "={\"received\": true}"
},
"id": "response",
"name": "Responder OK",
"type": "n8n-nodes-base.respondToWebhook",
"typeVersion": 1,
"position": [
450,
300
]
},
{
"parameters": {
"conditions": {
"string": [
{
"value1": "={{ $json.event }}",
"value2": "payment.completed"
}
]
}
},
"id": "check-event",
"name": "Verificar Evento",
"type": "n8n-nodes-base.if",
"typeVersion": 1,
"position": [
650,
300
]
},
{
"parameters": {
"fromEmail": "noreply@distmah.com.ve",
"toEmail": "={{ $json.customer.email }}",
"subject": "=Recibo de Pago - {{ $json.course.title }}",
"emailType": "html",
"html": "=<div style=\"font-family: Arial, sans-serif; max-width: 600px; margin: 0 auto; background: #f5f5f5; padding: 20px;\">\n <div style=\"background: #1F4E79; padding: 30px; text-align: center;\">\n <h1 style=\"color: white; margin: 0;\">DISTMAH ATC</h1>\n <p style=\"color: #ccc; margin: 5px 0 0 0;\">Recibo de Pago</p>\n </div>\n \n <div style=\"background: white; padding: 30px;\">\n <h2 style=\"color: #333;\">\u00a1Pago Confirmado!</h2>\n \n <p style=\"color: #666;\">Hola {{ $json.customer.name }},</p>\n <p style=\"color: #666;\">Tu pago ha sido procesado exitosamente.</p>\n \n <div style=\"background: #f9f9f9; padding: 20px; border-radius: 5px; margin: 20px 0;\">\n <h3 style=\"color: #1F4E79; margin-top: 0;\">Detalles del Pago</h3>\n <table style=\"width: 100%; color: #666;\">\n <tr><td><strong>Curso:</strong></td><td>{{ $json.course.title }}</td></tr>\n <tr><td><strong>Monto:</strong></td><td>${{ $json.payment.amount }} {{ $json.payment.currency }}</td></tr>\n <tr><td><strong>ID Transacci\u00f3n:</strong></td><td>{{ $json.payment.stripeId }}</td></tr>\n <tr><td><strong>Fecha:</strong></td><td>{{ $json.payment.paidAt }}</td></tr>\n </table>\n </div>\n \n <p style=\"color: #666; font-size: 12px;\">Guarda este recibo para tus registros.</p>\n </div>\n \n <div style=\"text-align: center; padding: 20px; color: #999; font-size: 12px;\">\n <p>DISTMAH ATC - Centro de Entrenamiento Autorizado Autodesk</p>\n </div>\n</div>"
},
"id": "email-receipt",
"name": "Enviar Recibo",
"type": "n8n-nodes-base.emailSend",
"typeVersion": 2.1,
"position": [
850,
200
],
"credentials": {
"smtp": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"fromEmail": "noreply@distmah.com.ve",
"toEmail": "admin@distmah.com.ve",
"subject": "=\ud83d\udcb0 Nueva Venta - ${{ $json.payment.amount }} - {{ $json.course.title }}",
"emailType": "html",
"html": "=<div style=\"font-family: Arial, sans-serif;\">\n <h2 style=\"color: #1F4E79;\">Nueva Venta Registrada</h2>\n <ul>\n <li><strong>Cliente:</strong> {{ $json.customer.name }} ({{ $json.customer.email }})</li>\n <li><strong>Curso:</strong> {{ $json.course.title }}</li>\n <li><strong>Monto:</strong> ${{ $json.payment.amount }} {{ $json.payment.currency }}</li>\n <li><strong>Stripe ID:</strong> {{ $json.payment.stripeId }}</li>\n </ul>\n</div>"
},
"id": "notify-admin",
"name": "Notificar Admin",
"type": "n8n-nodes-base.emailSend",
"typeVersion": 2.1,
"position": [
850,
400
],
"credentials": {
"smtp": {
"name": "<your credential>"
}
}
}
],
"connections": {
"Webhook Pago": {
"main": [
[
{
"node": "Responder OK",
"type": "main",
"index": 0
},
{
"node": "Verificar Evento",
"type": "main",
"index": 0
}
]
]
},
"Verificar Evento": {
"main": [
[
{
"node": "Enviar Recibo",
"type": "main",
"index": 0
},
{
"node": "Notificar Admin",
"type": "main",
"index": 0
}
],
[]
]
}
},
"settings": {
"executionOrder": "v1"
},
"tags": [
{
"name": "pagos"
},
{
"name": "stripe"
}
]
}
Credentials you'll need
Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.
smtp
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
DISTMAH - Pago Completado (Stripe). Uses emailSend. Webhook trigger; 5 nodes.
Source: https://github.com/webcadeveloper/DISTMAH-ATC-/blob/96e6fc936a3f6dc64eeb9e6f6834607fe0156451/n8n-workflows/03-pago-completado.json — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
This n8n template automates the delivery of digital products after a successful Stripe Checkout payment.
01.04 Dynamic Subscription Dunning & Retention. Uses stripe, intercom, salesforce, emailSend. Webhook trigger; 6 nodes.
Stripe Payment Order Sync – Auto Retrieve Customer & Product Purchased. Uses stripeTrigger, httpRequest. Event-driven trigger; 3 nodes.