5 Best Magento Payment Gateways in UK
1. WorldPay:Â Â
UKâs renowned payment processing company, WorldPay by FIS, has flexible plans for all sizes of businesses. Its pay-as-you-go model makes it the best choice for tech-savvy SMEs. In addition, Worldpayâs extension is readily available on Magento Marketplace; the Magento development agency to which youâve outsourced your e-store development project can easily configure it for you. Since it is largely based offline, they have card machines, POS systems, and digital payment options to serve the demand of todayâs phygital world. Compared with competitors, you will find WorldPayâs services a bit costlier. Their monthly plan comes for £19 per month with avg. transaction fees of 2.75% + 20p. Given their wide array of offerings, they are value for money. However, suppose you are one of the businesses that want to save money and check on a payment gateway accepting payments on zero charges. In that case, you may like exploring other payment gateways as well. Â2. Stripe:Â
Stripe is of the best payment gateways in the UK that serve businesses of all sizes. It accepts payment via debit/credit card/digital e-wallets/ pay later options. Theyâve provided offer libraries, no-code opportunities, pre-built integrations, and customization ability to ease the payment gateway integration process for developers. You can avoid third-party payment redirection by configuring Stripe for your Magento 2 store. Stripe serves across 25 countries and supports 135 currencies to help businesses flourish with their secure fraud-proof payment gateway. They donât charge subscription fees, minimum transaction fees, card storage fees, or setup fees, which also makes it apt for small and medium-scale businesses. If you use Stripe for your online store, you only pay for the transaction rates of 2.9% + 30 cents per successful transaction.Â3. Paypal: Â
Trusted by more than 220 million users worldwide, PayPal gained popularity while serving customers on eBay. Their payment Gateway, Payflow, is highly secure for merchants to integrate and receive payments from customers via digital payments. The good news for Magento store owners is that PayPal Express checkout is already integrated into the store. You can signup for their merchant services and configure your secret code and API key to start using it instantly. Powered by an instant money transfer feature, PayPal lets you transfer money from your wallet to your account within 30 minutes. It helps businesses maintain cash flow and fosters growth. In addition to PayPal express checkout, PayPal Zettle powers merchants to create seamless phygital experiences for their customers with their POS solutions. Merchants can keep all the payments in sync by accepting cards, contactless, and mobile payments; and manage centrally using their PayPal account. By linking the PayPal Zeetel extension to one's store, merchants can keep their physical and digital transactions in sync for a single inventory across all the platforms. You can configure Zettle by PayPal to your Magento store and pay them only for transactions you process. PayPal Zettle comes with no rental charges or package plans. For all significant transactions via cards/QR codes, you will pay 1.75% transaction fees, and for Zettle invoices or payments made via Zettle links, you pay 2.5% transaction fees. For grown e-tailers receiving card payments of £10,000 or more yearly, they also have tailored rate plans. Unless you have loads of chargeback concerns, you can count on PayPal integration for your business.Â4. Opayo:Â
Opayo (former Sage Pay) is an individual payment service provider (PSP) available for Magento retailers on the subscription model. Opayo has PI, Server, Form, Direct, and PayPal integrations. Also, it supports direct refunds, gift aids, and other additional features. You can also configure and sell product subscription plans for your products with Opayo payments. Select the payment methods of your choice and unlock diverse payment options for your customers. Opayo has 3 plans - Flex, Plus, and corporate with transaction limits of 350, 500 and 3000+, respectively. Pricing starts @ £20.90/month. Merchants can opt for the plan as they create an Opayo account. Can you also configure Apple Pay to your Opayo account? Yes, and you know why thatâs an advantage? Because around 31% of digital payment users in the UK count on Apple Pay to make payments. You can use Opayo Apple Pay to receive payments from your Apple Pay users simply by configuring the payment methods in your Opayo account. Learn here. Once you do that, you will be asked the domain link for which you want to enable the Apple Pay option, and then you can see the Apple Pay display button on compatible devices.Â5. Amazon Pay
I'm sure you've used Amazon Pay while shopping on Amazon, and that's the same payment gateway you can configure for your Magento 2 store. No subscription charges, and you pay for the transaction fees only of 2.7% + 30p for each transaction happening on your online store. That's a fair deal with the addition of ecommerce giant Amazon's name for startups and medium-scale businesses. It's smart to earn your shoppers' trust while selling proactively in your growth phase. In addition, you can accept payments in around 16 countries and benefit from Amazon's popular A-to-Z guarantee for in-transit damage or lost products during transit. Like the small hurdles that fall on your way in business, Amazon Pay integration has a few challenges, like your customer need to have an Amazon account to complete their transaction. Another one is it doesn't support PayPal purchases which impacts your sales opportunities lightly. If you are a drop shipper, you can't count on Amazon Pay; as for returns, you will be liable to offer a refund. If that's not your concern, you can integrate it into your Magento store.ÂProcess for Magento 2 get active payment methods
If you have a single store on Magento 2, you can check active payment methods under default store settings. When you are using the multi-store functionality of Magento 2 and like to check the active payment methods in each of your stores, you can try using below code:[code] class ABC{ protected $paymentMethodList; public function __construct( \Magento\Payment\Model\PaymentMethodList $paymentMethodList ) { $this->paymentMethodList = $paymentMethodList; } public function getmethods() { $storeId = 'your store id'; $this->paymentMethodList->getActiveList($storeId); } } [/code]
Hereâs how magento 2 create online payment method works:
Like to add a custom online payment method to your Magento 2 store? Follow the steps below:Â-
- Create the .js component file: Donât overwrite default magento code, add your customizations in a separate module. Create a separate file where general view will be like:Â
[code] define( [ 'Magento_Checkout/js/view/payment/default' ], function (Component) { 'use strict'; return Component.extend({ defaults: { template: '%path to template%' }, // add required logic here }); } ) [/code]
-
- Create .js component registering the renderer: The custom module directory registers payment method renderer in renderers list which must be located in <your_module_dir>/view/frontend/web/js/view/ directory.Â
[code] define( [ 'uiComponent', 'Magento_Checkout/js/model/payment/renderer-list' ], function ( Component, rendererList ) { 'use strict'; rendererList.push( { type: '%payment_method_code%', component: '%js_renderer_component%' }, // other payment method renderers if required ); /** Add view logic here if needed */ return Component.extend({}); } ); [/code]
-
- Create a template for payment method component: This template can use Kockout JS syntax.Â
[code] <your_module_dir>/view/frontend/layout/checkout_index_index.xml [/code]
-
- Declate suggestive payment method in layout Â
[code] <page xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" layout="1column" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd"> <body> <referenceBlock name="checkout.root"> <arguments> <argument name="jsLayout" xsi:type="array"> <item name="components" xsi:type="array"> <item name="checkout" xsi:type="array"> <item name="children" xsi:type="array"> <item name="steps" xsi:type="array"> <item name="children" xsi:type="array"> <item name="billing-step" xsi:type="array"> <item name="component" xsi:type="string">uiComponent</item> <item name="children" xsi:type="array"> <item name="payment" xsi:type="array"> <item name="children" xsi:type="array"> <!-- Declare additional before payment components. START --> <item name="beforeMethods" xsi:type="array"> <item name="component" xsi:type="string">uiComponent</item> <item name="displayArea" xsi:type="string">beforeMethods</item> <item name="children" xsi:type="array"> <item name="%your_feature_name%" xsi:type="array"> <item name="component" xsi:type="string">%path/to/your/feature_js_component%</item> </item> </item> </item> <!-- Declare additional before payment components. END --> <!-- Declare the payment method (the component that registrates in the list). START --> <item name="renders" xsi:type="array"> <item name="children" xsi:type="array"> <item name="%group name of the payment methods%" xsi:type="array"> <!-- Example of value: Magento_Authorizenet/js/view/payment/authorizenet--> <item name="component" xsi:type="string">%component_that_registers_payment_renderer%</item> <item name="methods" xsi:type="array"> <!-- Add this if your payment method requires entering a billing address--> <item name="%payment_method_code%" xsi:type="array"> <item name="isBillingAddressRequired" xsi:type="boolean">true</item> </item> </item> </item> </item> <!-- Declare the payment method (the component that registrates in the list). END --> <!-- Declare additional after payment components. START --> <item name="afterMethods" xsi:type="array"> <item name="component" xsi:type="string">uiComponent</item> <item name="displayArea" xsi:type="string">afterMethods</item> <item name="children" xsi:type="array"> <item name="%your_feature_name%" xsi:type="array"> <item name="component" xsi:type="string">%path/to/your/feature_js_component%</item> </item> </item> </item> <!-- Declare additional after payment components. END --> </item> </item> </item> </item> </item> </item> </item> </item> </item> </item> </argument> </arguments> </referenceBlock> </body> </page> [/code]