小编dmu*_*ter的帖子

Bitbucket webhook不发送有效载荷

我是webhooks的新手,每当我推送到我的仓库时,我都会尝试自动部署到我的网站.

我将我的bitbucket repo上的webhook设置为一个包含一个简单的php脚本的URL:

if(isset($_POST['payload'])) {
    logMsg("Got stuff\n");
} else {
    logMsg("No stuff\n");
}
Run Code Online (Sandbox Code Playgroud)

在我推送到我的仓库之后,webhook将请求脚本正常但没有发送有效负载.我的日志文件总是说"没有东西".

我错过了什么?

php git bitbucket webhooks

3
推荐指数
1
解决办法
1608
查看次数

Stripe:处理第一个订阅和Webhook事件

  1. 我的客户第一次加入我们的下标计划,我创建了一个交易(称为START-transaction),并使用Stripe的API创建新的订阅,并将订阅对象返回存储在上述交易中。

  2. 我还使用webhook来捕获Stripe的事件。我最大的目的是处理定期付款(发送有关充电成功或失败的通知,以及与客户互动的信息)。我捕获到事件invoice.payment_succeed以检测到这是账单。我也创建了一个事务(称为RECURRENCE),因此,我将事件对象存储在事务中。(基于事件invoice.payment_succceed中的订阅信息,我找出相对START交易并创建一个新交易,只要RECURRENCE)

问题就暴露出来了,在客户第一次创建计划时,有6个事件被召回我的系统:customer.created; 收费成功;发票已创建;发票。付款成功; 客户卡已创建;客户创建。因此,我的客户第一次有2-transactiona:1-START和1-RECURRENCE。

您是否建议我删除RECURRENCE交易?

谢谢。

webhooks stripe-payments

3
推荐指数
2
解决办法
862
查看次数

如何在Stripe成功处理重复订阅付款时收到通知?

在我的Ruby on Rails SaaS应用程序中,用户可以订阅月度或年度计划.我使用Stripe作为支付处理器.Stripe还按月(或每年)处理所有订阅并重新向用户收费.

我也是联盟网络的成员,该网络会收到有关用户每次新订阅/收费的通知,以便广告客户可以获得奖励(如果有的话).这适用于新订阅,因为如果付款通过,Stripe会立即通知我.

但重复订阅付款呢?我必须(并且想)通知我的联盟网络,但是,在我的网络应用程序中,我无法确定是否已经进行了定期付款.我可以假设它将在每个月的24日制作,但这不是肯定的.

Web应用程序是否有更好的方法来检测Stripe成功处理定期付款的时间?我的联盟网络要求我在收费时在前端显示一些小的Javascript片段.

谢谢你的帮助.

ruby webhooks stripe-payments

3
推荐指数
1
解决办法
167
查看次数

为什么API.AI总是返回"Webhook调用失败.错误:Webhook响应为空."

当我在google project和API.AI代理上创建操作时,我使用自己的服务来成为API.AI实现webhook.我希望API.AI会调用我的webhook.但是当我通过谷歌上的动作模拟器测试时,API.AI总会返回:

"message": "Unexpected apiai response format: Empty speech response",
"apiResponse": {
  "id": "905d5727-bea8-4630-8d3a-e6c173159a94",
  "timestamp": "2017-09-28T02:20:06.954Z",
  "lang": "en",
  "result": {},
  "status": {
    "code": 206,
    "errorType": "partial_content",
    "errorDetails": "Webhook call failed. Error: Webhook response was empty."
  },
  "sessionId": "1506565201634"
}
Run Code Online (Sandbox Code Playgroud)

但是当我检查apache的日志时,API.AI没有调用我的webhook!当我将webhook url替换为firebace功能时,它可以成功运行.但是,如果我使用自己的服务URL作为API.AI webhook url,API.AI无论如何都不会调用webhook.我的服务使用https.

webhooks actions-on-google dialogflow-es

3
推荐指数
1
解决办法
4525
查看次数

Facebook Chat bot(PHP webhook)发送多个回复

我的Facebook聊天机器人正在工作,但它在我的初始消息发送回来后发回了多条消息.这是我的webhook脚本(我很欣赏它是一个非常粗略的工作示例):

$challenge = $_REQUEST['hub_challenge'];
$verify_token = $_REQUEST['hub_verify_token'];

if ($verify_token === 'MY_VERIFICATION_TOKEN') {
  echo $challenge;
}

$input = json_decode(file_get_contents('php://input'), true);

$sender = $input['entry'][0]['messaging'][0]['sender']['id'];
$message = $input['entry'][0]['messaging'][0]['message']['text'];


//API Url
$url = 'https://graph.facebook.com/v2.6/me/messages?access_token=<my-token>';

//Initiate cURL.
$ch = curl_init($url);

//The JSON data.
$jsonData = '{
    "recipient":{
        "id":"'.$sender.'"
    }, 
    "message":{
        "text":"Hey Lee!"
    }
}';

//Encode the array into JSON.
$jsonDataEncoded = $jsonData;

//Tell cURL that we want to send a POST request.
curl_setopt($ch, CURLOPT_POST, 1);

