Braintree推送通知无法正常工作。

3

我使用Braintree的沙盒账户进行定期订阅。验证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证书。请告诉我是否需要采取任何措施使其正常运行。


@agf. 你能帮我解决这个问题吗? - Babu
1个回答

2

最终我找到了解决方案。这个问题与SSL证书有关。所有尝试进行POST请求的连接都以HTTP状态码599关闭。这是因为服务器缺少中间证书导致的。我们添加了该证书。现在我可以从Braintree访问推送通知。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接