码迷,mamicode.com
首页 > Web开发 > 详细

Webhooks PHP

时间:2016-09-13 16:05:42      阅读:288      评论:0      收藏:0      [点我收藏+]

标签:

Webhooks/Parse


When webhooks are triggered in the gateway, a notification is sent as a POST request to the specified destination URL. The post body contains two x-www-form-urlencoded parameters:

  • bt_signature
  • bt_payload

This payload is signed to ensure that the message originated from Braintree and was not modified in transit. The message is identical to standard API responses and contains a snapshot of the related entity at the time the webhook was triggered.

These parameters should be passed to the Braintree_WebhookNotification::parse. The result will be a WebhookNotification object consisting of:

  • A timestamp (in UTC)
    • Tip: Notifications may not be delivered sequentially, so be sure to look at the timestamp of the event.
  • A kind (directly mapped to triggers)
  • A standard Braintree object, depending on the type of notification (e.g. a subscription object for recurring billing webhooks)
    • Tip: Save webhook data to your database for reporting purposes or use it to trigger other actions in your app

PHP

if(
    isset($_POST["bt_signature"]) &&
    isset($_POST["bt_payload"])
) {
    $webhookNotification = Braintree_WebhookNotification::parse(
        $_POST["bt_signature"], $_POST["bt_payload"]
    );

    $message =
        "[Webhook Received " . $webhookNotification->timestamp->format(‘Y-m-d H:i:s‘) . "] "
        . "Kind: " . $webhookNotification->kind . " | ";

    file_put_contents("/tmp/webhook.log", $message, FILE_APPEND);
}

Notice how we are using file_put_contents to store the result of the received Webhooks to /tmp/webhooks.log.

PHP

$webhookNotification = Braintree_WebhookNotification::parse(
  $_POST["bt_signature"], $_POST["bt_payload"]
);

$webhookNotification->kind;
# => "subscription_went_past_due"

$webhookNotification->timestamp;
# => Sun Jan 1 00:00:00 UTC 2012
Exceptions

An exception may be raised while attempting to parse a Webhook signature.

Next: Testing and Go Live →

Still Have Questions?

If you can’t find an answer, give us a call at 877.434.2894 or email our Support team.

Webhooks PHP

标签:

原文地址:http://www.cnblogs.com/hsd1727728211/p/5868604.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!