PROBLEM SOLVED!
If you use stripe and want to write code that gets called upon a payment. The woocommerce stripe plugin has a whole other action hook sdk.
You can find the link to the calls here:
https://docs.woocommerce.com/document/stripe/#section-13
The one that works best, but different from the standard woocommerce hooks is
"wc_gateway_stripe_process_response ($stripe_response, $order)"
You will need to check the $stripe-response variable which is assigned one of the following string values:'succeeded', 'failed', 'pending', and 'on-hold'
This is the code I wrote and it works remarkably well.
function ProcessStripePayment($stripe_response, $order)
{
switch($stripe_response->status)
{
case 'succeeded';
DebugLog('wc_gateway_stripe_process_payment HOOK FIRED succeeded');
break;
case 'failed';
DebugLog('wc_gateway_stripe_process_payment HOOK FIRED - failed');
break;
case 'pending';
DebugLog('wc_gateway_stripe_process_payment HOOK FIRED - pending');
break;
case 'on-hold';
DebugLog('wc_gateway_stripe_process_payment HOOK FIRED - on-hold');
break;
}
}
The other rather LARGE gotcha, is, as of now, this does not work in a plugin. You have to put it in function.php OR I used a plugin called snippets. That does the job.
The rest of the code you need to write is a off-take of the class structure.
$order = new WC_Order( $order_id );
Pretty straight forward until you get to Meta_data, which is used by the woocommerce checkout fields. For that this works:
foreach($MetaData as $SubRow)
{
switch($SubRow->key)
{
case 'Your Custom Field Name':
break;
} // switch($SubRow->key)
DebugLog($SubRow->key);
DebugLog($SubRow->value);
} // foreach($MetaData as $SubRow)