We’ve developed an offsite payment extension. Our app TOML file contains supported_payment_methods = ["paymentMethod1"]
Our issue is that these supported payment methods are hardcoded into our TOML file which means they cannot be different for each merchant e.g. we only want consumers to see “paymentMethod1” for merchants that have activated “paymentMethod1” in our system.
Ideally, during checkout, Shopify would call out to our system to retrieve the payment methods the merchant supports. Then we can dynamically configure our single pay button to show names/logos for the accepted payment methods. Is this possible?
Additionally, we’d also like each merchant to be able to toggle these payment methods on/off from Shopify and have those updates reflected in our system too. That way merchants never need to leave Shopify to configure payment methods in our system.
Other options that might help us if they’re possible:
- Full control over how our offsite payment extension is presented on the merchant site. If we could host a custom pay button (like PayPal) we could manage display merchant specific payment methods there
- Embedding custom UI into the Shopify merchant’s admin area to allow them to toggle the payment methods in our system
Would this be a custom app or a public app?
@Liam-Shopify Not 100% sure, probably a public app? We send an install link to merchants which they use to turn on our payment method. It’s an offsite payment extension if that helps.
@Liam-Shopify actually yes it is a public app
Is there a way to create business logic that would display a specific payment method based on the merchants settings, instead of including all the options in the toml
? Perhaps with using Shopify Functions: About Shopify Functions
@Liam-Shopify We’ve looked into Shopify functions and we don’t think it would work for our use case.
- Merchants would have to install the payment function as well as our offsite payment extension. We only want 1 install link for merchants.
- The payment function does not have network access according to this link. We would need network access as it would need to look up the payment options in our system upon checkout.
Please correct me if I am wrong on either of the two above points.
It looks like you’re correct and Functions may not be a good fit for this use-case. How many payment method options would there be for customers to choose from?
If they install our offsite payment extension, they would get our payment method alongside all of their other chosen payment methods. We have no control over the other payment methods.