More Webhook API Changes

- Updated API Models with Fixes
- Updated Samples
- Additional Functional Tests
This commit is contained in:
japatel
2014-12-12 17:00:33 -06:00
parent d6575b49ae
commit fb9584ba66
30 changed files with 1454 additions and 73 deletions

View File

@@ -0,0 +1,55 @@
<?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) {
ResultPrinter::printError("Updated a Webhook", "Webhook", null, $patchRequest, $ex);
exit(1);
}
ResultPrinter::printResult("Updated a Webhook", "Webhook", $output->getId(), $patchRequest, $output);
return $output;