Intent to Ship: Digital Goods API 2.1

111 views
Skip to first unread message

Rouslan Solomakhin

unread,
Apr 11, 2022, 10:45:43 AMApr 11
to blin...@chromium.org, gle...@chromium.org

Contact emails

gle...@chromium.org, rou...@chromium.org


Explainer

https://github.com/WICG/digital-goods/blob/main/explainer.md#api-v21


Specification

https://wicg.github.io/digital-goods/

Difference between 2.0 and 2.1


Design docs

https://github.com/WICG/digital-goods/blob/master/explainer.md

https://docs.google.com/document/d/1Jbt2Mzt-xg1cWVlFScBQsoX_pE8Kg1gYpulxUSV8FM0/edit


Summary

We would like to ship a non-breaking addition to the existing Digital Goods API. This change:

  • Adds to DigitalGoodsService:

    • Promise<sequence<PurchaseDetails>> listPurchaseHistory();

  • Adds to ItemDetails:

    • ItemType type;

    • sequence<DOMString> iconUrls;

    • unsigned short introductoryPriceCycles;

  • Adds enum ItemType.


Use of the new methods/fields will require developers to update supporting code in their apps, such as Android Browser Helper.


Blink component

Blink>Payments


Search tags

payments, billing


TAG review

https://github.com/w3ctag/design-reviews/issues/571 


TAG review status

TAG continues to think of DGAPI as a “product-specific API within one company.”

Other issues addressed.


Risks

Interoperability and Compatibility

Similar to Payment Request: this API is used to talk to specific store backends, and so its usage is tailored to the specific store. The reason it's a proposed web standard is so that the same code (which is specific to one store) is portable across browsers.


