paypal 接受webhook通知

hotfix/远程访问多媒体中心
lyt 7 years ago
parent 7a33f49a2c
commit 639add9ad0

@ -611,9 +611,71 @@ class Index extends CI_Controller {
return ;
}
/*!
* [paypal_webhook description]
* @author LYT <lyt@hainatravel.com>
* @date 2019-05-23
* PAYMENT.SALE.COMPLETED 没有付款人信息
* * resource.id=txn_id
* * invoice_number=invoice_number
*/
public function paypal_webhook()
{
log_message('error',"paypal_webhook" . var_export(file_get_contents('php://input'), 1));
$raw_post = file_get_contents('php://input');
if (empty($raw_post)) {
return;
}
$post_data = json_decode($raw_post);
if ($post_data->event_type != 'PAYMENT.SALE.COMPLETED') {
log_message('error',"paypal_webhook" . var_export(file_get_contents('php://input'), 1));
return;
}
$pn_txn_id = $post_data->resource->id;
$pn_invoice = $post_data->resource->invoice_number;
$pn_mc_gross = $post_data->resource->amount->total;
// $pn_item_name = $this->input->post('item_name');
// if (empty($pn_item_name)) {
// $pn_item_name = $this->input->post('item_name1'); //APP用SDK支付的话会是item_name1
// empty($pn_item_name) ? $pn_item_name = '' : false;
// }
// $pn_item_number = $this->input->post('item_number');
// if (empty($pn_item_number)) {
// $pn_item_number = $this->input->post('item_number1'); //APP用SDK支付的话会是item_number1
// empty($pn_item_number) ? $pn_item_number = '' : false;
// }
$pn_mc_currency = $post_data->resource->amount->currency;
$pn_payment_status = $post_data->resource->state;
$pn_payment_date = $post_data->resource->update_time;
// $pn_payer = $post_data->resource->amount->currency;
// $pn_payer_email = $post_data->resource->amount->currency;
$pn_memo = $raw_post;
if (!empty($pn_txn_id)) {
//把PDT时间转成GMT时间
// $pn_payment_date = gmdate('Y-m-d H:i:s', strtotime($pn_payment_date));
$this->Note_model->save_paypal_note(
$pn_txn_id,
$pn_invoice,
"",
$pn_mc_gross,
"",
"",
$pn_mc_currency,
$pn_payment_status,
"",
"",
$pn_payment_date,
$pn_memo);
log_message('error','paypal-webhook-succeed ' . $pn_txn_id . ' # ' . $pn_invoice);
// echo 'ok';
} else {
// echo 'no';
}
return;
}
//解析出订单号

Loading…
Cancel
Save