Multi-Currency Payment Plugin for Stripe

Payment plugin supporting multiple currencies. Implemented using StripeJS and Stripe API. Compatible with nopCommerce 3.60, 3.70, 3.80

This payment module is developed using Stripe as a payment processor (

You can configure the plugin to support multiple currencies. Note that:

  • You can define only one default account. This account will be used for currencies which do not have a special account.
  • You can assign a currency to one account only.
  • Your customers will be billed in the currency they have selected on the shop.
  • The conversion from the principal currency to the selected currency is done at the rate defined in nopCommerce.
  • If you do not have a Stripe Account defined for the targeted currency, and a default account is used, Stripe will charge a fee for converting the amount to the currency of your account
  • If there is no default account defined nor an account for the targeted currency, the payment method is not shown to the customer at checkout.
Operation Supported: Description
Authorize And Capture yes Authorize the payment and charge the customer at the same time
Authorize yes Authorize the payment and charge the customer at a later time
Capture yes Charge the customer
Void yes Void the payment (for authorized payments)
Refund (full) yes Refund the money to the customer.
Refund (partially) no
Partial refund is not supported due to the implications that would have, given the fact that the plugin is multi-currency
Recurring Payments yes Please read the notes below


Recurring payments notes: 

1) when a recurring product is ordered form nopCommerce, a Plan entity is created in the Stripe system, with the same Id as the product. Hence this 
Plan is created only the very first time that the product is ordered, the next times it will be re-used. You can indentify it in Stripe by the nopCommerce product id.
2) The created Plan has the recurring interval, number of cycles and the price of the product defined in nopCommerce 
3) Should the plan's price, periodicity or number of cycles change, the admin has to change it in the Stripe Dashboard as well
4) for each order a Customer is created in Stripe, and for each recurring product of that order, a Subscription ( in Stripe ) is created for the 
Plan corresponding to the recurring product. 
--> recurring products in nopCommerce should not be allowed to be ordered in qty greater than 1, because if a customer orders 2 or more of the same 
Membership product, for example, in the Stripe system they will only have ONE subscription to ONE Plan (the plan corresponding to the ordered product)
5) the Stripe CustomerId is saved in the SubscriptionTransactionId field, which can be seen on the order detail page in the Admin. This ID can later
be used to remove the customer from the Stripe system, along with its subscriptions
6) when the order is cancelled in the nopCommerce order page, all the Subscriptions attributed to that Customer are cancelled
7) please note that the Customer entity is created for each order. So even if the same person makes two orders on your website, with the same 
Contact details, and with the same payment details, they will have multiple Customers and Subscriptions in the Stripe system.


The plugin is implemented using Stripe.js, so Stripe will automatically generate a prefilled SAQ-A form for you, which you can find in your Stripe Dashboard - link here: 

For more information related to security: 


The plugin is developed using Stripe.js

The plugin is compatible with nopCommerce 3.60, 3.70, 3.80

Product tags
Customers who bought this item also bought

Nop-Payments Plugin for Authorize.Net

Payment plugin for nopCommerce, implemented using Accept.js and Authorize.Net API.