Webhooks

Los webhooks son una parte esencial en el proceso de integración ya que es la forma en que tu aplicación se entera cuando se procesaron distintas acciones dentro de Amplify.

Configuración

Para configurar tus webhooks tenes que tener un usuario de Amplify. Una vez dentro de tu perfil, podes configurar la URL a donde te vamos a enviar la información en: https://getamplify.app/plataforma/webhooks

Integración

La información seria enviada por medio de un POST HTTP Request a la URL que hayas configurado en el panel de administración.

Un ejemplo básico de integración con Node y Express podría ser el siguiente:

// routes.js
app.post('/api/amplify/webhook', (req, res) => {
    AmplifyController.webhook(req, res);
})
// AmplifyController.js
function webhook(req, res) {
  const { body } = req;
  const { topic, transaction } = body;
  
  console.log('TOPIC', topic)
  console.log('TRANSACTION', transaction);
}

Interfaces

Actualmente existen dos tipos de webhooks en Amplify, PAYMENT_INTENT_CREATED y PAYMENT_CREATED los cuales tienen las siguientes interfaces:

PAYMENT_INTENT_CREATED

Este webhook se ejecuta cuando un usuario ejecuta una intención de pago, esto quiere decir que el SDK se renderizo correctamente dentro de tu integración.

Ejemplo:


{
    topic: 'PAYMENT_INTENT_CREATED',
    transaction: {
        paymentIntentId: "123...abc",
        receiverId: "123...abc",
        status: "CREATED",
        metadata: { randomKey: "randomValue"}
    }
}

PAYMENT_CREATED

Este webhook se ejecuta cuando efectivamente un pago fue procesado teniendo así toda la información del mismo para poder actualizar lo que sea necesario dentro de tu plataforma

Ejemplo:

{
    topic: 'PAYMENT_CREATED',
    transaction: {
        paymentId: "123...abc",
        receiverId: "123...abc",
        amount: "1.0",
        token: "USDC",
        chain: "mumbai",
        metadata: { randomKey: "randomValue"},
        symbol: "USDC"
    }
}

Última actualización