- set an app to paid
- choose $0.00
- add a bank account
- click save
We get this error in solitude:
/bango/premium/: BangoError PRICE_ZERO_FOR_NON_FREE_ACCESS_MODEL: The price cannot be zero when the supplied access model is not 'free'
File "/data/www/payments-dev.allizom.org/solitude/lib/bango/resources/cached.py", line 48, in obj_create
resp = getattr(get_client(), self._meta.simple_api)(form.bango_data)
File "/data/www/payments-dev.allizom.org/solitude/lib/bango/client.py", line 83, in call
File "/data/www/payments-dev.allizom.org/solitude/lib/bango/client.py", line 96, in is_error
raise BangoError(code, message)
BangoError PRICE_ZERO_FOR_NON_FREE_ACCESS_MODEL: The price cannot be zero when the supplied access model is not 'free'
Zamboni is calling make_premium with the initial price of zero. My guess is if the app is paid but 0.00, we should call UpdateAccessModelFree. We could do all this at the solitude level. We haven't addressed updating the access model yet and changing prices.
If the app is free, we don't need to call MakePremium() at all. We don't need to send free products through Bango's system, we have our own metrics. However, we do need a solitude product + secret for in-app payments to work.
I'll file a bug to add support for the endpoint to keep Solitude in sync with zamboni for the price.
Having an app with in-app payments with price to tier worked fine @ https://marketplace-dev.allizom.org/developers/app/test-app-fawn129/payments/