Plugin Directory

Changeset 3473833


Ignore:
Timestamp:
03/03/2026 04:11:15 PM (4 weeks ago)
Author:
awinglobal
Message:

Updated to 2.0.6

Location:
awin-advertiser-tracking/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • awin-advertiser-tracking/trunk/awin-advertiser-tracking.php

    r3380023 r3473833  
    589589        function approve_orders_daily()
    590590        {
     591            error_log('AWIN: approve_orders_daily invoked');
     592
    591593            $options       = get_option(AWIN_SETTINGS_KEY);
     594
     595            // replace value below with 0 for local testing without waiting
    592596            $approval_days = isset($options['awin_approval_days']) ? (int) $options['awin_approval_days'] : 30;
    593597
     
    595599            $threshold_date = date('Y-m-d', strtotime('-' . $approval_days . ' days'));
    596600
     601            $lookback_date = date('Y-m-d', strtotime($threshold_date . ' - ' . ($approval_days < 30 ? 30 : $approval_days ). ' days'));
     602
    597603            $args = [
    598                 'status'        => 'completed',
    599                 'type'          => 'shop_order',
    600                 'date_modified' => '>=' . $threshold_date,
    601                 'limit'         => -1,
     604                'status'     => 'completed',
     605                'type'       => 'shop_order',
     606                'date_completed' =>  $lookback_date . "..." . $threshold_date ,
     607                'limit'      => -1,
     608                'meta_query' => [
     609                    [
     610                        'key'     => '_awin_sent_completed',
     611                        'compare' => 'NOT EXISTS',
     612                    ],
     613                ],
    602614            ];
    603615
    604616            $orders = wc_get_orders($args);
    605617
     618            error_log('AWIN API: approve_orders_daily found ' . count($orders) . ' orders, searching between ' . $lookback_date . " and " . $threshold_date);
     619
    606620            foreach ($orders as $order) {
    607                 $job_id              = get_post_meta($order->get_id(), '_awin_job_id', true);
    608621                $awin_sent_completed = get_post_meta($order->get_id(), '_awin_sent_completed', true);
    609622
    610623                if (! empty($awin_sent_completed)) {
    611624                    continue; // Skip this iteration and move to the next order
     625                }
     626
     627                if($order->get_total_refunded() > 0) {
     628                    continue; // Skip this iteration the order was amended before
    612629                }
    613630
     
    640657
    641658                if (is_wp_error($response)) {
    642                     error_log('AWIN API: Failed to send approval request for order ' . $order->get_id());
     659                    error_log('AWIN API ERROR: Failed to send request for order ' . $order->get_id() . " -- " . $response->get_error_message());
    643660                } else {
    644661                    $response_body = json_decode(wp_remote_retrieve_body($response), true);
     
    647664                        update_post_meta($order->get_id(), '_awin_job_id', sanitize_text_field($response_body['jobId']));
    648665                        update_post_meta($order->get_id(), '_awin_sent_completed', true);
     666                    } else {
     667                        error_log('AWIN API: Approval Request successful but no Job ID returned for order ' . $order->get_id() . " -- " . json_encode($response_body));
    649668                    }
    650669                }
     
    688707        {
    689708            if (! wp_next_scheduled('awin_approve_orders_cron_hook')) {
    690                 wp_schedule_event(strtotime('00:00:00'), 'daily', 'awin_approve_orders_cron_hook');
     709                wp_schedule_event(strtotime('00:00:00'), 'daily', 'awin_approve_orders_cron_hook');               
    691710            }
    692711        }
     
    960979            // Handle API response
    961980            if (is_wp_error($response)) {
    962                 error_log('AWIN API: Failed to send request for order ' . $order_id);
     981                error_log('AWIN API ERROR: Failed to send request for order ' . $order_id . " -- " . $response->get_error_message());
    963982            } else {
    964983                $response_body = json_decode(wp_remote_retrieve_body($response), true);
     
    967986                    update_post_meta($order_id, '_awin_job_id', sanitize_text_field($response_body['jobId']));
    968987                } else {
    969                     error_log('AWIN API: Request successful but no Job ID returned for order ' . $order_id);
     988                    error_log('AWIN API ERROR: Decline Request successful but no Job ID returned for order ' . $order_id . " -- " . json_encode($response_body));
    970989                }
    971990            }
     
    9861005
    9871006            if (empty($advertiserId) || empty($bearer_token)) {
    988                 error_log('Advertiser ID or Bearer token is missing.');
     1007                error_log('AWIN WARNING:Advertiser ID or Bearer token is missing.');
    9891008                return;
    9901009            }
     
    10231042            // Handle the response from the API (logging, error checking, etc.)
    10241043            if (is_wp_error($response)) {
    1025                 $error_message = $response->get_error_message();
     1044                error_log('AWIN API ERROR: Failed to send request for order ' . $order_id . " -- " . $response->get_error_message());
    10261045            } else {
    10271046                $response_body = json_decode(wp_remote_retrieve_body($response), true);
     
    10291048                if (isset($response_body['jobId'])) {
    10301049                    update_post_meta($order->get_id(), '_awin_job_id', sanitize_text_field($response_body['jobId']));
    1031                 }
    1032             }
    1033         }
    1034 
     1050                } else {
     1051                    error_log('AWIN API ERROR: Amend Request successful but no Job ID returned for order ' . $order_id . " -- " . json_encode($response_body));
     1052                }
     1053            }
     1054        }
    10351055}
  • awin-advertiser-tracking/trunk/readme.txt

    r3380027 r3473833  
    99Requires at least: 3.5
    1010Tested up to:      6.8.2
    11 Stable tag:        2.0.5
    12 Version:           2.0.5
     11Stable tag:        2.0.6
     12Version:           2.0.6
    1313Requires PHP:      7.3
    1414
     
    5050
    5151== Changelog ==
     52
     53= 2.0.6 =
     54* Fixed and improved the order query used for Awin validation
    5255
    5356= 2.0.5 =
Note: See TracChangeset for help on using the changeset viewer.