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.