2016-11-18 7 views
1

私はyii FrameWorkにちょっと新しくて、助けが必要です。yii2 Webhook post empty

Stripeから送信されたサブスクリプションイベントに使用されるストライプwebhookコントローラを実装する必要があります。 このコントローラには、表示もモデルもありません。

コントローラにアクセスできますが、$ _POSTの内容は空で、理由がわかりません。

ポスト動詞を表示せずに使用することはできますか?

はここに例を示します

class StripeWebhookController extends Controller 
{ 
    public function beforeAction($action) 
    { 
     if ($action->id == 'index') { 
      $this->enableCsrfValidation = false; 
     } 

     return parent::beforeAction($action); 
    } 

public function actionIndex() 
{ 
    header('Content-Type: text/html; charset=utf-8'); 

    StripeLoader::autoload(); 
    \Stripe\Stripe::setApiKey(Settings::get("stripe_secret_key")); 
     // retrieve the request's body and parse it as JSON 
     $input = file_get_contents('php://input'); // -> here $input is null 

     $event_json = json_decode($input, true); 

    //  Do the work... 
} 

私は

print_r(Yii::$app->request->post() /*$_POST*/); exit(); 

を使用し、私は空の配列を得ました。いずれかのアイデアを持っている場合

私は何も見つからなかった検索の日後...

、私は喜んでそれを取るでしょう

Additionnal情報:我々はYii2フレームワークを使用して、IIS Webサーバー上で実行されていますYii::$app->request->post()はその後、要求がデータをPOSTしていない空の場合は私に CYA

答えて

0

を読み取るための

感謝。 beforeActionでリクエストを取得し、全体をダンプします。それはあなたのマシンが受け取っているものになります。空の場合、マシンは要求と共に送信されているデータを受信して​​いません。

+0

私はあなたが尋ねたことを試しました。これは外出先です: Array() コントローラは何も受信していないと思います。 別のテストを作成しました: ($ _SERVER ['REQUEST_METHOD'] 私は混乱してしまいました –

+0

これは、サーバが空のリクエストを受け取っていることを示しています; _POSTは本当に空です。 –

+0

あなたは、IISがそのコントローラ上のPOST動詞だけを拒否すると思うでしょうか? –