Loading client session...
Simplest scenario, for merchants who doesn't need many customizations
<primer-checkout client-token="CLIENT_JWT_TOKEN"></primer-checkout>
Simplest way to add custom loader. Note that loader is shown longer on purpose to show it's working
Render custom slot content immediately, including before client-token is available. Custom content and loader are shown together until primer:ready fires. Requires loader-disabled and display: block on the slotted element.
Example of a highly customized payment layout, where the payment methods are displayed based on specific criteria.
Example of a custom form layout with discount code functionality.
Comprehensive event monitoring showing document-level, element-level, and callback events with full payloads
Test event.preventDefault() on primer:payment-start to pause and control payment flow
PrimerIdempotencyKeyDemo showcases how to use idempotency keys during payment creation.
Demo for testing submitButton.useBuiltInButton with external button events and setCardholderName() API
Demo showcasing both slotted and external vault submit button patterns
Complete headless vault flow using onVaultedMethodsUpdate, vault.createCvvInput(), vault.startPayment(), and vault.delete()
Demo showcasing both slotted and external control patterns for "Show other ways to pay" button
Testing the new primer-payment-method-container component with include/exclude filters
Example of a single form component