Access a community of over 900,000 Shopify Merchants and Partners and engage in meaningful conversations with your peers.
Hello,
I would like to use Shopify script API in order to hide a certain payment method based on the user's selection of the shipping method.
I would apperciaite any help.
From the API doc it doesn't appear possible as there is no indication in the Cart object of the selected shipping method and the Payment scripts only doesn't add any reference to shipping.
@BradKrane I was able to do it through liquid and some javascript, it's pretty stable and working fine.
how to if they select paid order redirect directly to razor payment gateway or they select COD comeplete the order
or maybe how o hide the payment gateway according to shippment selection
Ps i have shopify plus
@fullyfilmy a customers chosen shipping_rates ,or cart attributes are accessible in payment scripts so you would need to use javascript in checkout.liquid to hide/show payment methods
https://shopify.dev/docs/themes/liquid/reference/objects/checkout#checkout-shipping_method
https://shopify.dev/tutorials/develop-theme-layouts-best-practices
@PA I am trying to input the below in my checkout.liquid template - would you be able to help point out where I am getting this wrong ?
could you please share the steps as how did you do it? We are trying to the same for our store but no luck. Thanks in advance.
You require to have ShopifyPlus so that you can access the "checkout.liquid" file.
My previous response had a typo and I cannot edit it now:
a customers chosen shipping_rates ,or cart attributes are accessible in payment
that should be "are NOT accessible" for that information
@greysiweb There's no direct method for message passing between the different types of checkout-scripts(line items, shipping, payments).
So payments doesn't know what shipping method is selected in an obvious way.
The primary route is by modifying checkout.liquid using javascript to hide payment methods.
Always make sure to roll out such a change in increments and with monitoring.
If this is a business complication you should let the MSM for that Plus store know some sort of state-mgmt or message passing between script types is needed so merchants can avoid having to modify checkout.liquid
Otherwise alternatives gets into advanced work arounds using OTHER information as a message passing system such as customer tags , discount amounts(not sure if shipping discounts can be used for this), trying to use things like utility products but that would often mean modifying checkout.liquid anyway so it's moot for something like this I think.
Hello! I am in Shopify plus and have Script editor app. Please help!
you can do it in javascript by targeting the index of class
(function() {
var sourceEl = document.getElementsByClassName('review-block__content')[1];;
if (sourceEl.textContent.includes('Pick up'))
{
document.getElementsByClassName('radio-wrapper content-box__row')[2].style.display = "none";
}
})();
User | RANK |
---|---|
3 | |
2 | |
2 | |
1 | |
1 |