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 {
|
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);
|
$result = PaymentGatewaysProvider::save_gateway_settings($gateway_id, $settings);
|
||||||
|
|
||||||
if (is_wp_error($result)) {
|
if (is_wp_error($result)) {
|
||||||
|
error_log(sprintf('[WooNooW] Save failed: %s', $result->get_error_message()));
|
||||||
return $result;
|
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);
|
$gateway = PaymentGatewaysProvider::get_gateway($gateway_id);
|
||||||
|
|
||||||
|
// Debug: Log success
|
||||||
|
error_log(sprintf('[WooNooW] Gateway %s settings saved successfully', $gateway_id));
|
||||||
|
|
||||||
return rest_ensure_response([
|
return rest_ensure_response([
|
||||||
'success' => true,
|
'success' => true,
|
||||||
'message' => 'Gateway settings saved successfully',
|
'message' => 'Gateway settings saved successfully',
|
||||||
'gateway' => $gateway,
|
'gateway' => $gateway,
|
||||||
]);
|
]);
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
|
error_log(sprintf('[WooNooW] Save exception: %s', $e->getMessage()));
|
||||||
return new WP_Error(
|
return new WP_Error(
|
||||||
'save_gateway_failed',
|
'save_gateway_failed',
|
||||||
$e->getMessage(),
|
$e->getMessage(),
|
||||||
|
|||||||
Reference in New Issue
Block a user