2017-06-21 72 views
2

私は、特定のURLに送信するwebhooksを持つサードパーティのWebサイトを持っています。PHP受信Webhook処理

webhook.phpにvar_dumpが設定されています。このファイルには、投稿内の情報が表示されるはずです。または、私はサイトの空白のページに送信するように設定しました(例:www.mysite.com/webhook.php)。私はwebhooksには新しいし、彼らはどのように動作するか分からないかもしれません。私はvar_dump($_POST)私のPHPファイルに私のサイトに来ているHTTPリクエストの配列を表示することができますと仮定します。

私はテストデータを送信した後、フックから私のサイトの要求を見ることができません..任意のアイデア?ここ

+1

webhookを実行しているサイトに 'var_dump()'が返されます。代わりに、 '$ _POST'(および/または' $ _GET')の内容をファイルに書き込んで、後で何が入って来るのかを見ることができます。 – rickdenhaan

答えて

2

I Webhookをテストするためにこれを行います。

<?php 
$fWrite = fopen("log.txt","a"); 
$wrote = fwrite($fWrite, var_dump($_POST)); 
fclose($fWrite); 
?> 

としてrickdenhaanがあなたの現在のwebhook.php戻りデータはウェブフックはなく、あなたのビューに、36分前に言ったので、これは、log.txtファイル内のvar_dumpデータを返します。

ディレクトリ(755)上の権利を持っていない場合、私は現在、ウェブフックを使用して、支払いAPIで働いている

手動log.txtを作成する必要があります。 WebhookはX urlにデータを送信し、アクションを実行してWebhookにコードを返します。

if ($payment->isPaid() == TRUE) 
{ 
    /* 
    * At this point you'd probably want to start the process of delivering the product to the customer. 
    */ 
    $con->query("UPDATE orders SET bankno = '$bankno', status = 'paid' WHERE ordertr = '$ids'"); 


} 
elseif ($payment->isOpen() == FALSE) 
{ 
    /* 
    * The payment isn't paid and isn't open anymore. We can assume it was aborted. 
    */ 
    $con->query("UPDATE orders SET bankno = '$bankno', status = 'closed' WHERE ordertr = '$ids'"); 

} 

ように閉じをマークしていない場合は、データベースに支払われた順にマークを支払った場合:そうwebhook.phpは私の注文がispaidかどう私がやったことをここに...続行するかではない場所です。これはwebhookの使い方を示しています。ウェブフックデータの送信内容に応じてアクションを実行する。

+1

私はテストするために上記のコードを追加しようとしましたが、私は空の配列を取得しています。$ _POSTに置くことはできないでしょうか?私はテストするために同じwebhookとrequestb.inを使用して、それはそこに上品に表示されます。 –

+0

API/webhookのURLを私に送信できますか? – btc4cash

+0

送信するデータは何ですか? – btc4cash

0

は、私は私のアプリに送信されたコンテンツを取得する方法である:

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

よく私のコンテンツエンコードJSONですが、私はこれは大丈夫だと思う:

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

関連する問題