Add public_id to purchase JWT (bug 998151)

- Change generic product to be shared across payment accounts
- Add public_id to JWT
- Update tests