PayPal Actualización de un webhook con una nueva URL (ejemplo de nodo)


Ejemplo

Este ejemplo le mostrará cómo actualizar una URL de reenvío de webhook existente (donde las notificaciones deben POSTARSE). Para ejecutar esto, debe tener la ID proporcionada por PayPal cuando creó sus webhooks por primera vez.

En primer lugar, agregue el SDK de PayPal y configure el entorno (en el siguiente cuadro de arena).

var paypal = require('paypal-rest-sdk');

var clientId = 'YOUR APPLICATION CLIENT ID';
var secret = 'YOUR APPLICATION SECRET';

paypal.configure({
    'mode': 'sandbox', //sandbox or live
    'client_id': clientId,
    'client_secret': secret
});

A continuación, configure la estructura JSON y los detalles de webhook. Asigne la ID de su webhook a webhookId primero. A continuación, en el webhookUpdate , especifique una operación de reemplazo, establezca la path a /url para especificar una actualización de ese recurso y proporcione la nueva URL para reemplazarla con un value inferior.

var webhookId = "YOUR WEBHOOK ID";
var webhookUpdate = [{
    "op": "replace",
    "path": "/url",
    "value": "https://64fb54a2.ngrok.io"
}];

Por último, llame a notification.webhook.replace(...) , pasando en webhookId y webhookUpdate .

paypal.notification.webhook.replace (webhookId, webhookUpdate, función (err, res) {if (err) {console.log (err); throw err;} else {console.log (JSON.stringify (res));} });

Si todo tiene éxito, un objeto similar al siguiente debe ser devuelto por PayPal y, en el caso de esta muestra, debe mostrarse en el terminal con la información recién actualizada.

{  
    "id":"4U496984902512511",
    "url":"https://64fb54a2.ngrok.io",
    "event_types":[{  
        "name":"PAYMENT.SALE.DENIED",
        "description":"A sale payment was denied"
    }],
    "links":[{   
        "href":"https://api.sandbox.paypal.com/v1/notifications/webhooks/4U496984902512511",
        "rel":"self",
        "method":"GET"
    },{  
        "href":"https://api.sandbox.paypal.com/v1/notifications/webhooks/4U496984902512511",
        "rel":"update",
        "method":"PATCH"
    },{  
        "href":"https://api.sandbox.paypal.com/v1/notifications/webhooks/4U496984902512511",
        "rel":"delete",
        "method":"DELETE"
    }],
    "httpStatusCode":200
}