notifications/UpdateWebhook.php
<?php

Update Webhook Sample

This sample code demonstrate how to use this call to update a webhook; supports the replace operation only, as documented here at: https://developer.paypal.com/webapps/developer/docs/api/#update-a-webhook API used: PATCH v1/notifications/webhooks/

Get Webhook ID.

In samples we are using CreateWebhook.php sample to get the created instance of webhook. However, in real case scenario, we could use just the ID from database or use an already existing webhook.

/** @var \PayPal\Api\Webhook $webhook */ $webhook = require 'CreateWebhook.php';

Updating the webhook as per given request

 [
    {
        "op":"replace",
       "path":"/url",
       "value":"https://requestb.in/10ujt3c1"
    },
    {
        "op":"replace",
       "path":"/event_types",
       "value":[
          {
              "name":"PAYMENT.SALE.REFUNDED"
          }
       ]
    }
 ]
$patch = new \PayPal\Api\Patch(); $patch->setOp("replace") ->setPath("/url") ->setValue("https://requestb.in/10ujt3c1?uniqid=". uniqid()); $patch2 = new \PayPal\Api\Patch(); $patch2->setOp("replace") ->setPath("/event_types") ->setValue(json_decode('[{"name":"PAYMENT.SALE.REFUNDED"}]')); $patchRequest = new \PayPal\Api\PatchRequest(); $patchRequest->addPatch($patch)->addPatch($patch2);

Get Webhook

try { $output = $webhook->update($patchRequest, $apiContext); } catch (Exception $ex) { ResultPrinter::printError("Updated a Webhook", "Webhook", null, $patchRequest, $ex); exit(1); } ResultPrinter::printResult("Updated a Webhook", "Webhook", $output->getId(), $patchRequest, $output); return $output;