如何从其他Web服务捕获POST请求

enter image description here

I am using Block.io Web Hooks. It says that the notification service requires to communicate through POST requests. It also stated that all notification events will use the following JSON objects structure:

{ 
  "notification_id" : "...", // a unique identifier issued when you created the notification
  "delivery_attempt" : 1, // number of times we've tried deliverying this object
  "type" : "...", // the type of notification, helps you understand the data sent below
  "data" : {
    ... // the notification data
  },
  "created_at" : 1426104819 // timestamp of when we created this notification
}

I have provided my callback URL and I saw there is row inserted into my database but the value is blank. Yes I know that my code will insert blank but when I trigger the API it is also insert blank.

<?php
$post = '';

foreach($_POST as $k => $v){
    $post .= $k.'='.$v.'&';
}

// save data into database
?>

The webhook returns json and this will not be parsed to the $_POST array by PHP.

Instead, you need to get the string from:

file_get_contents('php://input')

This you can parse yourself. To get an array:

$array = json_decode(file_get_contents('php://input'), true);