57 lines
1.9 KiB
PHP
57 lines
1.9 KiB
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/<Webhook-Id>
|
|
|
|
// ## 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) {
|
|
// NOTE: PLEASE DO NOT USE RESULTPRINTER CLASS IN YOUR ORIGINAL CODE. FOR SAMPLE ONLY
|
|
ResultPrinter::printError("Updated a Webhook", "Webhook", null, $patchRequest, $ex);
|
|
exit(1);
|
|
}
|
|
|
|
// NOTE: PLEASE DO NOT USE RESULTPRINTER CLASS IN YOUR ORIGINAL CODE. FOR SAMPLE ONLY
|
|
ResultPrinter::printResult("Updated a Webhook", "Webhook", $output->getId(), $patchRequest, $output);
|
|
|
|
return $output;
|