How to add your payment method without being a payment gateway?

I am a developer who is new to the Shopify community and the Shopify App development. I have a query about Shopify Payment methods.

I want to know if we can create payment method app that will visible on checkout page without being a payment gateway? We want to redirect users to our site and process payments through stripe.

If that’s not allowed and we have to be registered as a payment gateway, how is the stripe payfacs solution(https://stripe.com/guides/payfacs#stripes-payfac-solution)? If we use Stripe PayFac and become a payment gateway, will shopify allow?

Hi @izharrr99 ,

if you’re on Shopify Plus you could create a manual payment method and the set up a simple js script into the checkout.liquid to redirect the customers to the required url!

Thank you for your reply @francesco_gs .

Actually I want to introduce a payment method that any merchant can add in their store. Customers can use that payment method and get redirected on our site and we will process payments using stripe.

Your method for asking the merchants to add our code on checkout.liquid file would require the store to be on shopify plus. What about merchants who arent?

Also while we are on this. If we do build a script and redirect users by adding a “Checkout” button on product page, shopify will officially allow this? Processing payments and checking out outside shopify?

Hi @izharrr99 understood.

Even if manipulating the checkout.liquid is the simpler way, you can always add additional script to the checkout via Admin → Settings → Checkout → Additional scripts.

You could place a javascript redirect there which could be like this


-- OR --

please notice that the transactions object is an array so it should be iterated, even if the manual nature of the payment method you should set should avoid the necessity of the reiteration so also simply accessing the first level of the transactions array should work.

Once redirect the user of course you will need to use the API in order to manually approve the order on shopify which will be listed in status “pending payment”.

Another thing, instead of just redirecting you will probably need to transport the order number or the order id or some other kind of property in order to correctly match the order to set as paid on shopify, so for example instead of the simple window.location.href could be better using a fake form

Thank you so much @francesco_gs . That is an amazing solution.

I asked shopify support about this and they said it is against their rules and regulations as checkout is happening externally. Can you kindly confirm if all this is officially accepted by shopify?

As our app scales we will possibly have 1000’s of merchants onboard, so just need to follow the terms and conditions.

Hi @izharrr99 , not really sure about this, it would always better to prepare some scripts and ask for a more detailed check to shopify support.

I do know of gateway using this kind of flow not being listed as proper gateways as they manually process the payments, for example when you have to request loans and stuff like that, I guess it depends on the kind of external processing you’re going to do