Webhooks PHP
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_signaturebt_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.
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的更多相关文章
- 第四十一章 微服务CICD(3)- jenkins + gitlab + webhooks + publish-over-ssh(1)
		
一.作用 使用webhooks来实现当git客户端push代码到gitlab后,jenkins会立即去gitlab拉取代码并构建. 二.步骤 1.安装插件 ruby_runtime(Hook插件依赖于 ...
 - ASP.NET的新成员ASP.NET WebHooks
		
(此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 题记:前几天微软除了发布了ASP.NET 5的Beta7之外,还有一个值得关注的东西,就是A ...
 - 使用 GitHub / GitLab 的 Webhooks 进行网站自动化部署
		
老早就想写这个话题了,今天正好有机会研究了一下 git 的自动化部署.最终做到的效果就是,每当有新的 commit push 到 master 分支的时候,就自动在测试/生产服务器上进行 git pu ...
 - 微软发布了ASP.NET WebHooks预览版
		
微软 近期发布了ASP.NET WebHooks的预览版 ,这是一个可用于创建及使用Webhook功能的库.WebHooks支持MVC 5及WebApi 2. Webhook是一种通过HTTP实现用户 ...
 - WebHooks
		
WebHooks ASP.NET 5 Beta 7 版本 在 VS2015 发布的同时,微软也发布了 ASP.NET 5 的路线图(详见ASP.NET 5 Schedule and Roadmap ...
 - springboot+cloud 学习(五)统一配置中心 spring cloud config + cloud bus + WebHooks +RibbitMQ
		
前言 微服务要实现集中管理微服务配置.不同环境不同配置.运行期间也可动态调整.配置修改后可以自动更新的需求,Spring Cloud Config同时满足了以上要求.Spring Cloud Conf ...
 - 基于 Webhooks gitlab 自动化构建
		
基于gitlab webhooks 自动构建流程 1.服务器安装 git 服务 安装成功 配置 PHP 脚本: <?php // 接受头部信息 if (!isset($_GET['youpara ...
 - jenkins+gitlab webhooks 实现自动触发打包
		
说明:实现代码在gitlab上的提交后立马自动进行jenkins的job构建 安装插件: Gitlab Hook Plugin Build Authorization Token Root Plug ...
 - Gitlab Webhooks, External Services, and API(二)
		
一. 使用webhooks webhook 是一个API的概念,并且变得越来越流行.我们能用事件描述的事物越多,webhook的作用范围也就越大.webhook作为 个轻量的事件处理应用,正变得越来越 ...
 
随机推荐
- Jenkins 安装或更新插件失败
			
试试这个插件网址是否可以在网页中打开 http://mirror.xmission.com/jenkins/updates/current/update-center.json 如可以,把这个网址 ...
 - 通过PowerShell获取Windows系统密码Hash
			
当你拿到了系统控制权之后如何才能更长的时间内控制已经拿到这台机器呢?作为白帽子,已经在对手防线上撕开一个口子,如果你需要进一步扩大战果,你首先需要做的就是潜伏下来,收集更多的信息便于你判断,便于有更大 ...
 - ViewHolder模式超简洁写法
			
ViewHolder是什么就不解释了.大家通常怎么写ViewHolder呢? ViewHolder holder = null; if (convertView == null) { convertV ...
 - React Native ——实现一个简单的抓取github上的项目数据列表
			
/** * Sample React Native App * https://github.com/facebook/react-native */ 'use strict'; var React ...
 - java 流
			
http://www.iteye.com/magazines/132-Java-NIO http://liyuanning.blog.163.com/blog/static/4573228620101 ...
 - WindowsServer2012桌面图标设置
			
1.win+R调出运行窗口 2.输入:rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,0 即可
 - How to debug Typescript in browser
			
How to debug typescript, In Chrome, we need to press F12, open settings, uncheck the Enable JavaScri ...
 - hdinfo
			
--------[ 鲁大师 ]-------------------------------------------------------------------------------- 版本: ...
 - spring框架面试相关问题
			
Spring 框架中核心组件有三个:Core.Context 和 Beans.其中最核心的组件就是Beans, Spring提供的最核心的功能就是Bean Factory. Spring 解决了的最核 ...
 - java框架篇---spring IOC 实现原理
			
IOC(DI):其实这个Spring架构核心的概念没有这么复杂,更不像有些书上描述的那样晦涩.java程序员都知道:java程序中的每个业务逻辑至少需要两个或以上的对象来协作完成,通常,每个对象在使用 ...