Your page already has the buyer. The frame draws the card fields only; the billing details you pass ride on the charge, so address verification still runs.
fields: { billingDetails: 'never' } plus
defaultValues.billingDetails: the buyer sees no billing field, and the
receipt on onSuccess still shows the address on the charge.
The secret key is POSTed only to /api/demo/intent, never to the
SDK. Allowed domains on the pk must include this host.
Edit these after mounting and the element picks the change up through
element.update({ defaultValues }). Email is required: the demo intent has no
receipt_email, and a confirm with neither fails.
4111 1111 1111 1111 · any future
expiry · CVV 123. NMI answers a repeat of the same card and amount within
a minute with Duplicate transaction; wait a minute between tries. Only the card fields are drawn below.
After a successful payment the green box shows charge.billing_details
from the receipt: the address you passed above, on a charge whose form never asked for it.