关于如何在我的PHP文件中捕获此webhooks响应,我完全空白。 我想获取状态并将其存储在数据库中。
{
"id": "WH-COC11055RA711503B-4YM959094A144403T",
"create_time": "2018-04-16T21:21:49.000Z",
"resource_type": "checkout-order",
"event_type": "CHECKOUT.ORDER.COMPLETED",
"summary": "Checkout Order Completed",
"resource": {
"update_time": "2018-04-01T21:20:49Z",
"create_time": "2018-04-01T21:18:49Z",
"purchase_units": [
{
"reference_id": "d9f80740-38f0-11e8-b467-0ed5f89f718b",
"amount": {
"currency_code": "USD",
"value": "100.00"
},
"payee": {
"email_address": "seller@example.com"
},
"shipping": {
"method": "United States Postal Service",
"address": {
"address_line_1": "2211 N First Street",
"address_line_2": "Building 17",
"admin_area_2": "San Jose",
"admin_area_1": "CA",
"postal_code": "95131",
"country_code": "US"
}
},
"payments": {
"captures": [
{
"id": "3C679366HH908993F",
"status": "COMPLETED",
"amount": {
"currency_code": "USD",
"value": "100.00"
},
"seller_protection": {
"status": "ELIGIBLE",
"dispute_categories": [
"ITEM_NOT_RECEIVED",
"UNAUTHORIZED_TRANSACTION"
]
},
"final_capture": true,
"seller_receivable_breakdown": {
"gross_amount": {
"currency_code": "USD",
"value": "100.00"
},
"paypal_fee": {
"currency_code": "USD",
"value": "3.00"
},
"net_amount": {
"currency_code": "USD",
"value": "97.00"
}
},
"create_time": "2018-04-01T21:20:49Z",
"update_time": "2018-04-01T21:20:49Z",
"links": [
{
"href": "https://api.paypal.com/v2/payments/captures/3C679366HH908993F",
"rel": "self",
"method": "GET"
},
{
"href": "https://api.paypal.com/v2/payments/captures/3C679366HH908993F/refund",
"rel": "refund",
"method": "POST"
}
]
}
]
}
}
],
"links": [
{
"href": "https://api.paypal.com/v2/checkout/orders/5O190127TN364715T",
"rel": "self",
"method": "GET"
}
],
"id": "5O190127TN364715T",
"gross_amount": {
"currency_code": "USD",
"value": "100.00"
},
"intent": "CAPTURE",
"payer": {
"name": {
"given_name": "John",
"surname": "Doe"
},
"email_address": "buyer@example.com",
"payer_id": "QYR5Z8XDVJNXQ"
},
"status": "COMPLETED"
},
"links": [
{
"href": "https://api.sandbox.paypal.com/v1/notifications/webhooks-events/WH-COC11055RA711503B-4YM959094A144403T",
"rel": "self",
"method": "GET",
"encType": "application/json"
},
{
"href": "https://api.sandbox.paypal.com/v1/notifications/webhooks-events/WH-COC11055RA711503B-4YM959094A144403T/resend",
"rel": "resend",
"method": "POST",
"encType": "application/json"
}
],
"event_version": "1.0",
"zts": 1494957670,
"resource_version": "2.0"
}
这是我到目前为止尝试过的。 已经创建了一个webhook.php文件,我要在其中捕获状态并将其存储在数据库中
`//1st method using json.
$json = file_get_contents('https://mywebsite/webhook.php');
$obj = json_decode($json);
echo $obj->status;
$data = $obj;
//2nd method using CURL
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL, 'https://mywebsite/webhook.php');
$result = curl_exec($ch);
curl_close($ch);
$obj = json_decode($result);
echo $obj->status;
$data = $obj;
//query to insert into my database
$sql8 = "INSERT INTO webhooks(`Status`) values('$data')";
mysqli_query($db, $sql8);`
对不起,我是PHP和JSON响应的新手。因此,如果这对您来说很幼稚,请原谅。谢谢