Discount Ninja requires control over the checkout button to ensure that, when the button is clicked, the visitor can be directed to a discounted Shopify checkout, prepared by Discount Ninja.
Other third-party solutions (typically shipping, pick-up, pre-order apps) may need to add logic before Discount Ninja takes over and handles the redirect to the checkout.
To resolve this, third-party solutions can use the following approach:
Add a class
limoniapps-discountninja-ignoreto the checkout button when your app needs control over the button.
Handle the checkout button
When ready, click the checkout button again after removing the ignore class
Alternatively, trigger the checkout programmatically (cf. https://support.discountninja.io/en/articles/3579852-client-side-api#h_b138fcd954)
Note that Discount Ninja automatically takes into account all parameters put in place by third-party apps that influence the checkout, including:
hidden input fields in the checkout form to prepopulate (typically shipping address) fields at checkout
a discount code applied in the checkout form
the selected currency
the selected locale
the note field