Magento 1 and 2 Payment Methods Tutorial

While configuring Magento 1 or Magento 2 store you’ll need to set up required payment methods. In this tutorial, you'll find all the payment methods settings available in these platform versions by default.

Use this Order Export to receive all the data related to orders in one place including payments.

Magento 1 Payment Methods Setup

PayPal Payment Methods

Saved CC

Check / Money Order

Zero Subtotal Checkout

Bank Transfer Payment

Cash On Delivery Payment

Purchase Order

Authorize.net Direct Post

Authorize.net

Want to analyze all the orders during this fortnight or any custom period? Just for the record, our Magento Export Orders can help you with this.

Such payment methods as PayPal All-In-One Payment Solution, PayPal Express, Bank Transfer, Pay On Delivery and Authorize.net Direct Post are of effect in Magento 1 by default. To make configurations of the payment methods switch to the full bead-roll.

To see the list of Magento payment methods navigate to payment methods table System>Configuration>Sales>Payment Methods:

M1-payment-methods 

All the payment methods are supplied with a down-drop menu where you can make all the appropriate settings.

Choose your webshop location, e.g.: the United States. In case no location is chosen, a default country will be set automatically:

merchant-location-magento1 

PayPal Payment Methods

Let's overview the PayPal payment methods offered in Magento 1.

PayPal All-In-One Payment Solutions

Select a secure bundle magento payment solution from the tab:

paypal-all-in-one-magento1

PayPal Payment Gateways

Make relevant settings in the section if you want to use your own merchant account for payments processing:

paypal-gateway-magento1

PayPal Express Checkout

Extend your payment methods with custom payment method or use it as a stand-alone option:

paypal-express-checkout-magento1 

Saved CC

Decide whether your Magento customers can pay by a save credit card information. !Attention: saving customer's’ private data boosts your security risks. In this case, it’ll be harder to comply with PCI (Payment Card Industry) requirements!:

saved-cc-magento1

Check / Money Order

Determine whether your clients can pay by check/money order:

check-money-order-magento1

Zero Subtotal Checkout

Set up the payment method to run it for the order that has grand total = 0. The case can occur when a discount or a coupon with free shipping fee are applied to an order:

zero-subtotal-checkout-magento1

Bank Transfer Payment

Let your customers pay by transferring payment directly from their bank account to yours:

bank-transfer-magento1

Cash On Delivery Payment

Decide whether your customers can pay with cash at the time of delivery (COD):

cash-on-delivery-magento1

Purchase Order

Set the option to ‘Yes’ if you want your clients to be able to pay by purchase order (PO):

purchase-order-magento1

Authorize.net Direct Post

Choose whether to activate the Authorize Direct Post Method  within the current settings:

authorize-direct-magento1

Authorize.net

Choose either to disable/enable the Authorize.net payment gateway:

authorize-net-magento1

Magento Custom Payment Method

Having checked the tab, you may need to get all Magento payment methods active. For this, navigate to app/code/core/Mage/Payment/Model/Config.php:

  • To get a list with all active/inactive payment methods use the command:

$allAvailablePaymentMethods = Mage::getModel('payment/config')->getAllMethods();

  • To learn all the credit cards supported by Magento run the next command:

$allCcTypes = Mage::getModel('payment/config')->getCcTypes().

If you need to set up a custom payment method, you’ll have to make backend configuration setup, namely, create a custom payment method module. Also, a self-made payment method extension can be created to plug in your choice of payment gateway.

Besides, you can extend your Magento payment functionality by implementing the Payment Restrictions extension and Shipping & Payment By Customer Group. With the use of the modules, you can add payment restrictions based on country, state or other shipping regions, as well as block specific methods by customer groups.

Magento payment gateway

To put the process of transactions authorization, funds and customer accounts blocking, etc. on payment provider in Magento, you’ll need to find a good payment gateway. Any payment gateway offers service charging a fee. Merchants choose gateways to give their customers a possibility to pay for orders without a necessity to enter the credit card numbers, which exonerate you from the responsibility for collecting private data. The magento credit card payment details collected by a gateway provider are encrypted during the transmission from a retailer to a credit card company. Besides, the gateways will supply your clients with special financing programs.

