w3c / w3c/payment-request

Fine-grained error reporting with canMakePayment()

Open
#847 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Future Candidate Feature
Dominant language
HTML
Stars
510
Forks
139
PR merge metrics
No merged PRs in 30d

Description

I am creating this issue based on discussion on issue #843.

I am hearing several use cases for fine-grained error reporting when canMakePayment() returns false:

  • An error message (e.g., "okToUseAPI") that indicates that the user does not want to share detailed information but would like to use the API under show() conditions would reveal some information about the user's browser configuration.

  • Errors in SSL. For example, self-signed SSL causes Chrome to always return "false" to canMakePayment() and reject show() with "AbortError: Request cancelled."

  • Reasons why the payment sheet closed, e.g., "AbortError: User closed the payment handler", "AbortError: The payment handler cancelled the transaction", or "AbortError: User closed the card CVV entry form."

I propose that we take up these use cases after version 1.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the discussion in issue #843 and the Payment Request API definitions for canMakePayment() and show(). The issue names no files or tests and defers these use cases until after version 1, so completion would require agreeing on the scope and design for fine-grained error reporting.

Written by the indexing model from the issue text.

Assessment

Tech stack
html
Domain
api, payments
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.