Skip to main content
Primer Checkout iOS SDK is currently in beta (v3.0.0-beta.1). The API is subject to change before the stable release.
PrimerCardNetwork represents a single card network (card scheme) detected from a card number, together with the display information needed to render it. It is the model used in co-badged card scenarios — when one physical card carries more than one network (for example Cartes Bancaires + Visa) and the shopper, or your UI, must choose which network to route the payment through. You read PrimerCardNetwork values from PrimerCardFormState (availableNetworks and selectedNetwork) and commit a choice with PrimerCardFormSession.selectCardNetwork(_:).

Definition

You never construct PrimerCardNetwork yourself. The SDK detects networks from the entered card number and publishes them on PrimerCardFormState.availableNetworks. Use those instances directly when calling selectCardNetwork(_:).

Properties

displayName, network, allowed, and allowsUserSelection are the properties you need for co-badge selection. The remaining String? properties carry optional issuer/BIN metadata that is populated only when the SDK resolves it remotely; treat them as supplementary display data.

CardNetwork

network is a CardNetwork — a String-backed enum identifying the scheme. Its raw value matches the network’s canonical uppercase identifier.
The source declaration also conforms to an internal logging protocol that is not part of the public contract; it is omitted here.
The enum exposes these public members:

Co-badged card selection

When the entered card number resolves to more than one network, the card form publishes those options on PrimerCardFormState. Read them inside any PrimerCardForm slot through the injected PrimerCardFormSession: To commit a choice, pass one of the availableNetworks instances to the session:
Show a selector only when there is a real choice to make — gate it on availableNetworks.count > 1. For a single detected network the SDK routes automatically and no selection is needed.

Building a custom selector

Render only networks where allowsUserSelection is true (and that are allowed). Networks that auto-route — such as EFTPOS — are resolved by the SDK and should not appear as a manual choice.

Using the built-in selector

If you don’t need a fully custom picker, the SDK ships a ready-made dropdown. The default cardDetails section renders it automatically once a co-badged card is detected. When you recompose the individual card fields yourself, add the standalone selector with CardFormDefaults.cardNetwork(_:) — it already gates on availableNetworks.count > 1 and calls selectCardNetwork(_:) for you. See Card field components.

See also

Card Form Session

State, network selection, and submission for the card form.

Card field components

The built-in co-badge selector and other per-field building blocks.

PrimerCardForm

The card form view and its slots.