ПРОБЛЕМА РЕШЕНА! Если вы используете stripe и хотите написать код, который вызывается при оплате.У плагина полосы woocommerce есть целый другой хук действия sdk.
Ссылку на вызовы можно найти здесь: https://docs.woocommerce.com/document/stripe/#section-13
Тот, который работает лучше, но отличается от стандартных хуков woocommerceis "wc_gateway_stripe_process_response ($ stripe_response, $ order)" *
Вам нужно будет проверить переменную $ stripe-response, которой назначено одно из следующих строковых значений: 'successeded', 'failed', 'pending',и 'on-hold'
Это код, который я написал, и он работает на удивление хорошо.
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;
}
}
Другая довольно БОЛЬШАЯ ошибка, на данный момент это не работает вплагин.Вы должны поместить его в function.php ИЛИ Я использовал плагин под названием snippets.Это делает работу.
Оставшаяся часть кода, который вам нужно написать, является частью структуры класса.
$order = new WC_Order( $order_id );
Довольно просто, пока вы не доберетесь до Meta_data, которыйИспользуется в полях оформления woocommerce.Для этого это работает:
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)