brave-core icon indicating copy to clipboard operation
brave-core copied to clipboard

SKUs SDK Changes to Support Receipt Submission

Open husobee opened this issue 2 years ago • 2 comments

Implementation of generic receipt submission client for SKUs SDK, including WASM bindings which will support various vendor (google, apple) payment confirmations for in-app purchases.

Resolves https://github.com/brave/brave-browser/issues/23167 Security / privacy review: https://github.com/brave/security/issues/933

Submitter Checklist:

  • [x] I confirm that no security/privacy review is needed, or that I have requested one
  • [x] There is a ticket for my issue
  • [x] Used Github auto-closing keywords in the PR description above
  • [x] Wrote a good PR/commit description
  • [x] Squashed any review feedback or "fixup" commits before merge, so that history is a record of what happened in the repo, not your PR
  • [ ] Added appropriate labels (QA/Yes or QA/No; release-notes/include or release-notes/exclude; OS/...) to the associated issue
  • [x] Checked the PR locally: npm run test -- brave_browser_tests, npm run test -- brave_unit_tests, npm run lint, npm run gn_check, npm run tslint
  • [ ] Ran git rebase master (if needed)

Reviewer Checklist:

  • [ ] A security review is not needed, or a link to one is included in the PR description
  • [ ] New files have MPL-2.0 license header
  • [ ] Adequate test coverage exists to prevent regressions
  • [ ] Major classes, functions and non-trivial code blocks are well-commented
  • [ ] Changes in component dependencies are properly reflected in gn
  • [ ] Code follows the style guide
  • [ ] Test plan is specified in PR before merging

After-merge Checklist:

  • [ ] The associated issue milestone is set to the smallest version that the changes has landed on
  • [ ] All relevant documentation has been updated, for instance:
    • [ ] https://github.com/brave/brave-browser/wiki/Deviations-from-Chromium-(features-we-disable-or-remove)
    • [ ] https://github.com/brave/brave-browser/wiki/Proxy-redirected-URLs
    • [ ] https://github.com/brave/brave-browser/wiki/Fingerprinting-Protections
    • [ ] https://github.com/brave/brave-browser/wiki/Brave%E2%80%99s-Use-of-Referral-Codes
    • [ ] https://github.com/brave/brave-browser/wiki/Custom-Headers
    • [ ] https://github.com/brave/brave-browser/wiki/Web-Compatibility-Exceptions-in-Brave
    • [ ] https://github.com/brave/brave-browser/wiki/QA-Guide
    • [ ] https://github.com/brave/brave-browser/wiki/P3A

Test Plan:

husobee avatar Jun 16 '22 14:06 husobee

We don't have an integration using this... yet! But https://github.com/brave/brave-core/pull/13387 will definitely be using this code 😄 See more details in https://github.com/brave/security/issues/933#issuecomment-1169200217

Code LGTM - but would leave to @evq or another person to review also (since I helped 😄). @husobee there were some comments by @spylogsster in case you missed them above

bsclifton avatar Jul 05 '22 06:07 bsclifton

I don't love all the repeated mangling we're doing at the moment to convert errors into something that wasm-bindgen is happy with, I think we should look into whether the resolution linked at the bottom of this issue helps clean things up [1]

[1] https://github.com/rustwasm/wasm-bindgen/issues/1004

evq avatar Aug 02 '22 19:08 evq