Single Payment Method vs. Multiple Payment Methods
A Recharge Payment Method is the representation of a customer's payment vehicle. Payment methods are an important part of how Recharge works with merchants and their customers. Merchants want to offer a simple and easy way for their customers to purchase products and set up subscriptions. Customers, on the other hand, want to have flexibility in how they pay for these products and subscriptions. Originally, merchants and customers using Recharge were able to define one payment method linked to a Customer. Once a customer added a payment method, that payment method would be linked to the customer and used for all charges.
To provide additional flexibility for customers to pay for subscriptions, Recharge has introduced Recharge Payment Methods (RCPM). This feature allows customers to have multiple ways to pay for items.
Recharge’s representation of a payment vehicle is called a Payment Method. A Payment Method can be a Credit Card, an eWallet, PayPal (and more).
Recharge’s modeling of the means by which customers can pay has evolved from Simple Payment Method (aka Single Payments) to Multiple Payment Methods.
Single Payment Method
With the Single Payment Method approach, a single payment method is used as the one payment method for a customer. This payment method is used by our charge processing for all payments.
A customer would like to purchase coffee beans and have them delivered to their office, as well as coffee beans delivered to their home. One single payment method will be used for these charges.
Multiple Payment Methods
With the Multiple Payment Methods approach, you can provide your customers additional flexibility by allowing multiple addresses to be linked to the same payment method. With Multiple Payment Methods, you can store multiple payment vehicles for a single Customer. The Customer then chooses to associate one of the saved Payment Methods to each of their Addresses.
Figure 1. Single Payment Method Representation (payment_source)
Please note that there is still only one default payment method for each address.
Like the previous example, a customer would like to purchase coffee beans and have them delivered to their office, and coffee beans delivered to their home. Instead of using a single payment method, the customer can now use two different payment methods for these charges. So the customer uses their professional credit card for the coffee beans delivered to their office, while using a personal credit card for the coffee beans delivered to their home.
The Multiple Payment Methods approach also allows for a Single Payments setup, which means that Multiple Payment Methods supersede the original Single Payment Method approach.
Payment Method Representations in the Recharge API
Since Multiple Payment Methods also encompasses the ability to model Single Payments, Multiple Payments Methods is the way to represent a customer’s different means of payment with Recharge starting from API version 2021-11.
Single Payment Method (aka payment_sources) will remain supported by 2021-01.
If you want to enable multiple payment methods, you must use API version 2021-11.
The figure below illustrates how multiple payment methods can be associated with a customer.
|Single Payment Method||payment_sources|
|Multiple Payment Methods||payment_methods|
A customer may be associated with many different payment methods, but an address record can be associated with only one payment method.
The sections below present a typical use case and business logic for the two different types of supported payment features: using a single payment method, and using multiple payment methods.
Using a Single Payment Method
A customer decides they want to enroll in a meal delivery subscription service to have fresh, pre-cooked meals delivered to his home, saving the amount of time spent preparing and cooking meals. The customer sets up a subscription with the merchant and adds a single payment method (a personal credit card) that is linked to the customer’s home address. This one payment method is linked to the customer’s address and will be used for all future charges as long as the subscription is active.
Using Multiple Payment Methods
The customer finds out that they really enjoy the home meal delivery and decides to purchase another subscription to have lunches delivered to their office. However, the customer would like to use two different payment methods for these subscriptions since they can use their work credit card to expense their lunches.
With Multiple Payments, the customer continues using the original payment method used when the home meal delivery was set up, but now needs to set up a new subscription for lunch delivery to a new address (their office address). Instead of only being able to use one payment method for both subscriptions, the customer now has the ability to use two different payment methods; one for their home meal delivery, and another for their office lunch delivery. So the customer adds their work credit card for their office lunches, which is linked to their office address.
In this use case, there are two different payment methods used: a personal credit card, and a professional credit card, each linked to different addresses.
Working with Multiple Payment Methods and SCI Stores
If your store is an SCI store, multiple payment methods will automatically be enabled. There are a few things you should take note of when using this feature.
The Payment Methods model also applies to stores that use Shopify Checkout Integration (SCI). When using multiple payment methods for an SCI store, there is a slight difference from other setups. SCI stores use the Shopify platform to process charges, and because of this, Shopify “owns” the definition of the different payment methods. You will still be able to read payment methods using the Recharge API, but will be unable to manage these payment methods.
1. Why are payment methods linked to an address and not a subscription?
Having a link to an address, instead of a subscription, allows for the aggregation of charges at the address level. If charges are due on the same day for the same address, but for different products, then all charges will be collapsed into one single charge.
2. How can customers manage their payment methods?
Novum, Prima, and Theme Engine version 2 will include new flows that allow customers to:
- Add/update/remove payment methods.
- Select which payment method to use when creating new shipping addresses. The customer must select a payment method for a new shipping address.
- Switch payment methods for a given address.
However, the following constraints will remain in place for now:
- Customers can only update credit cards (by replacing the data) or IBAN for SEPA direct debit (if enabled on the store). PayPal, Apple pay, Google pay, etc. cannot be updated and would require a fresh checkout to change or edits made via the payment processor directly.
- Customers are unable to add credit cards or IBAN for SEPA direct debit (if enabled on the store)
- For SCI stores, the payment method will need to be on Shopify. For stores migrated from RCI to SCI, new addresses can have SCI or RCS payment method.
3. How do we know which payment method to use when processing a charge?
A payment method can be linked to one or more addresses, while an address can only have one default payment method. When processing a charge for a given subscription (or a set of subscriptions) Recharge will reference the address to get the associated default payment method. If no payment method is linked to the address, the customer will not be able to be charged for the transaction.
4. The store uses both Stripe and Braintree; how do we keep track of which one to use?
Each payment method is defined with which payment processor to use (e.g. PayPal will always use Braintree) and we only rely on the information in the charge and the payment method when processing a charge. Any store or customer-level information about payment processors is ignored.
5. I tried using the payment_methods endpoint, but received the following error: “You do not have sufficient permissions (scopes) for this object.” What should I do?
Updated over 1 year ago