However, the process can be complex and can include several steps of data transferring: 

  1. A merchant >>>details>>> a payment gateway;
  2. The payment gateway>>>details>>>the payment processor;
  3. The payment processor>>>details>>>a credit card company;
  4. The credit card company authorizes the payment and transmit the funds to the merchant.

Magento payment gateway list includes numerous companies offering the service under various arrangements. Magento payment services: 

  1. PayPal;
  2. Authorize.Net;
  3. Braintree;
  4. Sage Pay;
  5. Google Checkout;
  6. Amazon Payment;
  7. WePay;
  8. 2CheckOut;
  9. Dwolla;
  10. Scrill.

Take a search for a payment gateway provider seriously, as the transmitted payload might include payment details, order items, shipping/billing addresses, customer details, taxes, and API credentials, which compels to implement additional security measures.  

Magento 2 Payment Methods Setup

In this part, we'll tell you what payment methods Magento 2 and how to add the desired payment method.

PayPal Payment Methods

Cash on Delivery Payment

Check / Money order

Bank Transfer Payment

Zero Subtotal Checkout

Purchase Order

Authorize.net Direct Post

Magento 2 offers a wide list of default payment methods. In this regard, you may have questions coming from the basic payment methods choice and setting. 

Here is a complete list of default payment methods in Magento 2: 

all-payment-methods-magento

  • PayPal Express Checkout;
  • Braintree;
  • PayPal All-in-One Payment Solutions;
  • PayPal Payment Gateways;
  • Cash On Delivery Payment;
  • Check/Money Order;
  • Bank Transfer Payment;
  • Zero Subtotal Checkout;
  • Purchase Order;
  • Authorize.net Direct Post.

To set up payment methods in Magento 2, first off, go to Stores>Configuration to see all the payment methods:

stores-configuration-payment-magento

and set Merchant Location in the Stores>Configuration>Sales>Payment Methods menu:

merchants-location-magento

If you don’t choose a right country, it will be left as default, which can cause further issues.

PayPal Payment Methods

Magento 2 offers the next PayPal methods. Let’s learn the difference and look at the basic settings.

PayPal Express Checkout

express-checkout-magento

The method allows your customers to click the PayPal button and starts the process of checkout in a PayPal window. He/she logs into the PayPal account or is logged automatically if the PayPal One Touch is enabled. The customer reviews the purchases and authorizes the payment. To finish the payment, PayPal returns control to your store (you can display the payment details on a confirmation page).
To set PayPal Express Checkout, you need to enable the payment method here:

enable-paypal-magento

Then if you have a personal account in PayPal system, proceed with the Basic Settings:

enable-paypal-magento

Title: enter the title, which is to be mentioned on the checkout page; 
Sort Order: define the position number of the payment method on the checkout page.
Payment Action: choose one of the 3 options;
Display on Product Details Page: select ‘Yes’/’No’ option.
Proceed with the Advanced settings that include PayPal Billing Agreement SettingsSettlement Report SettingsFrontend Experience Settings.

Braintree

braintree-method-magento

The payment method offers a fully customizable checkout experience for your customers. It includes fraud protection and PayPal integration. In this case, the transaction takes place on the Braintree system, which reduces the PCI compliance burden for merchants. See here to configure it correctly.

PayPal All-in-One Payment Solutions

The solutions includes three options:

all-in-one-paypal-magento

All the details of the configuration you can see by references:
Payments Advanced - is a PCI compliant solution, it lets customers pay by their debit or credit card right on your website. The embedded checkout page is highly customizable. 
Payments Pro - is a completely customizable solution, which allows you to gain from a merchant account and payment gateway, and rule your own checkout process. However, PayPal Express Checkout is already enabled with PayPal Payments Pro solution!
Payments Standard - is a solution that offers you to swipe credit cards on mobile devices. It allows Magento 2 users to checkout with Visa, MasterCard, Discover, and American Express card types.

PayPal Payment Gateways

paypal-gateway-magento

