Currency on a pledge is unusable if we’re catering to creators, since they wouldn’t have a pledge to their own campaigns, so we couldn’t show which currency they use in their own UI, we’d only be able to get it (in a roundabout way like you said) for their users, though that value would still be wrong (see below).
The currency on a pledge will be in the patron’s currency, not in the campaign’s currency. I’ve also tested this on my own account, and as a creator, my currency is USD, but as a patron, my currency is CAD, therefore my pledge to a creator is in CAD, and that creator’s own campaign currency was GBP. I also checked the campaign_lifetime_support_cents
value and it was indeed the lifetime support I’ve given in the creator’s currency (GBP, not my pledge currency of CAD).
You can see that in the Pledge documentation itself, that the currency is in the Patron’s own currency (in the currency in which the patron paid
), not the campaign’s.
The API docs clearly say “in the campaign’s currency” for the lifetime contribution, and yet, it’s an information that is not available anywhere:
Also, campaigns do have a currency, as a creator, I can’t change my currency on a per-tier level, and they all use my campaign’s currency:
You can also clearly see the currency field is provided for the type Campaign when using the API v1.
But trying to specify the field on a v2 API call gives an error:
Also note how campaign_currency
is also a field provided on the Member object on API v1, but is missing in API v2
In conclusion, a Campaign
does have a currency
field and a Member
does have a campaign_currency
field, both being available in API v1, but both missing on API v2. Adding the ability to get that information via the available fields of v2 would fix the problem.
Finally, though we don’t need this for our own integration, for your information, a User
object also has a patron_currency
field which is also missing from the API v2 but was there in API v1.
I hope this helps you better understand the situation and provide us with a fix.
Thank you.