<?php
// payment-notification.php

error_reporting(E_ALL);
ini_set('display_errors', 1);

// Log initial script access
error_log('payment-notification.php accessed');

// Log POST data
error_log('POST Data: ' . print_r($_POST, true));

// Test if the script is accessed and data is received
echo "payment-notification.php accessed.";

// Check POST data
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    echo "<pre>";
        print_r($_POST);
    echo "</pre>";
} else {
    echo "No POST data received.";
}

require_once($_SERVER['DOCUMENT_ROOT'].'/ike/wp-load.php');

// Handle PayPal IPN
if ($_POST['payment_status'] == 'paid') {
    $booking_data = json_decode(stripslashes($_POST['custom']), true);
    save_booking_data($booking_data);
}

// Handle Stripe Webhook
$input = @file_get_contents("php://input");
$event_json = json_decode($input);
if ($event_json->type == 'checkout.session.completed') {
    $booking_data = $event_json->data->object->metadata->booking_data;
    save_booking_data(json_decode($booking_data, true));
}

function save_booking_data($data) {
    global $wpdb;

    $table_name = $wpdb->prefix . 'lbb_bookings';
    
    $user_id    = sanitize_text_field($_POST['user_id']);
    $guest_name = sanitize_text_field($_POST['full-name']);
    $email      = sanitize_email($_POST['email']);
    $phone      = sanitize_text_field($_POST['phone']);
    $address    = sanitize_text_field($_POST['address']);
    $zip_code   = sanitize_text_field($_POST['zip-code']);
    $city       = sanitize_text_field($_POST['city']);
    $country    = sanitize_text_field($_POST['country']);
    $subscribe  = isset($_POST['subscribe']) ? 1 : 0;
    $payment_method = sanitize_text_field($_POST['paymentMethod']);
    $check_in_date  = sanitize_text_field($_POST['check_in']);
    $check_out_date = sanitize_text_field($_POST['check_out']);
    $property_id    = sanitize_text_field($_POST['lbb_p_id']);

    $wpdb->insert(
        $table_name,
        array(
            'lbb_property_id' => $property_id,
            'guest_name'      => $guest_name,
            'email'           => $email,
            'phone'           => $phone,
            'address'         => $address,
            'zip_code'        => $zip_code,
            'city'            => $city,
            'country'         => $country,
            'subscribe'       => $subscribe,
            'payment_method'  => $payment_method,
            'check_in_date'   => $check_in_date,
            'check_out_date'  => $check_out_date,
        )
    );

    wp_redirect(home_url('/thank-you/'));
    exit;
}
?>