<?php
    http_response_code(200);
    
date_default_timezone_set('America/Denver');
        require_once 'test_utility_stripe_database2026.php';
    require_once "KLogger.php";
    
    $dbObject = new MySQLDB;
    $myLogger = new KLogger(STRIPE_LOG_FILE_CUSTOMER, KLogger::DEBUG);
    require_once STRIPE_INIT_LOCATION;

        
\Stripe\Stripe::setApiKey(STRIPE_SECRET_KEY);

$handled=false;
// Retrieve the request's body and parse it as JSON
$body = @file_get_contents('php://input');
$event_json = json_decode($body);

$myLogger->logDebug("  event : ".$event_json->type);    
//$myLogger->logDebug(" event : ".print_r($event_json,true));    

if ($event_json->type=='customer.created') {
    $handled=true;
    $StripeCustomerID = $event_json->data->object->id;
    
    $MemberID = $dbObject->getMemberIDFromStripeID($StripeCustomerID);
    if (isset($MemberID)) {
        $dbObject->logUserEvent("Created Stripe Customer account, ".$StripeCustomerID, $MemberID);
    }
    $myLogger->logDebug("  event : ".$event_json->type.", customerID: ".$StripeCustomerID);    
}
if ($event_json->type=='customer.deleted') {
    $handled=true;
    $StripeCustomerID = $event_json->data->object->id;
    
    $MemberID = $dbObject->getMemberIDFromStripeID($StripeCustomerID);
    if (isset($MemberID)) {
        $myLogger->logDebug("found MemberID ID (".$MemberID.") for ".$event_json->type.", customerID: ".$StripeCustomerID);    
        $dbObject->logUserEvent("deleted Stripe Customer account, ".$StripeCustomerID, $MemberID);
    }
    $myLogger->logDebug("  event : ".$event_json->type.", customerID: ".$StripeCustomerID);    
}

if ($event_json->type=='customer.updated') {
    $handled=true;
    $StripeCustomerID = $event_json->data->object->id;

    $MemberID = $dbObject->getMemberIDFromStripeID($StripeCustomerID);
    if (isset($MemberID)) {
        $dbObject->logUserEvent("Updated Stripe Customer account, ".$StripeCustomerID, $MemberID);
    }
    $myLogger->logDebug("  event : ".$event_json->type.", customerID: ".$StripeCustomerID);    
    
}




if ($handled == false) {
    $myLogger->logDebug("  unhandled EVENT CONTENTS: ".print_r($event_json, true));
}


?>
