We have a Risk Manager rule on a live US location:
- Action: Authenticate payment with 3D Secure (3DS)
- Payment source: Online
- Condition: Payment amount is more than $0.01
(The condition is only there because the rule builder requires at least one
condition — we want the rule to apply to every buyer-present online payment,
with no amount threshold.)
We have two distinct payment paths against the same location.
1. Buyer present — we WANT 3DS here.
Web Payments SDK, card.tokenize(verificationDetails) with intent: 'CHARGE',
customerInitiated: true, sellerKeyedIn: false and a billingContact. The
resulting token goes to CreatePayment with
customer_details.customer_initiated = true.
2. Recurring, no buyer — 3DS is impossible here.
A scheduled server job runs once a month and calls CreatePayment with:
source_id= a stored card id (ccof:…), created viaCreateCardwith the
source_idset to a previous payment’s idcustomer_details.customer_initiated = false,seller_keyed_in = false- no browser, no buyer, no verification token
Nothing in path 2 could answer a 3DS challenge.
Questions
-
Can the rule above ever cause the path-2 charge to be declined with
CARD_DECLINED_VERIFICATION_REQUIRED, or otherwise require 3DS? -
We are relying on two statements in your documentation. Are both accurate
and current for a Require-3DS rule scoped to the Online payment source?- “API card on file payments are not eligible for Square 3D Secure.”
(Support: Use 3D Secure with Square Risk Manager) - “Payments initiated by sellers … will not go through 3D Secure”, and
“If the seller initiates the payment and the buyer is not present, then
you don’t need to verify the buyer, but instead set
CustomerDetails.customer_initiatedtofalse.” (SCA overview)
- “API card on file payments are not eligible for Square 3D Secure.”
-
Is the Online payment source in a Risk Manager rule capable of matching
a server-initiated card-on-file charge at all, or does it only match
buyer-present Web Payments SDK transactions? -
Is setting
customer_details.customer_initiated = falseon its own
sufficient to exempt a payment from a Require-3DS rule, or does the
exemption depend on the card-on-filesource_idas well? (We currently do
both; we would like to know which one is actually carrying the exemption.) -
Risk Manager does not appear to exist in the Sandbox dashboard, so we cannot
test any of this against a sandbox rule. Is there a supported way to test
Risk Manager rule behaviour before it affects live payments?
Why this matters to us
Path 2 is how owner-financed land buyers are billed. If the rule intercepted
it, every buyer would fail in the same monthly run, and a 3DS decline on a
recurring charge looks exactly like a wave of declined cards — so it would read
as a customer problem rather than a configuration one.