Gecko: No signal (https://github.com/mozilla/standards-positions/issues/349) Requested 2020-05-27


WebKit: No signal (https://lists.webkit.org/pipermail/webkit-dev/2021-October/032001.html) Requested 2021-10-08


Web developers: Positive (https://discourse.wicg.io/t/proposal-web-payments-digital-product-management-api/4350)


Other signals: rouslan@ presented DGAPI at 2021 TPAC (meeting notes) and at a PWA Dev Sync (meeting notes). Other browser implementers and app stores do not appear to have immediate plans to engage with DGAPI. There were some questions, no objections.


Ergonomics

Used in tandem with the Payment Request API.


WebView Application Risks

This API is disabled in WebView.



Debuggability

We have had several requests from developers to make the API easier to debug, but it is difficult due to the interaction with a backing service based in an app/store context. We are looking for suggestions (https://github.com/WICG/digital-goods/issues/33) on how we might improve the debuggability of the API.


Is this feature fully tested by web-platform-tests?

The tests are in //third_party/blink/web_tests/wpt_internal/digital-goods.


Flag name

DigitalGoodsV2_1


Requires code in //chrome?

Yes


Tracking bug

https://crbug.com/1250604


Launch bug

https://crbug.com/1288420


Estimated milestones

We would like to ship DGAPI v2.1 in M102.


Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/5339955595313152


Links to previous Intent discussions

Intent to prototype 1.0:

https://groups.google.com/a/chromium.org/g/blink-dev/c/vkS3k30lWNs.

Intent to experiment 1.0:

https://groups.google.com/a/chromium.org/g/blink-dev/c/syI9_M9dANY/m/3lt-QGMHAgAJ.

Intent to continue experimenting 1.0:

https://groups.google.com/a/chromium.org/g/blink-dev/c/uoTx_cRuL5o.

Intent to experiment 2.0:

https://groups.google.com/a/chromium.org/g/blink-dev/c/wIYqo3F_Vmo/m/uKw6hDa8BgAJ.

Intent to ship 2.0:

https://groups.google.com/a/chromium.org/g/blink-dev/c/2pjQ3O2GzDA/m/BqQ7UL6gAwAJ

Intent to continue experimenting 2.0:

https://groups.google.com/a/chromium.org/g/blink-dev/c/DqnurOUBA9s/m/5H18GilKEQAJ

Intent to prototype 2.1:

https://groups.google.com/a/chromium.org/g/blink-dev/c/JaNDPCUr1ws/m/JFt-E7ePAQAJ



This intent message was generated by Chrome Platform Status.

Joe Medley

unread,
Apr 11, 2022, 1:49:33 PMApr 11
to blink-dev, rou...@chromium.org, gle...@chromium.org
Are you hoping to ship in 102?

Joe Medley

unread,
Apr 11, 2022, 1:50:22 PMApr 11
to blink-dev, Joe Medley, rou...@chromium.org, gle...@chromium.org
Just saw where you answered that. Sorry.

Joe Medley

unread,
Apr 11, 2022, 1:52:16 PMApr 11
to blink-dev, Joe Medley, rou...@chromium.org, gle...@chromium.org
So this is different from what you shipped in 100 (desktop) and 101 (Android).

Rouslan Solomakhin

unread,
Apr 11, 2022, 1:55:15 PMApr 11
to blink-dev, Joe Medley, rou...@chromium.org, gle...@chromium.org
Yep, a few additional API methods and fields.

Yoav Weiss

unread,
Apr 14, 2022, 5:03:54 AMApr 14
to Rouslan Solomakhin, Jason Robbins, Joe Medley, rou...@chromium.org, gle...@chromium.org
A note on tooling: this was not caught by the API Owners' dashboard. I suspect that this is because you seem to have recycled the chromestatus entry.. /cc +Jason Robbins 

--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/a726c8a1-fd17-4d28-b815-649008a20510n%40chromium.org.

Chris Harrelson

unread,
Apr 14, 2022, 7:55:09 PMApr 14
to Yoav Weiss, Rouslan Solomakhin, Jason Robbins, Joe Medley, rou...@chromium.org, gle...@chromium.org
LGTM1

Would you mind pinging the Mozilla standards position issue to advise them of the current status of what has shipped and where the spec is at?

Rouslan Solomakhin

unread,
Apr 14, 2022, 9:00:55 PMApr 14
to Chris Harrelson, Yoav Weiss, Jason Robbins, Joe Medley, gle...@chromium.org

Yoav Weiss

unread,
Apr 15, 2022, 12:31:52 AMApr 15
to Rouslan Solomakhin, blink-dev, gle...@chromium.org
On Mon, Apr 11, 2022 at 4:45 PM Rouslan Solomakhin <rou...@chromium.org> wrote:

Contact emails

gle...@chromium.org, rou...@chromium.org


Explainer

https://github.com/WICG/digital-goods/blob/main/explainer.md#api-v21


Specification

https://wicg.github.io/digital-goods/

Difference between 2.0 and 2.1


Design docs

https://github.com/WICG/digital-goods/blob/master/explainer.md

https://docs.google.com/document/d/1Jbt2Mzt-xg1cWVlFScBQsoX_pE8Kg1gYpulxUSV8FM0/edit


Summary

We would like to ship a non-breaking addition to the existing Digital Goods API. This change:

  • Adds to DigitalGoodsService:

    • Promise<sequence<PurchaseDetails>> listPurchaseHistory();

  • Adds to ItemDetails:

    • ItemType type;

    • sequence<DOMString> iconUrls;

    • unsigned short introductoryPriceCycles;

  • Adds enum ItemType.


Use of the new methods/fields will require developers to update supporting code in their apps, such as Android Browser Helper.


Am I correct to assume that if developers don't update their code, nothing will break?
 
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.

Mike Taylor

unread,
Apr 15, 2022, 9:44:30 AMApr 15
to Yoav Weiss, Rouslan Solomakhin, blink-dev, gle...@chromium.org
On 4/15/22 12:31 AM, Yoav Weiss wrote:
On Mon, Apr 11, 2022 at 4:45 PM Rouslan Solomakhin <rou...@chromium.org> wrote:

Contact emails

gle...@chromium.org, rou...@chromium.org


Explainer

https://github.com/WICG/digital-goods/blob/main/explainer.md#api-v21


Specification

https://wicg.github.io/digital-goods/

Difference between 2.0 and 2.1


Design docs

https://github.com/WICG/digital-goods/blob/master/explainer.md

https://docs.google.com/document/d/1Jbt2Mzt-xg1cWVlFScBQsoX_pE8Kg1gYpulxUSV8FM0/edit


Summary

We would like to ship a non-breaking addition to the existing Digital Goods API. This change:

  • Adds to DigitalGoodsService:

    • Promise<sequence<PurchaseDetails>> listPurchaseHistory();

  • Adds to ItemDetails:

    • ItemType type;

    • sequence<DOMString> iconUrls;

    • unsigned short introductoryPriceCycles;

  • Adds enum ItemType.


Use of the new methods/fields will require developers to update supporting code in their apps, such as Android Browser Helper.


Am I correct to assume that if developers don't update their code, nothing will break?

AFAICT from reading the spec diff, these changes are purely additive. LGTM2 assuming Rouslan can verify our understanding. :)

Rouslan Solomakhin

unread,
Apr 15, 2022, 12:20:13 PMApr 15
to Mike Taylor, Yoav Weiss, blink-dev, gle...@chromium.org
That is correct. If web developers do not update their code, nothing will break. Updating the supporting code is required only to access the new features. 

Yoav Weiss

unread,
Apr 15, 2022, 3:10:43 PMApr 15
to Rouslan Solomakhin, Mike Taylor, blink-dev, gle...@chromium.org
LGTM3

Rouslan Solomakhin

unread,
Apr 28, 2022, 7:50:36 PMApr 28
to blink-dev, yoav...@chromium.org, mike...@chromium.org, blink-dev, gle...@chromium.org, rou...@chromium.org
> Estimated milestones
> We would like to ship DGAPI v2.1 in M102.

Hello,

FYI, the team has decided to postpone DGAPI v2.1 release to M103.

Let me know if you have any questions. Thank you!

Cheers,
Rouslan

Reply all
Reply to author
Forward
0 new messages