All the details of the configuration you can see by references:
Payflow Pro - is a gateway also known as Verisign and available to the US, Canada, Australia, and New Zealand. In this case, the merchant’s account at PayPal is linked with the website and associated with both the merchant account and gateway. 
Payflow Link - is a gateway available to the US and Canada only. In this case, your customers are not required to have a personal PayPal account. The credit card information won’t be stored on your store server. However, the solution can’t be applied for orders created from the Admin Panel.

Cash on Delivery Payment

The payment method allows you to enable customers to pay for shipping carrier who is to bring the money back to the store owner. 

From the Configuration menu navigate to Sales>Payment Methods and open the drop-down settings of the payment method:

cash-on-delivery-magento

Enabled: set to ‘Yes’ in case you need the method. For this, untick the ‘Use system value’;
Title: enter the title, which is to be mentioned on the checkout page;
New Order Status: set the status the order acquires in case formed with the payment method;
Payment from Applicable Countries:‘All allowed countries’ - customers from all the countries defined in your store configurations can use the payment method; 
Payment from Specific Countries: ‘Specific Countries’ - select all the needed countries manually from the list.
Instructions: fill in instructions for customers to make a COD payment correctly;
Minimum Order Total: define the minimum order total;
Maximum Order Total: define the maximum order total;
Sort Order: define the position number of the payment method on the checkout page.

Check / Money order

The payment method (as well any other method) can be set for some countries only if needed.

  • Open the drop-down settings of the payment method:

check-money-order-magento

Enabled: set to ‘Yes’ in case you need the method. For this, untick the ‘Use system value’;
Title: enter the title, which is to be mentioned on the checkout page;
New Order Status: set the status the order acquires in case formed with the payment method;
Payment from Applicable Countries: ‘All allowed countries’ - customers from all the countries defined in your store configurations can use the payment method;
Payment from Specific Countries: ‘Specific Countries’ - select all the needed countries manually from the list.
Make Check Payable to: fill in the name of the party to whom the check will be payable;
Send Check to: fill in the street address/PO Box to where the checks are sent;
Minimum Order Total: define the minimum order total;
Maximum Order Total: define the maximum order total;
Sort Order: define the position number of the payment method on the checkout page.

Bank Transfer Payment

The payment method activates payment transferring from customers bank accounts and deposits into your bank account.

  • Open the drop-down settings of the payment method:

bank-transfer-magento

 

Enabled: set to ‘Yes’ in case you need the method. For this, untick the ‘Use system value’;
Title: enter the title, which is to be mentioned on the checkout page;
New Order Status: set the status the order acquires in case formed with the payment method; 
Payment from Applicable Countries: ‘All allowed countries’ - customers from all the countries defined in your store configurations can use the payment method; 
Payment from Specific Countries: ‘Specific Countries’ - select all the needed countries manually from the list.
Instructions: fill in the instructions your customers will follow to set up a bank transfer. You may need to include such information as bank account name, number, routing code, bank name, and address;
Minimum Order Total: define the minimum order total;
Maximum Order Total: define the maximum order total;
Sort Order: define the position number of the payment method on the checkout page.

Zero Subtotal Checkout

The payment method is available for orders created from both the backend or frontend and can be used in the next situations:

  • the entire purchase price is covered by a discount if there is no additional payments for Magento 2 shipping method;
  • a customer purchases virtual/downloadable products and the product cost is not equal to zero;
  • a simple product price is equal to zero and a free shipping method is available and applied.

Open the drop-down settings of the payment method:

zero-subtotal-checkout-magento

Title: enter the title, which is to be mentioned on the checkout page;
Enabled: set to ‘Yes’ in case you need the method. For this, untick the ‘Use system value’;
New Order Status: set the status the order acquires in case formed with the payment method;
Payment from Applicable Countries: ‘All allowed countries’ - customers from all the countries defined in your store configurations can use the payment method; 
Payment from Specific Countries: ‘Specific Countries’ - select all the needed countries manually from the list.
Sort Order: define the position number of the payment method on the checkout page.

Purchase Order

The payment method allows commercial customers to pay for an order by placing the PO number. In this case, you will need to establish the creditworthiness of the commercial customer.

  • Open the drop-down settings of the payment method:

purchase-order-magento

