I am working for an international NGO with memberships. They want to be able to sell memberships in USD, EUR and GBP. The contribution forms will deal with this for donations, etc. The contributions form will also switch the membership currency to the one give in the Amounts page, but the value is the value given in the Membership type. Logical enough, but the membership type seems to be tied only to the default currency. Is there a way to define a membership prices set or even a separate membership in another currency?


  • I should add that our default currency is presently USD, so membership types seem currently locked to that currency.
    – kapn
    Jan 30, 2019 at 20:10
  • are you using Price Sets?
    – petednz - fuzion
    Jan 30, 2019 at 23:41
  • I have the exact same question. Frederik
    – Frederik
    Jan 31, 2019 at 4:38

1 Answer 1


There are many ways you can do this

  1. Create contribution page and price set for each currency. Provide a list of contribution page to user and based on currency they can use the contribution page

  2. Create contribution page and price set for each currency. Add currency field on each contribution page using buildform hook and on selection of currency load the respective contribution page.

  3. Create a price set with radio field and have all the currency as options with same membership type. Using buildform or buildAmount hook change the amount or field label to include currency(not necessary if can add it price field option label). On submit of 1st page set currency in postProcess hook in $form so that right currency is set to send it to payment processor.



  • 1
    Turning that third option into an extension would be a useful project!
    – Aidan
    Jan 31, 2019 at 13:26
  • Agreed! This is been an requirement for so many people in the community. Jan 31, 2019 at 13:28
  • Thank you for the pointers. I haven't quite reached the end of my odyssey, but I feel like I'm on the right track now.
    – kapn
    Feb 8, 2019 at 16:20
  • In the third option, It is definitely simpler for the user. But I was thinking from the Contribution Page Form Creator, will that person have to set amounts for all different currencies separately or probably translate amount given in one currency to different currency. Which is better? I am talking in case of price sets. Mar 21, 2020 at 13:27

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.