fix: Apply same cache flush fix to save_gateway endpoint
✅ Toggle Working: 156ms + 57ms (PERFECT!) Log Analysis: - Toggling gateway tripay_briva to enabled ✅ - Current enabled: no, New enabled: yes ✅ - update_option returned: true ✅ - Set gateway->enabled to: yes ✅ - Gateway after toggle: enabled=true ✅ - Total time: 156ms (toggle) + 57ms (refetch) = 213ms 🚀 The Fix That Worked: 1. Update $gateway->settings array 2. Update $gateway->enabled property (THIS WAS THE KEY!) 3. Save to database 4. Clear cache 5. Force gateway reload Now Applying Same Fix to Modal Save: - Added wp_cache_flush() before fetching updated gateway - Added debug logging to track save process - Same pattern as toggle endpoint Expected Result: - Modal settings save should now persist - Changes should appear immediately after save - Fast performance (1-2 seconds instead of 30s) Files Modified: - PaymentsController.php: save_gateway() endpoint Next: Test modal save and confirm it works!
This commit is contained in:
@@ -175,21 +175,32 @@ class PaymentsController extends WP_REST_Controller {
|
||||
}
|
||||
|
||||
try {
|
||||
// Debug: Log what we're saving
|
||||
error_log(sprintf('[WooNooW] Saving gateway %s settings: %s', $gateway_id, json_encode($settings)));
|
||||
|
||||
$result = PaymentGatewaysProvider::save_gateway_settings($gateway_id, $settings);
|
||||
|
||||
if (is_wp_error($result)) {
|
||||
error_log(sprintf('[WooNooW] Save failed: %s', $result->get_error_message()));
|
||||
return $result;
|
||||
}
|
||||
|
||||
// Return updated gateway data
|
||||
// Clear cache before fetching updated gateway
|
||||
wp_cache_flush();
|
||||
|
||||
// Return updated gateway data (fresh from DB)
|
||||
$gateway = PaymentGatewaysProvider::get_gateway($gateway_id);
|
||||
|
||||
// Debug: Log success
|
||||
error_log(sprintf('[WooNooW] Gateway %s settings saved successfully', $gateway_id));
|
||||
|
||||
return rest_ensure_response([
|
||||
'success' => true,
|
||||
'message' => 'Gateway settings saved successfully',
|
||||
'gateway' => $gateway,
|
||||
]);
|
||||
} catch (\Exception $e) {
|
||||
error_log(sprintf('[WooNooW] Save exception: %s', $e->getMessage()));
|
||||
return new WP_Error(
|
||||
'save_gateway_failed',
|
||||
$e->getMessage(),
|
||||
|
||||
Reference in New Issue
Block a user