Skip to main content
Build your own checkout UI with Stripe Elements and Dollr’s collection API. Dollr routes cards through Stripe — you do not connect your own Stripe account.
Prefer less integration work? Use Hosted checkout — customers enter card details on Dollr’s page with no Stripe setup on your side.
API Reference: Card provider info · Collect

Prerequisites

  • Published invoice or order (or checkout source)
  • Dollr Stripe publishable key from Environments (NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY)
  • @stripe/stripe-js and @stripe/react-stripe-js in your frontend
  • Server-side Dollr API credentials

Flow overview

  1. POST /v1/sessions/checkout
  2. Stripe Elements → stripe.createPaymentMethod()paymentMethod.id
  3. GET /v1/predictions/card-provider-info?payment_method_id=pm_xxx
  4. POST /v1/payment-accounts/create with CREDIT_CARD / STRIPE (no phone number)
  5. POST /v1/executions/collection
  6. If requires_action, complete 3DS with client_secret
  7. Poll GET /v1/status/collection/{reference_id}

Step 1 — Checkout session

Step 2 — Stripe Elements (frontend)

Card data never touches your server — Stripe tokenizes it in the browser.

Step 3 — Card provider prediction (server)

Confirms payment_method, gateway_provider, currencies, and brand.

Step 4 — Payment account

Create a new payment account per card attempt (do not reuse MoMo-style caching):
For cards, omit insensitive_account_number. The Stripe payment_method_id is used at prediction time — Dollr links routing via provider + method.

Step 5 — Execute collection

Pass currency as the payer currency — see Currency & FX.

Step 6 — Handle 3D Secure

See Card 3DS failed.

Step 7 — Poll status

Preview fees

Last modified on June 23, 2026