Plugin Directory

Changeset 3411835


Ignore:
Timestamp:
12/05/2025 07:43:09 AM (8 weeks ago)
Author:
convertkit
Message:

Update to version 2.0.3 from GitHub

Location:
convertkit-for-woocommerce
Files:
12 edited
1 copied

Legend:

Unmodified
Added
Removed
  • convertkit-for-woocommerce/tags/2.0.3/includes/class-ckwc-integration.php

    r3408882 r3411835  
    8787        $this->init_settings();
    8888
    89         // Update Access Token when refreshed by the API class.
    90         add_action( 'convertkit_api_get_access_token', array( $this, 'update_credentials' ), 10, 2 );
    91         add_action( 'convertkit_api_refresh_token', array( $this, 'update_credentials' ), 10, 2 );
    92 
    93         // Delete credentials if the API class uses a invalid access token.
    94         // This prevents the Plugin making repetitive API requests that will 401.
    95         add_action( 'convertkit_api_access_token_invalid', array( $this, 'maybe_delete_credentials' ), 10, 2 );
    96 
    9789        // Load Admin screens, save settings.
    9890        if ( is_admin() ) {
     
    122114     * @since   1.8.0
    123115     *
    124      * @param   array  $result      New Access Token, Refresh Token and Expiry.
    125      * @param   string $client_id   OAuth Client ID used for the Access and Refresh Tokens.
    126      */
    127     public function update_credentials( $result, $client_id ) {
    128 
    129         // Don't save these credentials if they're not for this Client ID.
    130         // They're for another Kit Plugin that uses OAuth.
    131         if ( $client_id !== CKWC_OAUTH_CLIENT_ID ) {
    132             return;
    133         }
     116     * @param   array $result      New Access Token, Refresh Token and Expiry.
     117     */
     118    public function update_credentials( $result ) {
    134119
    135120        // Remove any existing persistent notice.
     
    146131        // Schedule a WordPress Cron event to refresh the token on expiry.
    147132        wp_schedule_single_event( ( time() + $result['expires_in'] ), 'ckwc_refresh_token' );
    148 
    149     }
    150 
    151     /**
    152      * Deletes the stored access token, refresh token and its expiry from the Plugin settings,
    153      * and clears any existing scheduled WordPress Cron event to refresh the token on expiry,
    154      * when either:
    155      * - The access token is invalid
    156      * - The access token expired, and refreshing failed
    157      *
    158      * @since   2.0.2
    159      *
    160      * @param   WP_Error $result      Error result.
    161      * @param   string   $client_id   OAuth Client ID used for the Access and Refresh Tokens.
    162      */
    163     public function maybe_delete_credentials( $result, $client_id ) {
    164 
    165         // Don't save these credentials if they're not for this Client ID.
    166         // They're for another Kit Plugin that uses OAuth.
    167         if ( $client_id !== CKWC_OAUTH_CLIENT_ID ) {
    168             return;
    169         }
    170 
    171         // Persist an error notice in the WordPress Administration until the user fixes the problem.
    172         WP_CKWC()->get_class( 'admin_notices' )->add( 'authorization_failed' );
    173 
    174         // Delete the credentials from the Plugin settings.
    175         $this->delete_credentials();
    176133
    177134    }
  • convertkit-for-woocommerce/tags/2.0.3/includes/class-ckwc-resource.php

    r3112082 r3411835  
    3333        }
    3434
    35         // Call parent initialization function.
    36         parent::init();
     35        // Get last query time and existing resources.
     36        $this->last_queried = get_option( $this->settings_name . '_last_queried' );
     37        $this->resources    = get_option( $this->settings_name );
     38
     39    }
     40
     41    /**
     42     * Fetches resources (custom fields, forms, sequences or tags) from the API, storing them in the options table
     43     * with a last queried timestamp.
     44     *
     45     * If the refresh results in a 401, removes the access and refresh tokens from the settings.
     46     *
     47     * @since   2.0.3
     48     *
     49     * @return  WP_Error|array
     50     */
     51    public function refresh() {
     52
     53        // Call parent refresh method.
     54        $result = parent::refresh();
     55
     56        // If an error occured, maybe delete credentials from the Plugin's settings
     57        // if the error is a 401 unauthorized.
     58        if ( is_wp_error( $result ) ) {
     59            ckwc_maybe_delete_credentials( $result, CKWC_OAUTH_CLIENT_ID );
     60        }
     61
     62        return $result;
    3763
    3864    }
  • convertkit-for-woocommerce/tags/2.0.3/includes/functions.php

    r3112082 r3411835  
    5353
    5454}
     55
     56/**
     57 * Saves the new access token, refresh token and its expiry, and schedules
     58 * a WordPress Cron event to refresh the token on expiry.
     59 *
     60 * @since   2.0.3
     61 *
     62 * @param   array  $result      New Access Token, Refresh Token and Expiry.
     63 * @param   string $client_id   OAuth Client ID used for the Access and Refresh Tokens.
     64 */
     65function ckwc_maybe_update_credentials( $result, $client_id ) {
     66
     67    // Don't save these credentials if they're not for this Client ID.
     68    // They're for another Kit Plugin that uses OAuth.
     69    if ( $client_id !== CKWC_OAUTH_CLIENT_ID ) {
     70        return;
     71    }
     72
     73    // Bail if the integration is unavailable.
     74    if ( ! function_exists( 'WP_CKWC_Integration' ) ) {
     75        return;
     76    }
     77
     78    WP_CKWC_Integration()->update_credentials( $result );
     79
     80}
     81
     82/**
     83 * Deletes the stored access token, refresh token and its expiry from the Plugin settings,
     84 * and clears any existing scheduled WordPress Cron event to refresh the token on expiry,
     85 * when either:
     86 * - The access token is invalid
     87 * - The access token expired, and refreshing failed
     88 *
     89 * @since   2.0.3
     90 *
     91 * @param   WP_Error $result      Error result.
     92 * @param   string   $client_id   OAuth Client ID used for the Access and Refresh Tokens.
     93 */
     94function ckwc_maybe_delete_credentials( $result, $client_id ) {
     95
     96    // Don't save these credentials if they're not for this Client ID.
     97    // They're for another Kit Plugin that uses OAuth.
     98    if ( $client_id !== CKWC_OAUTH_CLIENT_ID ) {
     99        return;
     100    }
     101
     102    // Bail if the integration is unavailable.
     103    if ( ! function_exists( 'WP_CKWC_Integration' ) ) {
     104        return;
     105    }
     106
     107    // If the error isn't a 401, don't delete credentials.
     108    // This could be e.g. a temporary network error, rate limit or similar.
     109    if ( $result->get_error_data( 'convertkit_api_error' ) !== 401 ) {
     110        return;
     111    }
     112
     113    // Persist an error notice in the WordPress Administration until the user fixes the problem.
     114    WP_CKWC()->get_class( 'admin_notices' )->add( 'authorization_failed' );
     115
     116    WP_CKWC_Integration()->delete_credentials();
     117
     118}
     119
     120// Update Access Token when refreshed by the API class.
     121add_action( 'convertkit_api_get_access_token', 'ckwc_maybe_update_credentials', 10, 2 );
     122add_action( 'convertkit_api_refresh_token', 'ckwc_maybe_update_credentials', 10, 2 );
     123
     124// Delete credentials if the API class uses a invalid access token.
     125// This prevents the Plugin making repetitive API requests that will 401.
     126add_action( 'convertkit_api_access_token_invalid', 'ckwc_maybe_delete_credentials', 10, 2 );
  • convertkit-for-woocommerce/tags/2.0.3/languages/woocommerce-convertkit.pot

    r3408882 r3411835  
    33msgid ""
    44msgstr ""
    5 "Project-Id-Version: Kit (formerly ConvertKit) for WooCommerce 2.0.2\n"
     5"Project-Id-Version: Kit (formerly ConvertKit) for WooCommerce 2.0.3\n"
    66"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/convertkit-woocommerce\n"
    77"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
     
    1010"Content-Type: text/plain; charset=UTF-8\n"
    1111"Content-Transfer-Encoding: 8bit\n"
    12 "POT-Creation-Date: 2025-12-03T01:33:06+00:00\n"
     12"POT-Creation-Date: 2025-12-05T02:22:25+00:00\n"
    1313"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
    1414"X-Generator: WP-CLI 2.12.0\n"
     
    234234msgstr ""
    235235
    236 #: includes/class-ckwc-integration.php:363
     236#: includes/class-ckwc-integration.php:320
    237237msgid "The uploaded configuration file isn't valid."
    238238msgstr ""
    239239
    240 #: includes/class-ckwc-integration.php:372
     240#: includes/class-ckwc-integration.php:329
    241241msgid "The uploaded configuration file contains no settings."
    242242msgstr ""
    243243
    244 #: includes/class-ckwc-integration.php:389
     244#: includes/class-ckwc-integration.php:346
    245245msgid "Configuration imported successfully."
    246246msgstr ""
    247247
     248#: includes/class-ckwc-integration.php:461
     249msgid "Account Name"
     250msgstr ""
     251
     252#: includes/class-ckwc-integration.php:463
     253msgid "Disconnect"
     254msgstr ""
     255
     256#: includes/class-ckwc-integration.php:480
     257msgid "Enable/Disable"
     258msgstr ""
     259
     260#: includes/class-ckwc-integration.php:482
     261msgid "Enable Kit integration"
     262msgstr ""
     263
     264#: includes/class-ckwc-integration.php:488
     265msgid "Subscribe Event"
     266msgstr ""
     267
     268#: includes/class-ckwc-integration.php:494
     269msgid "When should customers be subscribed?"
     270msgstr ""
     271
     272#: includes/class-ckwc-integration.php:498
     273msgid "Pending payment:"
     274msgstr ""
     275
     276#: includes/class-ckwc-integration.php:499
     277msgid "WooCommerce order created, payment not received."
     278msgstr ""
     279
    248280#: includes/class-ckwc-integration.php:504
    249 msgid "Account Name"
    250 msgstr ""
    251 
    252 #: includes/class-ckwc-integration.php:506
    253 msgid "Disconnect"
    254 msgstr ""
    255 
    256 #: includes/class-ckwc-integration.php:523
    257 msgid "Enable/Disable"
    258 msgstr ""
    259 
    260 #: includes/class-ckwc-integration.php:525
    261 msgid "Enable Kit integration"
    262 msgstr ""
    263 
    264 #: includes/class-ckwc-integration.php:531
    265 msgid "Subscribe Event"
    266 msgstr ""
    267 
    268 #: includes/class-ckwc-integration.php:537
    269 msgid "When should customers be subscribed?"
     281#: includes/class-ckwc-integration.php:716
     282msgid "Processing:"
     283msgstr ""
     284
     285#: includes/class-ckwc-integration.php:505
     286#: includes/class-ckwc-integration.php:717
     287msgid "WooCommerce order created, payment received, order awaiting fulfilment."
     288msgstr ""
     289
     290#: includes/class-ckwc-integration.php:510
     291#: includes/class-ckwc-integration.php:722
     292msgid "Completed:"
     293msgstr ""
     294
     295#: includes/class-ckwc-integration.php:511
     296#: includes/class-ckwc-integration.php:723
     297msgid "WooCommerce order created, payment received, order fulfiled."
     298msgstr ""
     299
     300#: includes/class-ckwc-integration.php:517
     301msgid "Order Pending payment"
     302msgstr ""
     303
     304#: includes/class-ckwc-integration.php:518
     305#: includes/class-ckwc-integration.php:729
     306msgid "Order Processing"
     307msgstr ""
     308
     309#: includes/class-ckwc-integration.php:519
     310#: includes/class-ckwc-integration.php:730
     311msgid "Order Completed"
     312msgstr ""
     313
     314#: includes/class-ckwc-integration.php:526
     315msgid "Subscription"
     316msgstr ""
     317
     318#: includes/class-ckwc-integration.php:529
     319msgid "The Kit form, tag or sequence to subscribe customers to."
     320msgstr ""
     321
     322#: includes/class-ckwc-integration.php:535
     323msgid "Name Format"
     324msgstr ""
     325
     326#: includes/class-ckwc-integration.php:538
     327msgid "How should the customer name be sent to Kit?"
    270328msgstr ""
    271329
    272330#: includes/class-ckwc-integration.php:541
    273 msgid "Pending payment:"
     331msgid "Billing First Name"
    274332msgstr ""
    275333
    276334#: includes/class-ckwc-integration.php:542
    277 msgid "WooCommerce order created, payment not received."
    278 msgstr ""
    279 
    280 #: includes/class-ckwc-integration.php:547
    281 #: includes/class-ckwc-integration.php:759
    282 msgid "Processing:"
    283 msgstr ""
    284 
    285 #: includes/class-ckwc-integration.php:548
    286 #: includes/class-ckwc-integration.php:760
    287 msgid "WooCommerce order created, payment received, order awaiting fulfilment."
    288 msgstr ""
    289 
    290 #: includes/class-ckwc-integration.php:553
    291 #: includes/class-ckwc-integration.php:765
    292 msgid "Completed:"
    293 msgstr ""
    294 
    295 #: includes/class-ckwc-integration.php:554
    296 #: includes/class-ckwc-integration.php:766
    297 msgid "WooCommerce order created, payment received, order fulfiled."
    298 msgstr ""
    299 
    300 #: includes/class-ckwc-integration.php:560
    301 msgid "Order Pending payment"
     335msgid "Billing Last Name"
     336msgstr ""
     337
     338#: includes/class-ckwc-integration.php:543
     339msgid "Billing First Name + Billing Last Name"
     340msgstr ""
     341
     342#: includes/class-ckwc-integration.php:552
     343msgid "Send Last Name"
     344msgstr ""
     345
     346#: includes/class-ckwc-integration.php:555
     347msgid "The Kit custom field to store the order's last name."
    302348msgstr ""
    303349
    304350#: includes/class-ckwc-integration.php:561
    305 #: includes/class-ckwc-integration.php:772
    306 msgid "Order Processing"
    307 msgstr ""
    308 
    309 #: includes/class-ckwc-integration.php:562
    310 #: includes/class-ckwc-integration.php:773
    311 msgid "Order Completed"
    312 msgstr ""
    313 
    314 #: includes/class-ckwc-integration.php:569
    315 msgid "Subscription"
    316 msgstr ""
    317 
    318 #: includes/class-ckwc-integration.php:572
    319 msgid "The Kit form, tag or sequence to subscribe customers to."
    320 msgstr ""
    321 
    322 #: includes/class-ckwc-integration.php:578
    323 msgid "Name Format"
    324 msgstr ""
    325 
    326 #: includes/class-ckwc-integration.php:581
    327 msgid "How should the customer name be sent to Kit?"
    328 msgstr ""
    329 
    330 #: includes/class-ckwc-integration.php:584
    331 msgid "Billing First Name"
    332 msgstr ""
    333 
    334 #: includes/class-ckwc-integration.php:585
    335 msgid "Billing Last Name"
    336 msgstr ""
    337 
    338 #: includes/class-ckwc-integration.php:586
    339 msgid "Billing First Name + Billing Last Name"
    340 msgstr ""
    341 
    342 #: includes/class-ckwc-integration.php:595
    343 msgid "Send Last Name"
    344 msgstr ""
    345 
    346 #: includes/class-ckwc-integration.php:598
    347 msgid "The Kit custom field to store the order's last name."
     351msgid "Send Phone Number"
     352msgstr ""
     353
     354#: includes/class-ckwc-integration.php:564
     355msgid "The Kit custom field to store the order's phone number."
     356msgstr ""
     357
     358#: includes/class-ckwc-integration.php:570
     359msgid "Send Billing Address"
     360msgstr ""
     361
     362#: includes/class-ckwc-integration.php:573
     363msgid "The Kit custom field to store the order's billing address."
     364msgstr ""
     365
     366#: includes/class-ckwc-integration.php:579
     367msgid "Send Shipping Address"
     368msgstr ""
     369
     370#: includes/class-ckwc-integration.php:582
     371msgid "The Kit custom field to store the order's shipping address."
     372msgstr ""
     373
     374#: includes/class-ckwc-integration.php:588
     375msgid "Address Format"
     376msgstr ""
     377
     378#: includes/class-ckwc-integration.php:599
     379msgid "The format of the billing and shipping addresses to store in Kit."
     380msgstr ""
     381
     382#: includes/class-ckwc-integration.php:602
     383msgid "Name"
     384msgstr ""
     385
     386#: includes/class-ckwc-integration.php:603
     387msgid "Company Name"
    348388msgstr ""
    349389
    350390#: includes/class-ckwc-integration.php:604
    351 msgid "Send Phone Number"
     391msgid "Address 1"
     392msgstr ""
     393
     394#: includes/class-ckwc-integration.php:605
     395msgid "Address 2"
     396msgstr ""
     397
     398#: includes/class-ckwc-integration.php:606
     399msgid "City"
    352400msgstr ""
    353401
    354402#: includes/class-ckwc-integration.php:607
    355 msgid "The Kit custom field to store the order's phone number."
    356 msgstr ""
    357 
    358 #: includes/class-ckwc-integration.php:613
    359 msgid "Send Billing Address"
     403msgid "State"
     404msgstr ""
     405
     406#: includes/class-ckwc-integration.php:608
     407msgid "Postcode"
     408msgstr ""
     409
     410#: includes/class-ckwc-integration.php:609
     411msgid "Country"
    360412msgstr ""
    361413
    362414#: includes/class-ckwc-integration.php:616
    363 msgid "The Kit custom field to store the order's billing address."
    364 msgstr ""
    365 
    366 #: includes/class-ckwc-integration.php:622
    367 msgid "Send Shipping Address"
     415msgid "Send Payment Method"
     416msgstr ""
     417
     418#: includes/class-ckwc-integration.php:619
     419msgid "The Kit custom field to store the order's payment method."
    368420msgstr ""
    369421
    370422#: includes/class-ckwc-integration.php:625
    371 msgid "The Kit custom field to store the order's shipping address."
    372 msgstr ""
    373 
    374 #: includes/class-ckwc-integration.php:631
    375 msgid "Address Format"
    376 msgstr ""
    377 
    378 #: includes/class-ckwc-integration.php:642
    379 msgid "The format of the billing and shipping addresses to store in Kit."
    380 msgstr ""
    381 
    382 #: includes/class-ckwc-integration.php:645
    383 msgid "Name"
    384 msgstr ""
    385 
    386 #: includes/class-ckwc-integration.php:646
    387 msgid "Company Name"
    388 msgstr ""
    389 
    390 #: includes/class-ckwc-integration.php:647
    391 msgid "Address 1"
    392 msgstr ""
    393 
    394 #: includes/class-ckwc-integration.php:648
    395 msgid "Address 2"
    396 msgstr ""
    397 
    398 #: includes/class-ckwc-integration.php:649
    399 msgid "City"
    400 msgstr ""
    401 
    402 #: includes/class-ckwc-integration.php:650
    403 msgid "State"
    404 msgstr ""
    405 
    406 #: includes/class-ckwc-integration.php:651
    407 msgid "Postcode"
    408 msgstr ""
    409 
    410 #: includes/class-ckwc-integration.php:652
    411 msgid "Country"
    412 msgstr ""
    413 
    414 #: includes/class-ckwc-integration.php:659
    415 msgid "Send Payment Method"
    416 msgstr ""
    417 
    418 #: includes/class-ckwc-integration.php:662
    419 msgid "The Kit custom field to store the order's payment method."
    420 msgstr ""
    421 
    422 #: includes/class-ckwc-integration.php:668
    423423msgid "Send Customer Note"
    424424msgstr ""
    425425
    426 #: includes/class-ckwc-integration.php:671
     426#: includes/class-ckwc-integration.php:628
    427427msgid "The Kit custom field to store the order's customer note."
    428428msgstr ""
    429429
    430 #: includes/class-ckwc-integration.php:679
     430#: includes/class-ckwc-integration.php:636
    431431msgid "Opt-In Checkbox"
    432432msgstr ""
    433433
    434 #: includes/class-ckwc-integration.php:680
     434#: includes/class-ckwc-integration.php:637
    435435msgid "Display an opt-in checkbox on checkout"
    436436msgstr ""
    437437
    438 #: includes/class-ckwc-integration.php:683
     438#: includes/class-ckwc-integration.php:640
    439439msgid ""
    440440"If enabled, customers will <strong>only</strong> be subscribed to the chosen forms, tags and sequences if they check the opt-in checkbox at checkout.<br />\n"
     
    442442msgstr ""
    443443
    444 #: includes/class-ckwc-integration.php:694
     444#: includes/class-ckwc-integration.php:651
    445445msgid "Opt-In Checkbox: Label"
    446446msgstr ""
    447447
    448 #: includes/class-ckwc-integration.php:696
     448#: includes/class-ckwc-integration.php:653
    449449msgid "I want to subscribe to the newsletter"
    450450msgstr ""
    451451
    452 #: includes/class-ckwc-integration.php:697
     452#: includes/class-ckwc-integration.php:654
    453453msgid "Customize the label next to the opt-in checkbox."
    454454msgstr ""
    455455
    456 #: includes/class-ckwc-integration.php:704
     456#: includes/class-ckwc-integration.php:661
    457457msgid "Opt-In Checkbox: Default Status"
    458458msgstr ""
    459459
    460 #: includes/class-ckwc-integration.php:707
     460#: includes/class-ckwc-integration.php:664
    461461msgid "The default state of the opt-in checkbox."
    462462msgstr ""
    463463
    464 #: includes/class-ckwc-integration.php:710
     464#: includes/class-ckwc-integration.php:667
    465465msgid "Checked"
    466466msgstr ""
    467467
    468 #: includes/class-ckwc-integration.php:711
     468#: includes/class-ckwc-integration.php:668
    469469msgid "Unchecked"
    470470msgstr ""
    471471
    472 #: includes/class-ckwc-integration.php:718
     472#: includes/class-ckwc-integration.php:675
    473473msgid "Opt-In Checkbox: Display Location"
    474474msgstr ""
    475475
    476 #: includes/class-ckwc-integration.php:721
     476#: includes/class-ckwc-integration.php:678
    477477msgid "Where to display the opt-in checkbox on the checkout page (under \"Billing details\" or \"Additional information\")."
    478478msgstr ""
    479479
    480 #: includes/class-ckwc-integration.php:724
     480#: includes/class-ckwc-integration.php:681
    481481msgid "Billing"
    482482msgstr ""
    483483
    484 #: includes/class-ckwc-integration.php:725
     484#: includes/class-ckwc-integration.php:682
    485485msgid "Order"
    486486msgstr ""
    487487
    488 #: includes/class-ckwc-integration.php:734
     488#: includes/class-ckwc-integration.php:691
    489489msgid "Purchase Data"
    490490msgstr ""
    491491
    492 #: includes/class-ckwc-integration.php:735
     492#: includes/class-ckwc-integration.php:692
    493493msgid "Send purchase data to Kit."
    494494msgstr ""
    495495
    496 #: includes/class-ckwc-integration.php:738
     496#: includes/class-ckwc-integration.php:695
    497497msgid ""
    498498"If enabled, the customer's order data will be sent to Kit. Their email address will always be subscribed to Kit, <strong>regardless of the Customer's opt in status.</strong><br />\n"
     
    500500msgstr ""
    501501
    502 #: includes/class-ckwc-integration.php:749
     502#: includes/class-ckwc-integration.php:706
    503503msgid "Purchase Data Event"
    504504msgstr ""
    505505
    506 #: includes/class-ckwc-integration.php:755
     506#: includes/class-ckwc-integration.php:712
    507507msgid "When should purchase data be sent?"
    508508msgstr ""
    509509
    510 #: includes/class-ckwc-integration.php:780
     510#: includes/class-ckwc-integration.php:737
    511511msgid "Sync Past Orders"
    512512msgstr ""
    513513
    514 #: includes/class-ckwc-integration.php:781
     514#: includes/class-ckwc-integration.php:738
    515515msgid "Send old purchase data to Kit i.e. Orders that were created in WooCommerce prior to this Plugin being installed."
    516516msgstr ""
    517517
    518 #: includes/class-ckwc-integration.php:797
     518#: includes/class-ckwc-integration.php:754
    519519msgid "Debug"
    520520msgstr ""
    521521
    522 #: includes/class-ckwc-integration.php:799
     522#: includes/class-ckwc-integration.php:756
    523523msgid "Write data to a log file"
    524524msgstr ""
    525525
    526 #: includes/class-ckwc-integration.php:804
     526#: includes/class-ckwc-integration.php:761
    527527msgid "View log file"
    528528msgstr ""
    529529
    530 #: includes/class-ckwc-integration.php:874
     530#: includes/class-ckwc-integration.php:831
    531531msgid "Do you want to send past WooCommerce Orders to Kit?"
    532532msgstr ""
    533533
    534534#. translators: Number of WooCommerce Orders
    535 #: includes/class-ckwc-integration.php:1054
     535#: includes/class-ckwc-integration.php:1011
    536536#, php-format
    537537msgid "%s not been sent to Kit based on the Purchase Data Event setting above. This is either because sending purchase data is/was disabled, and/or orders were created prior to installing this integration.<br />Use the sync button to send data for these orders to Kit."
     
    539539
    540540#. translators: number of Orders not sent to ConvertKit
    541 #: includes/class-ckwc-integration.php:1057
     541#: includes/class-ckwc-integration.php:1014
    542542#, php-format
    543543msgid "%s WooCommerce order has"
  • convertkit-for-woocommerce/tags/2.0.3/readme.txt

    r3408882 r3411835  
    66Tested up to: 6.9
    77Requires PHP: 7.1
    8 Stable tag: 2.0.2
     8Stable tag: 2.0.3
    99License: GPLv3 or later
    1010License URI: https://www.gnu.org/licenses/gpl-3.0.html
     
    4646
    4747== Changelog ==
     48
     49### 2.0.3 2025-12-03
     50* Fix: Settings: Improve logic to automatically delete invalid Access Tokens
    4851
    4952### 2.0.2 2025-12-03
  • convertkit-for-woocommerce/tags/2.0.3/woocommerce-convertkit.php

    r3408882 r3411835  
    1010 * Plugin URI:  https://www.kit.com
    1111 * Description: Integrates WooCommerce with Kit, allowing customers to be automatically sent to your Kit account.
    12  * Version:     2.0.2
     12 * Version:     2.0.3
    1313 * Author:      Kit
    1414 * Author URI:  https://www.kit.com
     
    1818 *
    1919 * WC requires at least: 3.0
    20  * WC tested up to: 10.2.1
     20 * WC tested up to: 10.3.6
    2121 */
    2222
     
    3131define( 'CKWC_PLUGIN_URL', plugin_dir_url( __FILE__ ) );
    3232define( 'CKWC_PLUGIN_PATH', __DIR__ );
    33 define( 'CKWC_PLUGIN_VERSION', '2.0.2' );
     33define( 'CKWC_PLUGIN_VERSION', '2.0.3' );
    3434define( 'CKWC_OAUTH_CLIENT_ID', 'L0kyADsB3WP5zO5MvUpXQU64gIntQg9BBAIme17r_7A' );
    3535define( 'CKWC_OAUTH_CLIENT_REDIRECT_URI', 'https://app.kit.com/wordpress/redirect' );
  • convertkit-for-woocommerce/trunk/includes/class-ckwc-integration.php

    r3408882 r3411835  
    8787        $this->init_settings();
    8888
    89         // Update Access Token when refreshed by the API class.
    90         add_action( 'convertkit_api_get_access_token', array( $this, 'update_credentials' ), 10, 2 );
    91         add_action( 'convertkit_api_refresh_token', array( $this, 'update_credentials' ), 10, 2 );
    92 
    93         // Delete credentials if the API class uses a invalid access token.
    94         // This prevents the Plugin making repetitive API requests that will 401.
    95         add_action( 'convertkit_api_access_token_invalid', array( $this, 'maybe_delete_credentials' ), 10, 2 );
    96 
    9789        // Load Admin screens, save settings.
    9890        if ( is_admin() ) {
     
    122114     * @since   1.8.0
    123115     *
    124      * @param   array  $result      New Access Token, Refresh Token and Expiry.
    125      * @param   string $client_id   OAuth Client ID used for the Access and Refresh Tokens.
    126      */
    127     public function update_credentials( $result, $client_id ) {
    128 
    129         // Don't save these credentials if they're not for this Client ID.
    130         // They're for another Kit Plugin that uses OAuth.
    131         if ( $client_id !== CKWC_OAUTH_CLIENT_ID ) {
    132             return;
    133         }
     116     * @param   array $result      New Access Token, Refresh Token and Expiry.
     117     */
     118    public function update_credentials( $result ) {
    134119
    135120        // Remove any existing persistent notice.
     
    146131        // Schedule a WordPress Cron event to refresh the token on expiry.
    147132        wp_schedule_single_event( ( time() + $result['expires_in'] ), 'ckwc_refresh_token' );
    148 
    149     }
    150 
    151     /**
    152      * Deletes the stored access token, refresh token and its expiry from the Plugin settings,
    153      * and clears any existing scheduled WordPress Cron event to refresh the token on expiry,
    154      * when either:
    155      * - The access token is invalid
    156      * - The access token expired, and refreshing failed
    157      *
    158      * @since   2.0.2
    159      *
    160      * @param   WP_Error $result      Error result.
    161      * @param   string   $client_id   OAuth Client ID used for the Access and Refresh Tokens.
    162      */
    163     public function maybe_delete_credentials( $result, $client_id ) {
    164 
    165         // Don't save these credentials if they're not for this Client ID.
    166         // They're for another Kit Plugin that uses OAuth.
    167         if ( $client_id !== CKWC_OAUTH_CLIENT_ID ) {
    168             return;
    169         }
    170 
    171         // Persist an error notice in the WordPress Administration until the user fixes the problem.
    172         WP_CKWC()->get_class( 'admin_notices' )->add( 'authorization_failed' );
    173 
    174         // Delete the credentials from the Plugin settings.
    175         $this->delete_credentials();
    176133
    177134    }
  • convertkit-for-woocommerce/trunk/includes/class-ckwc-resource.php

    r3112082 r3411835  
    3333        }
    3434
    35         // Call parent initialization function.
    36         parent::init();
     35        // Get last query time and existing resources.
     36        $this->last_queried = get_option( $this->settings_name . '_last_queried' );
     37        $this->resources    = get_option( $this->settings_name );
     38
     39    }
     40
     41    /**
     42     * Fetches resources (custom fields, forms, sequences or tags) from the API, storing them in the options table
     43     * with a last queried timestamp.
     44     *
     45     * If the refresh results in a 401, removes the access and refresh tokens from the settings.
     46     *
     47     * @since   2.0.3
     48     *
     49     * @return  WP_Error|array
     50     */
     51    public function refresh() {
     52
     53        // Call parent refresh method.
     54        $result = parent::refresh();
     55
     56        // If an error occured, maybe delete credentials from the Plugin's settings
     57        // if the error is a 401 unauthorized.
     58        if ( is_wp_error( $result ) ) {
     59            ckwc_maybe_delete_credentials( $result, CKWC_OAUTH_CLIENT_ID );
     60        }
     61
     62        return $result;
    3763
    3864    }
  • convertkit-for-woocommerce/trunk/includes/functions.php

    r3112082 r3411835  
    5353
    5454}
     55
     56/**
     57 * Saves the new access token, refresh token and its expiry, and schedules
     58 * a WordPress Cron event to refresh the token on expiry.
     59 *
     60 * @since   2.0.3
     61 *
     62 * @param   array  $result      New Access Token, Refresh Token and Expiry.
     63 * @param   string $client_id   OAuth Client ID used for the Access and Refresh Tokens.
     64 */
     65function ckwc_maybe_update_credentials( $result, $client_id ) {
     66
     67    // Don't save these credentials if they're not for this Client ID.
     68    // They're for another Kit Plugin that uses OAuth.
     69    if ( $client_id !== CKWC_OAUTH_CLIENT_ID ) {
     70        return;
     71    }
     72
     73    // Bail if the integration is unavailable.
     74    if ( ! function_exists( 'WP_CKWC_Integration' ) ) {
     75        return;
     76    }
     77
     78    WP_CKWC_Integration()->update_credentials( $result );
     79
     80}
     81
     82/**
     83 * Deletes the stored access token, refresh token and its expiry from the Plugin settings,
     84 * and clears any existing scheduled WordPress Cron event to refresh the token on expiry,
     85 * when either:
     86 * - The access token is invalid
     87 * - The access token expired, and refreshing failed
     88 *
     89 * @since   2.0.3
     90 *
     91 * @param   WP_Error $result      Error result.
     92 * @param   string   $client_id   OAuth Client ID used for the Access and Refresh Tokens.
     93 */
     94function ckwc_maybe_delete_credentials( $result, $client_id ) {
     95
     96    // Don't save these credentials if they're not for this Client ID.
     97    // They're for another Kit Plugin that uses OAuth.
     98    if ( $client_id !== CKWC_OAUTH_CLIENT_ID ) {
     99        return;
     100    }
     101
     102    // Bail if the integration is unavailable.
     103    if ( ! function_exists( 'WP_CKWC_Integration' ) ) {
     104        return;
     105    }
     106
     107    // If the error isn't a 401, don't delete credentials.
     108    // This could be e.g. a temporary network error, rate limit or similar.
     109    if ( $result->get_error_data( 'convertkit_api_error' ) !== 401 ) {
     110        return;
     111    }
     112
     113    // Persist an error notice in the WordPress Administration until the user fixes the problem.
     114    WP_CKWC()->get_class( 'admin_notices' )->add( 'authorization_failed' );
     115
     116    WP_CKWC_Integration()->delete_credentials();
     117
     118}
     119
     120// Update Access Token when refreshed by the API class.
     121add_action( 'convertkit_api_get_access_token', 'ckwc_maybe_update_credentials', 10, 2 );
     122add_action( 'convertkit_api_refresh_token', 'ckwc_maybe_update_credentials', 10, 2 );
     123
     124// Delete credentials if the API class uses a invalid access token.
     125// This prevents the Plugin making repetitive API requests that will 401.
     126add_action( 'convertkit_api_access_token_invalid', 'ckwc_maybe_delete_credentials', 10, 2 );
  • convertkit-for-woocommerce/trunk/languages/woocommerce-convertkit.pot

    r3408882 r3411835  
    33msgid ""
    44msgstr ""
    5 "Project-Id-Version: Kit (formerly ConvertKit) for WooCommerce 2.0.2\n"
     5"Project-Id-Version: Kit (formerly ConvertKit) for WooCommerce 2.0.3\n"
    66"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/convertkit-woocommerce\n"
    77"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
     
    1010"Content-Type: text/plain; charset=UTF-8\n"
    1111"Content-Transfer-Encoding: 8bit\n"
    12 "POT-Creation-Date: 2025-12-03T01:33:06+00:00\n"
     12"POT-Creation-Date: 2025-12-05T02:22:25+00:00\n"
    1313"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
    1414"X-Generator: WP-CLI 2.12.0\n"
     
    234234msgstr ""
    235235
    236 #: includes/class-ckwc-integration.php:363
     236#: includes/class-ckwc-integration.php:320
    237237msgid "The uploaded configuration file isn't valid."
    238238msgstr ""
    239239
    240 #: includes/class-ckwc-integration.php:372
     240#: includes/class-ckwc-integration.php:329
    241241msgid "The uploaded configuration file contains no settings."
    242242msgstr ""
    243243
    244 #: includes/class-ckwc-integration.php:389
     244#: includes/class-ckwc-integration.php:346
    245245msgid "Configuration imported successfully."
    246246msgstr ""
    247247
     248#: includes/class-ckwc-integration.php:461
     249msgid "Account Name"
     250msgstr ""
     251
     252#: includes/class-ckwc-integration.php:463
     253msgid "Disconnect"
     254msgstr ""
     255
     256#: includes/class-ckwc-integration.php:480
     257msgid "Enable/Disable"
     258msgstr ""
     259
     260#: includes/class-ckwc-integration.php:482
     261msgid "Enable Kit integration"
     262msgstr ""
     263
     264#: includes/class-ckwc-integration.php:488
     265msgid "Subscribe Event"
     266msgstr ""
     267
     268#: includes/class-ckwc-integration.php:494
     269msgid "When should customers be subscribed?"
     270msgstr ""
     271
     272#: includes/class-ckwc-integration.php:498
     273msgid "Pending payment:"
     274msgstr ""
     275
     276#: includes/class-ckwc-integration.php:499
     277msgid "WooCommerce order created, payment not received."
     278msgstr ""
     279
    248280#: includes/class-ckwc-integration.php:504
    249 msgid "Account Name"
    250 msgstr ""
    251 
    252 #: includes/class-ckwc-integration.php:506
    253 msgid "Disconnect"
    254 msgstr ""
    255 
    256 #: includes/class-ckwc-integration.php:523
    257 msgid "Enable/Disable"
    258 msgstr ""
    259 
    260 #: includes/class-ckwc-integration.php:525
    261 msgid "Enable Kit integration"
    262 msgstr ""
    263 
    264 #: includes/class-ckwc-integration.php:531
    265 msgid "Subscribe Event"
    266 msgstr ""
    267 
    268 #: includes/class-ckwc-integration.php:537
    269 msgid "When should customers be subscribed?"
     281#: includes/class-ckwc-integration.php:716
     282msgid "Processing:"
     283msgstr ""
     284
     285#: includes/class-ckwc-integration.php:505
     286#: includes/class-ckwc-integration.php:717
     287msgid "WooCommerce order created, payment received, order awaiting fulfilment."
     288msgstr ""
     289
     290#: includes/class-ckwc-integration.php:510
     291#: includes/class-ckwc-integration.php:722
     292msgid "Completed:"
     293msgstr ""
     294
     295#: includes/class-ckwc-integration.php:511
     296#: includes/class-ckwc-integration.php:723
     297msgid "WooCommerce order created, payment received, order fulfiled."
     298msgstr ""
     299
     300#: includes/class-ckwc-integration.php:517
     301msgid "Order Pending payment"
     302msgstr ""
     303
     304#: includes/class-ckwc-integration.php:518
     305#: includes/class-ckwc-integration.php:729
     306msgid "Order Processing"
     307msgstr ""
     308
     309#: includes/class-ckwc-integration.php:519
     310#: includes/class-ckwc-integration.php:730
     311msgid "Order Completed"
     312msgstr ""
     313
     314#: includes/class-ckwc-integration.php:526
     315msgid "Subscription"
     316msgstr ""
     317
     318#: includes/class-ckwc-integration.php:529
     319msgid "The Kit form, tag or sequence to subscribe customers to."
     320msgstr ""
     321
     322#: includes/class-ckwc-integration.php:535
     323msgid "Name Format"
     324msgstr ""
     325
     326#: includes/class-ckwc-integration.php:538
     327msgid "How should the customer name be sent to Kit?"
    270328msgstr ""
    271329
    272330#: includes/class-ckwc-integration.php:541
    273 msgid "Pending payment:"
     331msgid "Billing First Name"
    274332msgstr ""
    275333
    276334#: includes/class-ckwc-integration.php:542
    277 msgid "WooCommerce order created, payment not received."
    278 msgstr ""
    279 
    280 #: includes/class-ckwc-integration.php:547
    281 #: includes/class-ckwc-integration.php:759
    282 msgid "Processing:"
    283 msgstr ""
    284 
    285 #: includes/class-ckwc-integration.php:548
    286 #: includes/class-ckwc-integration.php:760
    287 msgid "WooCommerce order created, payment received, order awaiting fulfilment."
    288 msgstr ""
    289 
    290 #: includes/class-ckwc-integration.php:553
    291 #: includes/class-ckwc-integration.php:765
    292 msgid "Completed:"
    293 msgstr ""
    294 
    295 #: includes/class-ckwc-integration.php:554
    296 #: includes/class-ckwc-integration.php:766
    297 msgid "WooCommerce order created, payment received, order fulfiled."
    298 msgstr ""
    299 
    300 #: includes/class-ckwc-integration.php:560
    301 msgid "Order Pending payment"
     335msgid "Billing Last Name"
     336msgstr ""
     337
     338#: includes/class-ckwc-integration.php:543
     339msgid "Billing First Name + Billing Last Name"
     340msgstr ""
     341
     342#: includes/class-ckwc-integration.php:552
     343msgid "Send Last Name"
     344msgstr ""
     345
     346#: includes/class-ckwc-integration.php:555
     347msgid "The Kit custom field to store the order's last name."
    302348msgstr ""
    303349
    304350#: includes/class-ckwc-integration.php:561
    305 #: includes/class-ckwc-integration.php:772
    306 msgid "Order Processing"
    307 msgstr ""
    308 
    309 #: includes/class-ckwc-integration.php:562
    310 #: includes/class-ckwc-integration.php:773
    311 msgid "Order Completed"
    312 msgstr ""
    313 
    314 #: includes/class-ckwc-integration.php:569
    315 msgid "Subscription"
    316 msgstr ""
    317 
    318 #: includes/class-ckwc-integration.php:572
    319 msgid "The Kit form, tag or sequence to subscribe customers to."
    320 msgstr ""
    321 
    322 #: includes/class-ckwc-integration.php:578
    323 msgid "Name Format"
    324 msgstr ""
    325 
    326 #: includes/class-ckwc-integration.php:581
    327 msgid "How should the customer name be sent to Kit?"
    328 msgstr ""
    329 
    330 #: includes/class-ckwc-integration.php:584
    331 msgid "Billing First Name"
    332 msgstr ""
    333 
    334 #: includes/class-ckwc-integration.php:585
    335 msgid "Billing Last Name"
    336 msgstr ""
    337 
    338 #: includes/class-ckwc-integration.php:586
    339 msgid "Billing First Name + Billing Last Name"
    340 msgstr ""
    341 
    342 #: includes/class-ckwc-integration.php:595
    343 msgid "Send Last Name"
    344 msgstr ""
    345 
    346 #: includes/class-ckwc-integration.php:598
    347 msgid "The Kit custom field to store the order's last name."
     351msgid "Send Phone Number"
     352msgstr ""
     353
     354#: includes/class-ckwc-integration.php:564
     355msgid "The Kit custom field to store the order's phone number."
     356msgstr ""
     357
     358#: includes/class-ckwc-integration.php:570
     359msgid "Send Billing Address"
     360msgstr ""
     361
     362#: includes/class-ckwc-integration.php:573
     363msgid "The Kit custom field to store the order's billing address."
     364msgstr ""
     365
     366#: includes/class-ckwc-integration.php:579
     367msgid "Send Shipping Address"
     368msgstr ""
     369
     370#: includes/class-ckwc-integration.php:582
     371msgid "The Kit custom field to store the order's shipping address."
     372msgstr ""
     373
     374#: includes/class-ckwc-integration.php:588
     375msgid "Address Format"
     376msgstr ""
     377
     378#: includes/class-ckwc-integration.php:599
     379msgid "The format of the billing and shipping addresses to store in Kit."
     380msgstr ""
     381
     382#: includes/class-ckwc-integration.php:602
     383msgid "Name"
     384msgstr ""
     385
     386#: includes/class-ckwc-integration.php:603
     387msgid "Company Name"
    348388msgstr ""
    349389
    350390#: includes/class-ckwc-integration.php:604
    351 msgid "Send Phone Number"
     391msgid "Address 1"
     392msgstr ""
     393
     394#: includes/class-ckwc-integration.php:605
     395msgid "Address 2"
     396msgstr ""
     397
     398#: includes/class-ckwc-integration.php:606
     399msgid "City"
    352400msgstr ""
    353401
    354402#: includes/class-ckwc-integration.php:607
    355 msgid "The Kit custom field to store the order's phone number."
    356 msgstr ""
    357 
    358 #: includes/class-ckwc-integration.php:613
    359 msgid "Send Billing Address"
     403msgid "State"
     404msgstr ""
     405
     406#: includes/class-ckwc-integration.php:608
     407msgid "Postcode"
     408msgstr ""
     409
     410#: includes/class-ckwc-integration.php:609
     411msgid "Country"
    360412msgstr ""
    361413
    362414#: includes/class-ckwc-integration.php:616
    363 msgid "The Kit custom field to store the order's billing address."
    364 msgstr ""
    365 
    366 #: includes/class-ckwc-integration.php:622
    367 msgid "Send Shipping Address"
     415msgid "Send Payment Method"
     416msgstr ""
     417
     418#: includes/class-ckwc-integration.php:619
     419msgid "The Kit custom field to store the order's payment method."
    368420msgstr ""
    369421
    370422#: includes/class-ckwc-integration.php:625
    371 msgid "The Kit custom field to store the order's shipping address."
    372 msgstr ""
    373 
    374 #: includes/class-ckwc-integration.php:631
    375 msgid "Address Format"
    376 msgstr ""
    377 
    378 #: includes/class-ckwc-integration.php:642
    379 msgid "The format of the billing and shipping addresses to store in Kit."
    380 msgstr ""
    381 
    382 #: includes/class-ckwc-integration.php:645
    383 msgid "Name"
    384 msgstr ""
    385 
    386 #: includes/class-ckwc-integration.php:646
    387 msgid "Company Name"
    388 msgstr ""
    389 
    390 #: includes/class-ckwc-integration.php:647
    391 msgid "Address 1"
    392 msgstr ""
    393 
    394 #: includes/class-ckwc-integration.php:648
    395 msgid "Address 2"
    396 msgstr ""
    397 
    398 #: includes/class-ckwc-integration.php:649
    399 msgid "City"
    400 msgstr ""
    401 
    402 #: includes/class-ckwc-integration.php:650
    403 msgid "State"
    404 msgstr ""
    405 
    406 #: includes/class-ckwc-integration.php:651
    407 msgid "Postcode"
    408 msgstr ""
    409 
    410 #: includes/class-ckwc-integration.php:652
    411 msgid "Country"
    412 msgstr ""
    413 
    414 #: includes/class-ckwc-integration.php:659
    415 msgid "Send Payment Method"
    416 msgstr ""
    417 
    418 #: includes/class-ckwc-integration.php:662
    419 msgid "The Kit custom field to store the order's payment method."
    420 msgstr ""
    421 
    422 #: includes/class-ckwc-integration.php:668
    423423msgid "Send Customer Note"
    424424msgstr ""
    425425
    426 #: includes/class-ckwc-integration.php:671
     426#: includes/class-ckwc-integration.php:628
    427427msgid "The Kit custom field to store the order's customer note."
    428428msgstr ""
    429429
    430 #: includes/class-ckwc-integration.php:679
     430#: includes/class-ckwc-integration.php:636
    431431msgid "Opt-In Checkbox"
    432432msgstr ""
    433433
    434 #: includes/class-ckwc-integration.php:680
     434#: includes/class-ckwc-integration.php:637
    435435msgid "Display an opt-in checkbox on checkout"
    436436msgstr ""
    437437
    438 #: includes/class-ckwc-integration.php:683
     438#: includes/class-ckwc-integration.php:640
    439439msgid ""
    440440"If enabled, customers will <strong>only</strong> be subscribed to the chosen forms, tags and sequences if they check the opt-in checkbox at checkout.<br />\n"
     
    442442msgstr ""
    443443
    444 #: includes/class-ckwc-integration.php:694
     444#: includes/class-ckwc-integration.php:651
    445445msgid "Opt-In Checkbox: Label"
    446446msgstr ""
    447447
    448 #: includes/class-ckwc-integration.php:696
     448#: includes/class-ckwc-integration.php:653
    449449msgid "I want to subscribe to the newsletter"
    450450msgstr ""
    451451
    452 #: includes/class-ckwc-integration.php:697
     452#: includes/class-ckwc-integration.php:654
    453453msgid "Customize the label next to the opt-in checkbox."
    454454msgstr ""
    455455
    456 #: includes/class-ckwc-integration.php:704
     456#: includes/class-ckwc-integration.php:661
    457457msgid "Opt-In Checkbox: Default Status"
    458458msgstr ""
    459459
    460 #: includes/class-ckwc-integration.php:707
     460#: includes/class-ckwc-integration.php:664
    461461msgid "The default state of the opt-in checkbox."
    462462msgstr ""
    463463
    464 #: includes/class-ckwc-integration.php:710
     464#: includes/class-ckwc-integration.php:667
    465465msgid "Checked"
    466466msgstr ""
    467467
    468 #: includes/class-ckwc-integration.php:711
     468#: includes/class-ckwc-integration.php:668
    469469msgid "Unchecked"
    470470msgstr ""
    471471
    472 #: includes/class-ckwc-integration.php:718
     472#: includes/class-ckwc-integration.php:675
    473473msgid "Opt-In Checkbox: Display Location"
    474474msgstr ""
    475475
    476 #: includes/class-ckwc-integration.php:721
     476#: includes/class-ckwc-integration.php:678
    477477msgid "Where to display the opt-in checkbox on the checkout page (under \"Billing details\" or \"Additional information\")."
    478478msgstr ""
    479479
    480 #: includes/class-ckwc-integration.php:724
     480#: includes/class-ckwc-integration.php:681
    481481msgid "Billing"
    482482msgstr ""
    483483
    484 #: includes/class-ckwc-integration.php:725
     484#: includes/class-ckwc-integration.php:682
    485485msgid "Order"
    486486msgstr ""
    487487
    488 #: includes/class-ckwc-integration.php:734
     488#: includes/class-ckwc-integration.php:691
    489489msgid "Purchase Data"
    490490msgstr ""
    491491
    492 #: includes/class-ckwc-integration.php:735
     492#: includes/class-ckwc-integration.php:692
    493493msgid "Send purchase data to Kit."
    494494msgstr ""
    495495
    496 #: includes/class-ckwc-integration.php:738
     496#: includes/class-ckwc-integration.php:695
    497497msgid ""
    498498"If enabled, the customer's order data will be sent to Kit. Their email address will always be subscribed to Kit, <strong>regardless of the Customer's opt in status.</strong><br />\n"
     
    500500msgstr ""
    501501
    502 #: includes/class-ckwc-integration.php:749
     502#: includes/class-ckwc-integration.php:706
    503503msgid "Purchase Data Event"
    504504msgstr ""
    505505
    506 #: includes/class-ckwc-integration.php:755
     506#: includes/class-ckwc-integration.php:712
    507507msgid "When should purchase data be sent?"
    508508msgstr ""
    509509
    510 #: includes/class-ckwc-integration.php:780
     510#: includes/class-ckwc-integration.php:737
    511511msgid "Sync Past Orders"
    512512msgstr ""
    513513
    514 #: includes/class-ckwc-integration.php:781
     514#: includes/class-ckwc-integration.php:738
    515515msgid "Send old purchase data to Kit i.e. Orders that were created in WooCommerce prior to this Plugin being installed."
    516516msgstr ""
    517517
    518 #: includes/class-ckwc-integration.php:797
     518#: includes/class-ckwc-integration.php:754
    519519msgid "Debug"
    520520msgstr ""
    521521
    522 #: includes/class-ckwc-integration.php:799
     522#: includes/class-ckwc-integration.php:756
    523523msgid "Write data to a log file"
    524524msgstr ""
    525525
    526 #: includes/class-ckwc-integration.php:804
     526#: includes/class-ckwc-integration.php:761
    527527msgid "View log file"
    528528msgstr ""
    529529
    530 #: includes/class-ckwc-integration.php:874
     530#: includes/class-ckwc-integration.php:831
    531531msgid "Do you want to send past WooCommerce Orders to Kit?"
    532532msgstr ""
    533533
    534534#. translators: Number of WooCommerce Orders
    535 #: includes/class-ckwc-integration.php:1054
     535#: includes/class-ckwc-integration.php:1011
    536536#, php-format
    537537msgid "%s not been sent to Kit based on the Purchase Data Event setting above. This is either because sending purchase data is/was disabled, and/or orders were created prior to installing this integration.<br />Use the sync button to send data for these orders to Kit."
     
    539539
    540540#. translators: number of Orders not sent to ConvertKit
    541 #: includes/class-ckwc-integration.php:1057
     541#: includes/class-ckwc-integration.php:1014
    542542#, php-format
    543543msgid "%s WooCommerce order has"
  • convertkit-for-woocommerce/trunk/readme.txt

    r3408882 r3411835  
    66Tested up to: 6.9
    77Requires PHP: 7.1
    8 Stable tag: 2.0.2
     8Stable tag: 2.0.3
    99License: GPLv3 or later
    1010License URI: https://www.gnu.org/licenses/gpl-3.0.html
     
    4646
    4747== Changelog ==
     48
     49### 2.0.3 2025-12-03
     50* Fix: Settings: Improve logic to automatically delete invalid Access Tokens
    4851
    4952### 2.0.2 2025-12-03
  • convertkit-for-woocommerce/trunk/woocommerce-convertkit.php

    r3408882 r3411835  
    1010 * Plugin URI:  https://www.kit.com
    1111 * Description: Integrates WooCommerce with Kit, allowing customers to be automatically sent to your Kit account.
    12  * Version:     2.0.2
     12 * Version:     2.0.3
    1313 * Author:      Kit
    1414 * Author URI:  https://www.kit.com
     
    1818 *
    1919 * WC requires at least: 3.0
    20  * WC tested up to: 10.2.1
     20 * WC tested up to: 10.3.6
    2121 */
    2222
     
    3131define( 'CKWC_PLUGIN_URL', plugin_dir_url( __FILE__ ) );
    3232define( 'CKWC_PLUGIN_PATH', __DIR__ );
    33 define( 'CKWC_PLUGIN_VERSION', '2.0.2' );
     33define( 'CKWC_PLUGIN_VERSION', '2.0.3' );
    3434define( 'CKWC_OAUTH_CLIENT_ID', 'L0kyADsB3WP5zO5MvUpXQU64gIntQg9BBAIme17r_7A' );
    3535define( 'CKWC_OAUTH_CLIENT_REDIRECT_URI', 'https://app.kit.com/wordpress/redirect' );
Note: See TracChangeset for help on using the changeset viewer.