//Attach our encoded JSON string to the POST fields.
curl_setopt($ch, …
Run Code Online (Sandbox Code Playgroud)

webhooks facebook-graph-api facebook-messenger facebook-chatbot

2
推荐指数
2
解决办法
1万
查看次数

使用 PHP 转换 WooCommerce Webhook 有效负载

我已经使用 WooCommerce 设置了我的第一个 Webhook,以便在下新订单时通知我的数据库服务器。Webhook 已设置并由我的服务器发送/接收 - 我不想编写一个 PHP 页面来解析 Webhook 的有效负载,以便我可以将带有订单详细信息的新记录写入我的 CRM 数据库。

我在获取 Webhook 的内容时遇到问题。根据 WooCommerce 内部 Webhook 的日志,请求详细信息为(我缩写了内容 JSON 数据):

Headers:

 user-agent: WooCommerce/2.6.4 Hookshot (WordPress/4.6.1)
 content-type: application/json
 x-wc-webhook-source: http://example.com/
 x-wc-webhook-topic: order.created
 x-wc-webhook-resource: order
 x-wc-webhook-event: created
 x-wc-webhook-signature: xxxxxxxxxxxxxxxxxxx=
 x-wc-webhook-id: 3233
 x-wc-webhook-delivery-id: 94

Content:

{"order":{"id":3242,"order_number":3242,"order_key":"wc_order_57f1dbe5bcf03","created_at":"2016-10-03T04:17:41Z", .....
Run Code Online (Sandbox Code Playgroud)

它正在执行 POST 请求,但我无法检索 POST 数据,例如

$postData = var_export($_POST, true);       
error_log($postData, 0);
Run Code Online (Sandbox Code Playgroud)

不返回任何 JSON 数据。我正在寻求以下方面的帮助:

  1. 检索 Webhook 在 POST 请求中发送的 JSON 数据
  2. 帮助了解如何解析 JSON 的每个元素以插入到适当的数据库字段中

php wordpress json webhooks woocommerce

2
推荐指数
1
解决办法
3678
查看次数

使用MailChimp WebHooks功能

有人可以提供在ASP.NET中执行此操作的示例.我们想做一些MailCHimp - 内部数据库同步并计划使用webhooks功能执行此操作,但我们无法让它工作.当有人取消订阅邮件黑猩猩时,我们希望使用网络挂钩来同步数据.

要解决的另一件事是安全性.我们如何保护此页面不被恶意用户访问?

asp.net webhooks mailchimp

1
推荐指数
1
解决办法
2360
查看次数

条纹Webhook响应

为什么我会像这样获得客户ID和发票ID cus_0000000000000和in_0000000000000?在条纹webhook响应中。我正在检查我的帐户中的事件和响应,我得到了200的响应,但是却获得了客户ID和发票ID,为什么?我正在检查发送测试webhook事件,我得到了这样的响应。

public function actionStripeHook() {


    if (Yii::app()->request->isPostRequest) {

        try {

            $postdata = file_get_contents("php://input");
            $event = json_decode($postdata);


                switch ($event->type) {

                    case 'invoice.payment_succeeded':

                        Yii::log('', 'trace', 'stripe');
                        Yii::log('==================================', 'trace', 'stripe');
                        Yii::log('==== Event (' . $event->type . ') ====', 'trace', 'stripe');
                        Yii::log('==================================', 'trace', 'stripe');
                        $customer_id = $event->data->object->customer;                            
                        $customer = Stripe_Customer::retrieve($customer_id);                            
                        $invoice = Stripe_Invoice::retrieve($event->data->object->id);
Run Code Online (Sandbox Code Playgroud)

}

我的代码有什么问题,这是我在条纹Webhook端点中的操作,我收到了事件类型invoice.payment_succeeeeeed该事件来自这种情况,但是在我的Response.s中无法正确获取客户ID和发票ID。为什么?

webhooks stripe-payments

0
推荐指数
1
解决办法
847
查看次数

Xero - 意向接收红宝石

这是来自 Xero 的参数

{"events"=>nil,
 "firstEventSequence"=>0,
 "lastEventSequence"=>0,
 "entropy"=>"KFDXIMNLPDAMRBOEVAVF",
 "controller"=>"admin/billing/webhooks",
 "action"=>"handle_hook",
 "webhook"=>
  {"events"=>nil,
   "firstEventSequence"=>0,
   "lastEventSequence"=>0,
   "entropy"=>"KFDXIMNLPDAMRBOEVAVF"}}
Run Code Online (Sandbox Code Playgroud)

我想验证Intent To Receive https://developer.xero.com/documentation/webhooks/configuring-your-server#intent

data = {"events"=>nil, "firstEventSequence"=>0, "lastEventSequence"=>0, "entropy"=>"KFDXIMNLPDAMRBOEVAVF"}

Key = HRj6QPub9BNE4MWewrcLrkKFjpiikV1KrlMZCvDawyDR95MGkkuE2y1DXFP1tifsEWaJygLx6zG0r9rXVTflcg==
Run Code Online (Sandbox Code Playgroud)

下面尝试过

Base64.encode64(OpenSSL::HMAC.digest(OpenSSL::Digest::Digest.new('sha256'), key, data)).strip()

*** TypeError Exception: no implicit conversion of ActionController::Parameters into String
Run Code Online (Sandbox Code Playgroud)

或者

hash  = OpenSSL::HMAC.digest('sha256', key, data)
*** TypeError Exception: no implicit conversion of ActionController::Parameters into String
Run Code Online (Sandbox Code Playgroud)

在这里如何实现这一目标?

为了确保您收到的请求来自 Xero,您需要验证 x-xero-signature 标头中提供的签名。创建或重新启用 Webhook 订阅(或更新订阅 URL)时,系统将提示用户启动“接收意图”验证。此验证过程将是对订阅中提供的 url 的一系列 HTTPS POST 请求。

编辑 Rails 正在将空白数组转换为 nil,所以我自己制作了有效负载,根据文档看起来完全相同

data = params[:webhook]

payload = …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails webhooks xero-api xeroizer

0
推荐指数
1
解决办法
380
查看次数