This repository has been archived on 2024-06-26. You can view files and clone it, but cannot push or open issues or pull requests.
sakura/_sakura/vendor/paypal/rest-api-sdk-php/sample/notifications/UpdateWebhook.php

58 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;