2014-09-03 3 views
3

정기 구독에 Braintree의 샌드 박스 계정을 사용했습니다. webhook 끝 URL의 확인은 성공합니다. 그러나 구독을 성공적으로 완료 한 후에도 서버에 푸시 알림을받지 못했습니다. PHP 환경을 사용하여 POST 세부 정보를 가져옵니다. 아래는 내가 사용한 코드 부분입니다.Braintree 푸시 알림이 작동하지 않습니다.

<?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 인증서가 있습니다. 작동 시키려면 내가해야 할 일이 있으면 알려주십시오.

+0

@agf. 이 질문으로 저를 도울 수 있습니까? – Babu

답변

2

마지막으로 해결책을 얻었습니다. 이것은 SSL 인증서와 관련된 문제였습니다. POST에 대한 모든 시도에 대해 HTTP 상태 599로 연결이 종료됩니다. 이는 중간 인증서가 서버에 없기 때문에 발생합니다. 인증서를 추가했습니다. 이제 브레인 트리에서 푸시 알림에 액세스 할 수 있습니다.

관련 문제