Marketplace/InAppPayments: Difference between revisions
Jump to navigation
Jump to search
Full Query
No edit summary |
(added banner) |
||
(2 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
{{Marketplace_banner}} | |||
This page discusses some improvements to In-app Payments for the Marketplace. | |||
} | |||
} | |||
== Issues == | |||
* Developers have to manage the in-app keys. | |||
* Developers require a server to store the in-app keys. | |||
* Developers respond to payment notices for success or failure. | |||
* Marketplace doesn't know anything about an in-app payment, meaning purchase history and refunds are empty. | |||
== Proposed solution == | |||
* App developers enters in a product and price on the Mozilla Marketplace developer hub and gets a URL for example /mozpay/product/shiny-pony/buy. | |||
* User clicks a Buy button. | |||
* App does a POST to /mozpay/product/shiny-pony/buy | |||
** That initiates a transaction on the server. | |||
** Server contacts the marketplace to record start of the transaction. | |||
*** Is there an issue here with matching up Marketplace persona accounts? (no, because we'll be using device receipts) | |||
** Creates the JWT and returns it to the client | |||
** The client receives the JWT and passes it to mozPay. | |||
* App polls the server waiting for a completed purchase... | |||
* When completed a receipt is returned to the client | |||
** Client installs the receipt probably with app.addReceipt() (bug https://bugzilla.mozilla.org/show_bug.cgi?id=757226) | |||
* App verifies the receipt is correct for that app. | |||
** App verifies the receipt against the receipt verification. | |||
* App grants access to product purchased. | |||
* User can revisit the marketplace and get a list of completed in-app payments. [out of scope] | |||
** Users can click a button to get a receipt for an in-app payment. | |||
*** App should check the receipt is correct for that app. | |||
*** App verifies the receipt against the receipt verification. | |||
== Issues == | |||
* Refunds and chargebacks will still need a server, although we will report that on a reciept check. | |||
* Lots of products? | |||
* revoking / updating receipt - ie. for subscription products? | |||
* developer testing | |||
* Current in app payment tester http://inapp-pay-test.paas.allizom.org/ | |||
* Multiple payment providers? | |||
** eg: create bango account, create in app payment, create timwe account then what happens | |||
* Existing https://github.com/mozilla/receiptverifier | |||
== Bugs == | |||
Tracking bug is {{Bugzilla|944480}}. | |||
<bugzilla> | |||
{ "blocks": ["944480"] } | |||
</bugzilla> |
Latest revision as of 02:23, 1 April 2016
This page discusses some improvements to In-app Payments for the Marketplace.
Issues
- Developers have to manage the in-app keys.
- Developers require a server to store the in-app keys.
- Developers respond to payment notices for success or failure.
- Marketplace doesn't know anything about an in-app payment, meaning purchase history and refunds are empty.
Proposed solution
- App developers enters in a product and price on the Mozilla Marketplace developer hub and gets a URL for example /mozpay/product/shiny-pony/buy.
- User clicks a Buy button.
- App does a POST to /mozpay/product/shiny-pony/buy
- That initiates a transaction on the server.
- Server contacts the marketplace to record start of the transaction.
- Is there an issue here with matching up Marketplace persona accounts? (no, because we'll be using device receipts)
- Creates the JWT and returns it to the client
- The client receives the JWT and passes it to mozPay.
- App polls the server waiting for a completed purchase...
- When completed a receipt is returned to the client
- Client installs the receipt probably with app.addReceipt() (bug https://bugzilla.mozilla.org/show_bug.cgi?id=757226)
- App verifies the receipt is correct for that app.
- App verifies the receipt against the receipt verification.
- App grants access to product purchased.
- User can revisit the marketplace and get a list of completed in-app payments. [out of scope]
- Users can click a button to get a receipt for an in-app payment.
- App should check the receipt is correct for that app.
- App verifies the receipt against the receipt verification.
- Users can click a button to get a receipt for an in-app payment.
Issues
- Refunds and chargebacks will still need a server, although we will report that on a reciept check.
- Lots of products?
- revoking / updating receipt - ie. for subscription products?
- developer testing
- Current in app payment tester http://inapp-pay-test.paas.allizom.org/
- Multiple payment providers?
- eg: create bango account, create in app payment, create timwe account then what happens
- Existing https://github.com/mozilla/receiptverifier
Bugs
Tracking bug is 944480.
76 Total; 0 Open (0%); 71 Resolved (93.42%); 5 Verified (6.58%);