Braintree推送通知无效

时间:2014-09-03 05:47:05

标签: php push-notification webhooks braintree

我使用了Braintree的Sandbox帐户来重复订阅。 webhook结束URL的验证成功。但即使在成功完成订阅后,我也没有向我的服务器发送任何推送通知。我正在使用PHP环境来获取POST详细信息。以下是我使用的代码段。

<?php

require_once(app_classes.'DB.Class.php');
require_once(app_classes.'util.Class.php');
require_once app_classes.'braintree/lib/Braintree.php';
Braintree_Configuration::environment(bt_environment);
Braintree_Configuration::merchantId(bt_merchant_id);
Braintree_Configuration::publicKey(bt_public_key);
Braintree_Configuration::privateKey(bt_private_key);

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 . " | "
                . "Subscription: " . $webhookNotification->subscription->id . "\n";

$subDetails = array( 'data' => $message );
DB::insert('subscription_notifications', $subDetails);
}
return 200;
?>

服务器具有SSL证书。如果我需要做任何事情才能让它工作,请告诉我。

1 个答案:

答案 0 :(得分:2)

最后我得到了解决方案。这是与SSL证书相关的问题。对于所有POST尝试,连接都以HTTP状态599关闭。发生这种情况是因为服务器中缺少中间证书。我们添加了证书。现在我可以访问Braintree的推送通知。