Skip to content

HOLD until release: gateway three_ds_mode and Smart mode on the Admin API - #68

Open
next-devin wants to merge 2 commits into
mainfrom
smart-3ds-mode
Open

next-devin wants to merge 2 commits into
mainfrom
smart-3ds-mode

Conversation

@next-devin

Copy link
Copy Markdown
Contributor

Hold: merge only after the 3DS Mode release is live in production. Pairs with NextCommerceCo/docs#73.

Changes

  • Bankcard guide, 3D Secure: a gateway is 3DS2-enabled when three_ds_mode is smart or always. New Smart mode gateways section: send payment_return_url on every order to a smart gateway, and handle both a payment_complete_url (3DS used) and a directly created order (3DS skipped).
  • Admin API specs (2023-02-10, 2024-04-01, unstable): PaymentGateway gains three_ds_mode (off / smart / always); enable_3ds2 becomes read-only and derived from it. Same change in the gateway webhook schema and examples.

Check before merge

The spec edits are hand-written to match the release. If the specs are regenerated from the platform after deploy, prefer the generated output and drop these hunks. The x-spec-enum-id the generator adds is not included here.

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Oct 21, 2026 •

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
developer-docs a37f5d8 Commit Preview URL

Branch Preview URL
Oct 21 2026, 10:43 AM

Comment thread content/docs/admin-api/guides/payment-methods/bankcard.mdx Outdated
Comment thread public/api/admin/2024-04-01.yaml
Comment thread public/api/admin/2024-04-01.yaml
Comment thread public/api/admin/2023-02-10.yaml
Comment thread public/api/admin/unstable.yaml

<Callout type="info">
Your store must have a 3DS2-enabled gateway to process 3DS2 transactions.
Your store must have a 3DS2-enabled gateway to process 3DS2 transactions. A gateway is 3DS2-enabled when its `three_ds_mode` is `smart` or `always`.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

SUGGESTION: The two sentences in the callout are mashed together without a conjunction. Consider connecting them for readability, e.g. "Your store must have a 3DS2-enabled gateway to process 3DS2 transactions; a gateway is 3DS2-enabled when its three_ds_mode is smart or always."

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Leaving as two sentences: each states one fact, and joining them with a semicolon doesn't read more clearly.

🤖 Addressed by Claude Code

@kilo-code-bot

kilo-code-bot Bot commented Oct 21, 2026 •

Copy link
Copy Markdown

Code Review Summary

Status: No Issues Found | Recommendation: Merge

All five findings from the previous review at cf8e77b were verified as resolved in the current code:

  • bankcard.mdx:477 now states payment_return_url is required on every order to a smart gateway, including orders that skip 3DS.
  • Enum values are now single-quoted consistently ('off', 'smart', 'always') in all three specs and both webhook schema copies each.
  • readOnly: true was dropped from the webhook schema copies of enable_3ds2 (which tools/webhooks.py strips) and retained only on the REST PaymentGateway schema.
Files Reviewed (4 files)
  • content/docs/admin-api/guides/payment-methods/bankcard.mdx
  • public/api/admin/2024-04-01.yaml
  • public/api/admin/2023-02-10.yaml
  • public/api/admin/unstable.yaml
Notes
  • .claude/rules was not present in this repository, so no additional domain rules were applied.
  • Merge remains gated on the 3DS Mode release being live in production, as stated in the PR body. If the specs are regenerated from the platform after deploy, prefer the generated output (which will include x-spec-enum-id) over these hand-written hunks.
Previous Review Summary (commit cf8e77b)

Current summary above is authoritative. Previous snapshots are kept for context only.

Previous review (commit cf8e77b)

Status: 6 Issues Found | Recommendation: Address before merge

Overview

Severity Count
CRITICAL 0
WARNING 5
SUGGESTION 1
Issue Details (click to expand)

WARNING

File Line Issue
content/docs/admin-api/guides/payment-methods/bankcard.mdx 477 payment_return_url guidance on smart gateways is ambiguous about whether it is required when 3DS is skipped
public/api/admin/2024-04-01.yaml 6618 Enum values use inconsistent quoting ('off' quoted, smart and always unquoted)
public/api/admin/2024-04-01.yaml 6561 readOnly: true on enable_3ds2 in webhook schemas is meaningless and will be stripped by the spec generator on next regeneration
public/api/admin/2023-02-10.yaml 6295 Enum value quoting inconsistency (legacy spec)
public/api/admin/unstable.yaml 6568 Enum value quoting inconsistency (unstable spec)

SUGGESTION

File Line Issue
content/docs/admin-api/guides/payment-methods/bankcard.mdx 470 Two-sentence callout reads better with a connecting conjunction
Files Reviewed (4 files)
  • content/docs/admin-api/guides/payment-methods/bankcard.mdx - 2 issues
  • public/api/admin/2024-04-01.yaml - 2 issues
  • public/api/admin/2023-02-10.yaml - 1 issue
  • public/api/admin/unstable.yaml - 1 issue

Fix these issues in Kilo Cloud


Reviewed by minimax-m3 · Input: 28.8K · Output: 1.9K · Cached: 267.6K

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant