Skip to main content
Register a saved card once before creating order intents against it. Registration provisions every supported rail, such as Visa Intelligent Commerce or Mastercard Agent Pay. It does not grant spending permission and does not prompt the user for verification.

Prerequisites

  • Saved card — follow Save a Card and keep its paymentMethodId.
  • Crossmint API key — a client-side key with payment-methods.create and payment-methods.read scopes. In staging, all scopes are included by default.
  • User JWT — use the JWT for the user who owns the saved card.

Register the Card

Send an idempotent PUT request with the consumer information used by card-network rails:
The response reports one or more supported rails independently:
Read the complete rails array instead of branching on the card brand or assuming there is only one result. Visa cards can report provider: "vic", and Mastercard cards can report provider: "agentpay". More than one rail can be available. Registration provisions those rails, but it does not choose between them or require every rail to succeed. Use GET /api/unstable/payment-methods/{paymentMethodId}/order-intent-registration to read the registration again. Registration is separate from allowance verification: no email code, passkey, or spending approval occurs in this step. You choose which rail to use after creating an order intent.

Test the Rails

In staging, the card number selects a deterministic scenario. Use any future expiration date and any three-digit CVC.

Next Steps

Create an Agent Card

Create an order intent backed by one of the card’s enabled rails

Cards Quickstart

Run the complete flow in the reference app