2017-01-19 5 views
0

私はGoCardless APIでlaravel 5.3を使用しており、エンドポイントを構築しようとしています。ローカルトークンとパスされたGoCardlessトークンとが一致する

私はGoCardlessのマニュアルを読んでいると、それは、次の操作を行うと言う:

$token = getenv("GC_WEBHOOK_SECRET"); 

$raw_payload = file_get_contents('php://input'); 

$headers = getallheaders(); 
$provided_signature = $headers["Webhook-Signature"]; 

$calculated_signature = hash_hmac("sha256", $raw_payload, $token); 

if ($provided_signature == $calculated_signature) { 

} else { 

}; 

私はLaravel優しいコントローラ話すに上記変換しました。

public function hook(Request $request) 
    { 

     $token = env("GC_WEBHOOK_SECRET"); 

     $raw_payload = $request; 

     $provided_signature = $request->header('Webhook-Signature'); 
     $calculated_signature = hash_hmac("sha256", $raw_payload, $token); 

     if ($provided_signature == $calculated_signature) { 
      Log::info('It was a match!'); 
     } else { 
      Log::info('Something went wrong!'); 
     }; 


    } 

が、私は、$ provided_signatureが$ calculated_signatureに一致するように得ることができない、私はそれは私が私のenvファイルからトークンをハッシュだ道とは何かだ気持ちを持っています。

答えて

0

解決それはみんな、私が行うために必要なすべてが

$raw_payload = $request->getContent(); 

$raw_payload = $request; 

を交換しました

関連する問題