)]}'
{"id": 4727235745546240, "name": "Get Secure Payment Confirmation Capabilities", "summary": "Adds a new static method to the Payment Request that allows web developers to get the capabilities of the browser's implementation of Secure Payment Confirmation.\n\nThis helps web developers to easily know what capabilities are available for Secure Payment Confirmation so they can decide whether or not they want to use Secure Payment Confirmation with those capabilities.", "markdown_fields": [], "blink_components": ["Blink>Payments"], "star_count": 86, "search_tags": ["spc", "bbk"], "created": {"by": "darwinyang@chromium.org", "when": "2026-02-25 22:02:00.803568"}, "updated": {"by": "darwinyang@chromium.org", "when": "2026-08-12 20:44:29.933393"}, "category": "Miscellaneous", "category_int": 2, "feature_notes": null, "web_feature": "secure-payment-confirmation", "is_official_web_feature": true, "webdx_usecounter_enum": null, "enterprise_feature_categories": [], "enterprise_product_category": 0, "is_releasenotes_content_reviewed": false, "is_releasenotes_publish_ready": false, "stages": [{"id": 5196251433926656, "created": "2026-02-25 22:02:01.751505", "feature_id": 4727235745546240, "stage_type": 110, "display_name": null, "pm_emails": [], "tl_emails": [], "ux_emails": [], "te_emails": [], "intent_thread_url": null, "announcement_url": null, "experiment_goals": null, "experiment_risks": null, "origin_trial_id": null, "origin_trial_feedback_url": null, "ot_action_requested": false, "ot_approval_buganizer_component": null, "ot_approval_buganizer_custom_field_id": null, "ot_approval_criteria_url": null, "ot_approval_group_email": null, "ot_chromium_trial_name": null, "ot_description": null, "ot_display_name": null, "ot_documentation_url": null, "ot_emails": [], "ot_feedback_submission_url": null, "ot_has_third_party_support": false, "ot_is_critical_trial": false, "ot_is_deprecation_trial": false, "ot_owner_email": null, "ot_requester_email": null, "ot_require_approvals": false, "ot_use_counter_bucket_number": null, "ot_webfeature_use_counter": null, "extensions": [], "experiment_extension_reason": null, "ot_stage_id": null, "finch_url": null, "rollout_milestone": null, "rollout_platforms": [], "rollout_details": null, "rollout_impact": 2, "rollout_stage_plan": null, "enterprise_policies": [], "desktop_first": null, "android_first": null, "ios_first": null, "webview_first": null, "desktop_last": null, "android_last": null, "ios_last": null, "webview_last": null}, {"id": 5101424033792000, "created": "2026-02-25 22:02:01.821689", "feature_id": 4727235745546240, "stage_type": 120, "display_name": null, "pm_emails": [], "tl_emails": [], "ux_emails": [], "te_emails": [], "intent_thread_url": "https://groups.google.com/a/chromium.org/d/msgid/blink-dev/69a0a6a7.050a0220.3c921b.02ae.GAE%40google.com", "announcement_url": null, "experiment_goals": null, "experiment_risks": null, "origin_trial_id": null, "origin_trial_feedback_url": null, "ot_action_requested": false, "ot_approval_buganizer_component": null, "ot_approval_buganizer_custom_field_id": null, "ot_approval_criteria_url": null, "ot_approval_group_email": null, "ot_chromium_trial_name": null, "ot_description": null, "ot_display_name": null, "ot_documentation_url": null, "ot_emails": [], "ot_feedback_submission_url": null, "ot_has_third_party_support": false, "ot_is_critical_trial": false, "ot_is_deprecation_trial": false, "ot_owner_email": null, "ot_requester_email": null, "ot_require_approvals": false, "ot_use_counter_bucket_number": null, "ot_webfeature_use_counter": null, "extensions": [], "experiment_extension_reason": null, "ot_stage_id": null, "finch_url": null, "rollout_milestone": null, "rollout_platforms": [], "rollout_details": null, "rollout_impact": 2, "rollout_stage_plan": null, "enterprise_policies": [], "desktop_first": null, "android_first": null, "ios_first": null, "webview_first": null, "desktop_last": null, "android_last": null, "ios_last": null, "webview_last": null}, {"id": 6203658670833664, "created": "2026-02-25 22:02:01.936273", "feature_id": 4727235745546240, "stage_type": 130, "display_name": null, "pm_emails": [], "tl_emails": [], "ux_emails": [], "te_emails": [], "intent_thread_url": null, "announcement_url": null, "experiment_goals": null, "experiment_risks": null, "origin_trial_id": null, "origin_trial_feedback_url": null, "ot_action_requested": false, "ot_approval_buganizer_component": null, "ot_approval_buganizer_custom_field_id": null, "ot_approval_criteria_url": null, "ot_approval_group_email": null, "ot_chromium_trial_name": null, "ot_description": null, "ot_display_name": null, "ot_documentation_url": null, "ot_emails": [], "ot_feedback_submission_url": null, "ot_has_third_party_support": false, "ot_is_critical_trial": false, "ot_is_deprecation_trial": false, "ot_owner_email": null, "ot_requester_email": null, "ot_require_approvals": false, "ot_use_counter_bucket_number": null, "ot_webfeature_use_counter": null, "extensions": [], "experiment_extension_reason": null, "ot_stage_id": null, "finch_url": null, "rollout_milestone": null, "rollout_platforms": [], "rollout_details": null, "rollout_impact": 2, "rollout_stage_plan": null, "enterprise_policies": [], "desktop_first": null, "android_first": null, "ios_first": null, "webview_first": null, "desktop_last": null, "android_last": null, "ios_last": null, "webview_last": null}, {"id": 5401988126867456, "created": "2026-02-25 22:02:01.997168", "feature_id": 4727235745546240, "stage_type": 140, "display_name": null, "pm_emails": [], "tl_emails": [], "ux_emails": [], "te_emails": [], "intent_thread_url": null, "announcement_url": null, "experiment_goals": null, "experiment_risks": null, "origin_trial_id": null, "origin_trial_feedback_url": null, "ot_action_requested": false, "ot_approval_buganizer_component": null, "ot_approval_buganizer_custom_field_id": null, "ot_approval_criteria_url": null, "ot_approval_group_email": null, "ot_chromium_trial_name": null, "ot_description": null, "ot_display_name": null, "ot_documentation_url": null, "ot_emails": [], "ot_feedback_submission_url": null, "ot_has_third_party_support": false, "ot_is_critical_trial": false, "ot_is_deprecation_trial": false, "ot_owner_email": null, "ot_requester_email": null, "ot_require_approvals": false, "ot_use_counter_bucket_number": null, "ot_webfeature_use_counter": null, "extensions": [], "experiment_extension_reason": null, "ot_stage_id": null, "finch_url": null, "rollout_milestone": null, "rollout_platforms": [], "rollout_details": null, "rollout_impact": 2, "rollout_stage_plan": null, "enterprise_policies": [], "desktop_first": null, "android_first": null, "ios_first": null, "webview_first": null, "desktop_last": null, "android_last": null, "ios_last": null, "webview_last": null}, {"id": 5204246649765888, "created": "2026-02-25 22:02:02.048878", "feature_id": 4727235745546240, "stage_type": 150, "display_name": null, "pm_emails": [], "tl_emails": [], "ux_emails": [], "te_emails": [], "intent_thread_url": null, "announcement_url": null, "experiment_goals": null, "experiment_risks": null, "origin_trial_id": null, "origin_trial_feedback_url": null, "ot_action_requested": false, "ot_approval_buganizer_component": null, "ot_approval_buganizer_custom_field_id": null, "ot_approval_criteria_url": null, "ot_approval_group_email": null, "ot_chromium_trial_name": null, "ot_description": null, "ot_display_name": null, "ot_documentation_url": null, "ot_emails": [], "ot_feedback_submission_url": null, "ot_has_third_party_support": false, "ot_is_critical_trial": false, "ot_is_deprecation_trial": false, "ot_owner_email": null, "ot_requester_email": null, "ot_require_approvals": false, "ot_use_counter_bucket_number": null, "ot_webfeature_use_counter": null, "extensions": [], "experiment_extension_reason": null, "ot_stage_id": null, "finch_url": null, "rollout_milestone": null, "rollout_platforms": [], "rollout_details": null, "rollout_impact": 2, "rollout_stage_plan": null, "enterprise_policies": [], "desktop_first": null, "android_first": null, "ios_first": null, "webview_first": null, "desktop_last": null, "android_last": null, "ios_last": null, "webview_last": null}, {"id": 5147012586668032, "created": "2026-02-25 22:02:02.204662", "feature_id": 4727235745546240, "stage_type": 160, "display_name": null, "pm_emails": [], "tl_emails": [], "ux_emails": [], "te_emails": [], "intent_thread_url": "https://groups.google.com/a/chromium.org/d/msgid/blink-dev/69b02941.710a0220.50957.0104.GAE%40google.com", "announcement_url": null, "experiment_goals": null, "experiment_risks": null, "origin_trial_id": null, "origin_trial_feedback_url": null, "ot_action_requested": false, "ot_approval_buganizer_component": null, "ot_approval_buganizer_custom_field_id": null, "ot_approval_criteria_url": null, "ot_approval_group_email": null, "ot_chromium_trial_name": null, "ot_description": null, "ot_display_name": null, "ot_documentation_url": null, "ot_emails": [], "ot_feedback_submission_url": null, "ot_has_third_party_support": false, "ot_is_critical_trial": false, "ot_is_deprecation_trial": false, "ot_owner_email": null, "ot_requester_email": null, "ot_require_approvals": false, "ot_use_counter_bucket_number": null, "ot_webfeature_use_counter": null, "extensions": [], "experiment_extension_reason": null, "ot_stage_id": null, "finch_url": null, "rollout_milestone": null, "rollout_platforms": [], "rollout_details": null, "rollout_impact": 2, "rollout_stage_plan": null, "enterprise_policies": [], "desktop_first": 148, "android_first": 148, "ios_first": null, "webview_first": null, "desktop_last": null, "android_last": null, "ios_last": null, "webview_last": null}], "accurate_as_of": "2026-08-12 20:44:29.933393", "creator_email": "darwinyang@chromium.org", "updater_email": "darwinyang@chromium.org", "owner_emails": ["darwinyang@chromium.org"], "editor_emails": [], "cc_emails": ["chrome-payments-eng@google.com"], "spec_mentor_emails": ["smcgruer@chromium.org"], "unlisted": false, "deleted": false, "editors": [], "cc_recipients": ["chrome-payments-eng@google.com"], "spec_mentors": ["smcgruer@chromium.org"], "creator": "darwinyang@chromium.org", "feature_type": "New or changed feature", "feature_type_int": 0, "intent_stage": "None", "intent_stage_int": 0, "active_stage_id": 5147012586668032, "bug_url": "https://crbug.com/484043990", "launch_bug_url": "https://launch.corp.google.com/launch/4448199", "new_crbug_url": "https://bugs.chromium.org/p/chromium/issues/entry?components=Blink>Payments&blocking=484043990&cc=darwinyang@chromium.org", "screenshot_links": [], "first_enterprise_notification_milestone": null, "enterprise_impact": 1, "breaking_change": false, "confidential": false, "shipping_year": 2026, "flag_name": null, "finch_name": "SecurePaymentConfirmationCapabilities", "non_finch_justification": null, "ongoing_constraints": null, "rollout_plan": 0, "rollout_plan_displayname": "Will ship enabled for all users", "motivation": "This feature allows web developers to check for which capabilities are supported in the browser's implementation of Secure Payment Confirmation.\n\nWeb developers want an easy way to check whether hardware browser bound keys are available with the Secure Payment Confirmation API and only use the API if if they are available.\n\nWithout this method, web developers would need to initiate the Secure Payment Confirmation flow and force users to go through the dialog and authenticate just to ignore the data returned if it did not contain the browser bound key (in cases where browser bound keys are not available).", "devtrial_instructions": null, "activation_risks": null, "measurement": "A new GetSecurePaymentConfirmationCapabilities UseCounter will be created and used.", "availability_expectation": "The GetSecurePaymentConfirmationCapabilities method will only be available in Chromium browsers for the foreseeable future.", "adoption_expectation": null, "adoption_plan": null, "initial_public_proposal_url": "https://github.com/w3c/secure-payment-confirmation/issues/290#issuecomment-3806454419", "explainer_links": ["https://github.com/w3c/secure-payment-confirmation/blob/main/explainer-capabilities.md", "https://github.com/w3c/secure-payment-confirmation/issues/290#issuecomment-3806454419"], "requires_embedder_support": false, "spec_link": "https://w3c.github.io/secure-payment-confirmation/#sctn-secure-payment-confirmation-capabilities", "api_spec": true, "automation_spec": false, "interop_compat_risks": "The GetSecurePaymentConfirmationCapabilities method is new and the only risk is if other browser do not implement it.", "all_platforms": null, "all_platforms_descr": "The GetSecurePaymentConfirmationCapabilities method will only be added to platforms that support Secure Payment Confirmation which are currently only Android, macOS, and Windows.", "non_oss_deps": null, "anticipated_spec_changes": null, "security_risks": null, "ergonomics_risks": null, "wpt": null, "wpt_descr": "Web platform tests are in development.\n\nWe can only test if the method is available and can be called as user agents have the ability to omit capabilities (for privacy reasons).", "webview_risks": null, "devrel_emails": ["devrel-chromestatus-all@google.com"], "debuggability": "Web developers should be able to inspect the output of the new method which is defined in WebIDL, thus no changes are needed in devtools.", "doc_links": ["https://www.w3.org/wbs/83744/spc-mvp-2025/results", "https://github.com/w3c/secure-payment-confirmation/issues/290#issuecomment-3806454419", "https://www.w3.org/2026/01/29-wpwg-minutes.html#3919", "https://www.w3.org/2026/02/26-wpwg-minutes.html#bbkdetect"], "sample_links": ["https://rsolomakhin.github.io/pr/spc-capabilities"], "prefixed": null, "tags": ["spc", "bbk"], "tag_review": null, "tag_review_status": "Not applicable", "tag_review_status_int": 4, "security_review_status": "Pending", "security_review_status_int": 1, "privacy_review_status": "Pending", "privacy_review_status_int": 1, "security_continuity_id": null, "security_launch_issue_id": null, "updated_display": null, "resources": {"samples": ["https://rsolomakhin.github.io/pr/spc-capabilities"], "docs": ["https://www.w3.org/wbs/83744/spc-mvp-2025/results", "https://github.com/w3c/secure-payment-confirmation/issues/290#issuecomment-3806454419", "https://www.w3.org/2026/01/29-wpwg-minutes.html#3919", "https://www.w3.org/2026/02/26-wpwg-minutes.html#bbkdetect"]}, "comments": null, "ff_views": 5, "safari_views": 5, "web_dev_views": 2, "browsers": {"chrome": {"bug": "https://crbug.com/484043990", "blink_components": ["Blink>Payments"], "devrel": ["devrel-chromestatus-all@google.com"], "owners": ["darwinyang@chromium.org"], "origintrial": false, "prefixed": null, "flag": false, "status": {"text": "Proposed", "val": 2, "milestone_str": "Proposed"}, "announced": true, "desktop": 148, "android": 148, "webview": null, "ios": null}, "ff": {"view": {"url": "https://github.com/mozilla/standards-positions/issues/570", "notes": "Firefox haven't implemented SPC yet so this new method is not relevant.", "text": "No signal", "val": 5}}, "safari": {"view": {"url": "https://github.com/WebKit/standards-positions/issues/30", "notes": "Safari haven't implemented SPC yet so this new method is not relevant.", "text": "No signal", "val": 5}}, "webdev": {"view": {"text": "Positive", "val": 2, "url": "https://www.w3.org/2026/01/29-wpwg-minutes.html#3919", "notes": "Discussed the GetSecurePaymentConfirmationCapabilities method during the WPWG when proposing a solution to Browser Bound Key Feature Detection and did not receive any comments opposed to this feature."}}, "other": {"view": {"text": null, "val": null, "url": null, "notes": null}}}, "standards": {"spec": "https://w3c.github.io/secure-payment-confirmation/#sctn-secure-payment-confirmation-capabilities", "maturity": {"text": "Final published standard: Recommendation, Living Standard, Candidate Recommendation, or similar final form", "short_text": "Published standard", "val": 5}}, "is_released": false, "is_enterprise_feature": false, "experiment_timeline": null, "ai_test_eval_report": null, "ai_test_eval_run_status": null, "ai_test_eval_status_timestamp": null}