payment_url returned by the Invoices API. Both hosted order and invoice links support the query options below.
Query parameters
All parameters are optional. Boolean values accept only lowercase
true or false; unsupported values are ignored. Empty or excessively long intent values are ignored.
method=card|wallet|address remains a compatibility alias. When both parameters are present, paymentMethod takes precedence, even if its value is unsupported.
Examples
Open directly on wallet payment:URL.searchParams to encode labels and preserve existing invoice query parameters:
Opening and payment availability
Without an explicitdefaultOpen, a pending order stays on the hosted page until the customer clicks the button, unless a valid payment method is selected. Orders awaiting payment automatically open to continue payment. Partial-payment details open automatically only with defaultOpen=true or when continuing an invoice retry.
defaultOpen=false suppresses automatic opening, including method selection, awaiting-payment continuation, and invoice retries. Customers can still open the modal using the hosted button.
Completed, refunded, expired, failed, and processing orders keep their existing status actions and do not automatically open, even with defaultOpen=true. Expired and failed orders offer a restart action; validated query options are preserved on the new payment link.
Selecting a method does not restrict the other available methods. PayKit still checks eligibility for the order. Card selection is ignored when authenticated order metadata contains card_payments: false; the URL cannot enable cards against that setting.
The hosted page closes the modal after a successful payment. resetOnSuccess controls PayKit state reset and does not change the order status or merchant callback destination.
For embedded React buttons, see the PayButton reference.