SELECT 
  cscart_payments.*, 
  cscart_payment_descriptions.*, 
  IF (
    ISNULL(cscart_addons.status), 
    "A", 
    cscart_addons.status
  ) AS processor_status, 
  cscart_payment_processors.type AS processor_type, 
  cscart_payment_processors.processor_script AS processor_script 
FROM 
  cscart_payments 
  LEFT JOIN cscart_payment_descriptions ON cscart_payment_descriptions.payment_id = cscart_payments.payment_id 
  AND cscart_payment_descriptions.lang_code = 'en' 
  LEFT JOIN cscart_payment_processors ON cscart_payment_processors.processor_id = cscart_payments.processor_id 
  LEFT JOIN cscart_addons ON cscart_payment_processors.addon = cscart_addons.addon 
  LEFT JOIN cscart_storefronts_payments AS storefronts_payments ON storefronts_payments.payment_id = cscart_payments.payment_id 
WHERE 
  cscart_payments.status = 'A' 
  AND (
    storefronts_payments.storefront_id = 1 
    OR storefronts_payments.storefront_id IS NULL
  ) 
  AND cscart_payment_processors.processor_script IN ('stripe.php') 
HAVING 
  processor_status = 'A' 
ORDER BY 
  cscart_payments.position

Query time 0.00162

JSON explain

{
  "query_block": {
    "select_id": 1,
    "having_condition": "processor_status = 'A'",
    "table": {
      "table_name": "storefronts_payments",
      "access_type": "system",
      "possible_keys": ["PRIMARY", "idx_storefront_id"],
      "rows": 0,
      "filtered": 0,
      "const_row_not_found": true
    },
    "read_sorted_file": {
      "filesort": {
        "sort_key": "cscart_payments.position",
        "table": {
          "table_name": "cscart_payments",
          "access_type": "ALL",
          "rows": 10,
          "filtered": 100,
          "attached_condition": "cscart_payments.`status` = 'A'"
        }
      }
    },
    "table": {
      "table_name": "cscart_payment_descriptions",
      "access_type": "eq_ref",
      "possible_keys": ["PRIMARY"],
      "key": "PRIMARY",
      "key_length": "9",
      "used_key_parts": ["payment_id", "lang_code"],
      "ref": ["dev.cscart_payments.payment_id", "const"],
      "rows": 1,
      "filtered": 100,
      "attached_condition": "trigcond(cscart_payment_descriptions.lang_code = 'en')"
    },
    "table": {
      "table_name": "cscart_payment_processors",
      "access_type": "eq_ref",
      "possible_keys": ["PRIMARY"],
      "key": "PRIMARY",
      "key_length": "3",
      "used_key_parts": ["processor_id"],
      "ref": ["dev.cscart_payments.processor_id"],
      "rows": 1,
      "filtered": 100,
      "attached_condition": "cscart_payment_processors.processor_script = 'stripe.php'"
    },
    "table": {
      "table_name": "cscart_addons",
      "access_type": "eq_ref",
      "possible_keys": ["PRIMARY"],
      "key": "PRIMARY",
      "key_length": "98",
      "used_key_parts": ["addon"],
      "ref": ["dev.cscart_payment_processors.addon"],
      "rows": 1,
      "filtered": 100
    }
  }
}

Result

payment_id company_id usergroup_ids position status template processor_id processor_params a_surcharge p_surcharge tax_ids localization payment_category payment description instructions surcharge_title lang_code processor_status processor_type processor_script
13 0 0 0 A addons/stripe/views/orders/components/payments/stripe.tpl 107 a:11:{s:9:"is_stripe";s:1:"Y";s:7:"is_test";s:1:"N";s:10:"webhook_id";s:0:"";s:18:"webhook_secret_key";s:0:"";s:15:"publishable_key";s:107:"pk_test_51N2IpRDiyBX6105KYGPGh0UY9kv7mjKxNiHnelE9hBPE473fqvCZqydSgEP4CEjMR33s1CFyb1EDXrFbW32uyYlG00NlUk8THW";s:10:"secret_key";s:107:"sk_test_51N2IpRDiyBX6105KE1RwAvCFEfPBJRtAL1YeHwPk1hozKU6POvJ8hInSJXJL5kvGAfJr2AZ6hsFs9Ik4jHS9iBLS00cDnPMyZD";s:19:"merchant_identifier";s:0:"";s:7:"country";s:2:"SE";s:8:"currency";s:3:"USD";s:12:"payment_type";s:4:"card";s:19:"show_payment_button";s:1:"N";} 0.300 3.250 tab1 Stripe en A P stripe.php