Make currency user-selectable

Created on 9 June 2023, over 1 year ago

1.0 Problem/Motivation
We'd like currency to be user-selectable. We recognize that it's not practical for most folks, because the bank account tied to the payment processor controls what currency is accepted. However, we plan to change this via Twig (or with Webform variants) to match different payment processors. "Pay Later" folks could also select freely.

3.0 Proposed resolution

I also took an initial look. The functionality itself is straightforward. The issue is maintaining the current display of currencies - e.g. "$ USD" and not "United States Dollar". This is done via a custom function, which no "normal" field does. I think in `Fields.src` we want to create a new property "optionCallback" similar to "valueCallback" that allows populating the options via a callback function.

We can use the existing call to `CRM_Core_OptionGroup` which has the added benefit of restricting us to currencies enabled in Civi.

@KarinG this is the issue we'd like to sponsor.

✨ Feature request
Status

Active

Version

6.0

Component

CiviCRM Data Handling

Created by

πŸ‡ΊπŸ‡ΈUnited States MegaphoneJon

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

  • Issue created by @MegaphoneJon
  • Status changed to Postponed over 1 year ago
  • πŸ‡¨πŸ‡¦Canada karing πŸ‡¨πŸ‡¦

    Jon pinged me to let me know this is postponed (for now).

  • As an international charity organization we desperately need this feature. And we don't care that "United States Dollar" will be displayed instead of "$ USD". Is it possible to implement "1st phase" of this problem without proper display handling? Or maybe there is a way for me to patch a code locally?

  • πŸ‡¨πŸ‡¦Canada karing πŸ‡¨πŸ‡¦

    This would require some development work - are you perhaps able to sponsor a some hours? Ping me on Mattermost -> karing.

  • Dear Karin,

    following gshilin message

    I hope this message finds you well.
    As an international charity organization, we urgently require this feature. We are willing to proceed with an initial implementation even if the display shows "United States Dollar" instead of "$ USD."
    Could you kindly confirm if it's possible to implement a "first phase" of this solution without addressing the display handling at this stage? Alternatively, is there a way for us to apply a local code patch to achieve this functionality?
    Please note that we do not utilize Mattermost.
    Looking forward to your guidance.

    Best regards,
    yafit

Production build 0.71.5 2024