如何在PHP中使用Webhook
我和Paymill一起工作,作为我的支付提供商,我被网络钩子卡住了 目前我通过电子邮件收到了webhook,如下所示,但我想在页面中找到它,并将其发布到我的数据库中。我知道如何做这一点,但我不确定我如何拿起拿起个别职位如何在PHP中使用Webhook,php,post,webhooks,Php,Post,Webhooks,我和Paymill一起工作,作为我的支付提供商,我被网络钩子卡住了 目前我通过电子邮件收到了webhook,如下所示,但我想在页面中找到它,并将其发布到我的数据库中。我知道如何做这一点,但我不确定我如何拿起拿起个别职位 { "event_type":"transaction.created", "event_resource":{ "id":"tran_9x2x8xex5x7xexex0x8x9xexexbx", "amount":"9980",
{
"event_type":"transaction.created",
"event_resource":{
"id":"tran_9x2x8xex5x7xexex0x8x9xexexbx",
"amount":"9980",
"origin_amount":9980,
"status":"open",
"description":"9xax1x7x5x8x2xaxaxcx4x5xfx8x2x2x",
"livemode":true,
"refunds":null,
"currency":"GBP",
"created_at":1375307922,
"updated_at":1375307922,
"response_code":10001,
"short_id":null,
"is_fraud":false,
"invoices":[
],
"app_id":null,
"fees":[
],
"payment":{
"id":"pay_7xdxex9xfxcx6x3x9x5x7xcx",
"type":"creditcard",
"client":"client_2x2xex0x2x4xx3bx3x6x",
"card_type":"mastercard",
"country":null,
"expire_month":"10",
"expire_year":"2015",
"card_holder":"XXX XXXXXX",
"last4":"8XX8",
"created_at":1375307921,
"updated_at":1375307922,
"app_id":null
},
"client":{
"id":"client_2x2xex0x2x4xfx3x3x6x",
"email":null,
"description":null,
"created_at":1375307922,
"updated_at":1375307922,
"app_id":null,
"payment":[
],
"subscription":null
},
"preauthorization":null
},
"created_at":1375307922,
"app_id":null
}
那么,如何使用php提取事件资源id呢
通常情况下,我只需要执行看起来像JSON对象的
,所以使用JSON\u decode()
将其转换为一个漂亮的PHP对象
$reply = json_decode( $data_from_hook );
示例代码:
<?php
$t = '{
"event_type":"transaction.created",
"event_resource":{
"id":"tran_9x2x8xex5x7xexex0x8x9xexexbx",
"amount":"9980",
"origin_amount":9980,
"status":"open",
"description":"9xax1x7x5x8x2xaxaxcx4x5xfx8x2x2x",
"livemode":true,
"refunds":null,
"currency":"GBP",
"created_at":1375307922,
"updated_at":1375307922,
"response_code":10001,
"short_id":null,
"is_fraud":false,
"invoices":[
],
"app_id":null,
"fees":[
],
"payment":{
"id":"pay_7xdxex9xfxcx6x3x9x5x7xcx",
"type":"creditcard",
"client":"client_2x2xex0x2x4xx3bx3x6x",
"card_type":"mastercard",
"country":null,
"expire_month":"10",
"expire_year":"2015",
"card_holder":"XXX XXXXXX",
"last4":"8XX8",
"created_at":1375307921,
"updated_at":1375307922,
"app_id":null
},
"client":{
"id":"client_2x2xex0x2x4xfx3x3x6x",
"email":null,
"description":null,
"created_at":1375307922,
"updated_at":1375307922,
"app_id":null,
"payment":[
],
"subscription":null
},
"preauthorization":null
},
"created_at":1375307922,
"app_id":null
}';
echo PHP_EOL;
$u = json_decode($t);
print_r( $u );
echo 'Event Rosource ID = ' . $u->event_resource->id;
这将为您提供json:
$body = @file_get_contents('php://input');
$json = json_decode($body, true);
$body = @file_get_contents('php://input');
$json = json_decode($body, true);