Enabled: set to ‘Yes’ in case you need the method. For this, untick the ‘Use system value’;
Title: enter the title, which is to be mentioned on the checkout page;
New Order Status: set the status the order acquires in case formed with the payment method;
Payment from Applicable Countries: ‘All allowed countries’ - customers from all the countries defined in your store configurations can use the payment method; 
Payment from Specific Countries: ‘Specific Countries’ - select all the needed countries manually from the list;
Minimum Order Total: define the minimum order total;
Maximum Order Total: define the maximum order total;
Sort Order: define the position number of the payment method on the checkout page.

Authorize.net Direct Post

The payment method allows your customers to make payments right on your site.

  • Open the drop-down settings of the payment method:

authorize-magento

Enabled: set to ‘Yes’ in case you need the method. For this, untick the ‘Use system value’;
Payment Action: choose the one you need ‘Authorize Only’ (creates an order, you can make an invoice and capture the funds later) can be or ‘Authorize and Capture’ (places an order, creates an invoice and captures the funds simultaneously);;
Title: enter the title, which is to be mentioned on the checkout page;
API Login ID and Transaction Key: set up and then configure your Authorize.net account, fill in the information;
Merchant MD5: enter the data you’ve got as a result from the previous field;
New Order Status: set the status the order acquires in case formed with the payment method;
Test Mode: set it to ‘Yes’;
Gateway URL: specify the default link from the Authorize.net;
Accepted Currency: indicate the currency you need;
Debug: enable the option if you want the information to be transmitted between your webstore and Authorize.net system;
Credit Card Types: define the types you need;
Credit Card Verification: enable the option to make your customers fill in a CVV code as it is an important step of credit card validation which can be implemented in Magento;
Payment from Applicable Countries: ‘All allowed countries’ - customers from all the countries defined in your store configurations can use the payment method; 
Payment from Specific Countries: ‘Specific Countries’ - select all the needed countries manually from the list;
Minimum Order Total: define the minimum order total;
Maximum Order Total: define the maximum order total;
Sort Order: define the position number of the payment method on the checkout page.

Custom Magento 2 payment gateway integrations

We have considered default payment options, but you can create an unlimited number of custom credit card payment methods in your Magento 2. You can do it via extensions, for example, Stripe Payment, or via Magento payment provider gateway.

The Stripe Payment extension allows you to provide payments via automatic invoicing with 3D Secure support and flexible refund issuing options. It covers all payments and is fully compliant with the Payment Service Directive (PSD 2).

The latter is a tool that allows you to connect your shop with third-party payment service providers. Additional Magento payment gateway can help you cover the international markets. For example, the Paytm payment gateway covers the Indian market, and Alipay allows your customers from China to buy products in the usual way. Moreover, according to the Baymard Institute report, you may lose around 6% of customers if you don’t have enough payment methods.

Payment provider supports all the operations that you may need for your Magento 2 custom payment gateway:

  • authorization: this process authorizes a transaction and blocks the needed amount of money on a customer account, but not withdraws.
  • sale: this is the full payment operation that includes transaction authorization, capture, and withdrawal of money.
  • capture: this process withdraws a previously blocked amount of money.
  • refund: this operation returns previously withdrawn money on a customer account.
  • void: this is the cancelation of funds transfer from a customer account.

Note: learn more about the payment provider gateway and its settings in the official documentation.

Don’t forget to save all the settings and flush store cache once you finished. Configured the payment methods of choice, you can implement the Payment Restrictions for Magento 2 extension. With the use of the module, you’ll be able to restrict particular payment methods based on various options, such as shipping address, customer groups, store view and even product attributes.  

Magento Custom Development Service can help you with Magento payment module development services and other custom module development issues as our specialists take on projects of any complexity and do their best to turn your ideas into reality.

How can I create a custom payment method in Magento 2?

To create a custom payment method in Magento 2, follow these steps:

  1. Create a new module or use an existing one to add your custom payment method.
  2. Implement the necessary code to handle the payment process, including capturing, authorizing, and processing payments.
  3. Configure the payment method settings in the Magento admin panel.
  4. Test and verify the functionality of your custom payment method. Once configured, your custom payment method will be available for customers to select during the checkout process in Magento 2.

How can we help you?

Didn’t you find the answer to your question? We are always happy to help you out.