Card Management iOS SDK
Last updated: March 26, 2025
For the Issuing solution, you can integrate the CheckoutCardManagement
iOS SDK for the following use cases in your mobile app:
- Activate, suspend, and revoke cards.
- Display sensitive card details to your cardholders.
- Enable cardholders to add cards to their digital wallet, without entering the card details, in your app or the Apple Wallet app
Information
To authenticate cardholders for digital transactions in your app, see the Out-of-Band Authentication iOS SDK.
- Make sure you have a test account with Checkout.com.
- You must have started your Issuing onboarding and received client credentials.
Note
The SDK does not support the following frameworks:
- Cordova
- Flutter
- .NET MAUI / Xamarin
- React Native
- Import the SDK.
- Set the SDK environment.
- Instantiate the CardManagement SDK.
- Set up Strong Customer Authentication (SCA).
- Set up webhooks.
To implement the required use cases, see Next steps.
The SDK supports three environments:
- Stub (isolated testing)
- Sandbox (test)
- Production (live)
The stub environment enables you to start testing the APIs in your app, without the legal and contractual approvals required for the other environments.
This environment is completely isolated, so no network calls leave the device. In API calls that require a token
, you can provide any String
because all responses return mock data.
To authenticate in the sandbox and production environments, use the client credentials you receive as part of your Issuing onboarding.
You must provide valid tokens
in your requests, which our back-end services serve securely.
API calls and public interfaces are the same across all environments.
The SDK is distributed as a native iOS package. You can access the different SDK environments through the following libraries:
CheckoutCardManager
– Powers the sandbox and production environmentsCheckoutCardManagerStub
– Powers the stub environment
Use Swift Package Manager (SPM) to import the SDK into your app.
- Open your project in Xcode.
- Go to File > Add package dependency.
- When prompted, enter the SDK's GitHub URL:
https://github.com/checkout/CheckoutCardManagement-iOS
. - Select your project as the target for either the
CheckoutCardManager
or theCheckoutCardManagerStub
package product. - Select Add package.
Add your selected package to your import statements:
1import CheckoutCardManagement
If you want to implement the add cards to Apple Wallet use case, add the CheckoutNetwork 1.1.2 package to enable network calls.
Information
For more information, see Apple – Adding package dependencies to your app.
Checkout.com distributes the following SDK libraries to you:
D1
D1Core
TPCSDKSwift
SecureLogAPI
Note
- The D1 SDK versions must be above
3.2.0
. Checkout.com has tested up to4.0.0
. - All additional libraries must match the same SDK version.
- For SDK versions, see the release notes on GitHub – CheckoutCardManagement-iOS.
Link all these libraries to your app, and then follow these steps to embed and sign them:
- In your Xcode project, go to Targets > ApplicationTarget.
- Select General > Frameworks, Libraries, and Embedded Content.
- For each library listed under
CheckoutCardManagement
, select Embed & Sign.
Information
If you're building a hybrid app, see your platform's documentation on how to consume native third-party SDKs.
The CardManagementDesignSystem
object defines the appearance of the UI components displayed to the user.
You can set the following properties:
font
textColor
The CheckoutCardManager
object enables access to the SDK's functionality and sets the SDK environment to .sandbox
or .production
.
Instantiate both objects as follows:
1// The import statement must match the library you added, for example:2// CheckoutCardManager > import CheckoutCardManagement, or CheckoutCardManagerStub > import CheckoutCardManagementStub3import CheckoutCardManagement45class YourObject {6// The CardManagementDesignSystem object defines the appearance of the UI components displayed to the user.7let cardManagerDesignSystem = CardManagementDesignSystem(font: .systemFont(ofSize: 22), textColor: .blue)8// Instantiates the core cardManager object, which provides access to the SDK functionality9let cardManager = CheckoutCardManager(designSystem: cardManagerDesignSystem, environment: .sandbox)10}
Information
If you have integration questions or issues, contact your issuing representative or [email protected].
While Checkout.com handles in-depth compliance, you are responsible for performing Strong Customer Authentication (SCA) on your cardholders for every session where they use functionality provided by the SDK. This applies to both the sandbox and production environments.
You can generate multiple tokens for different systems during a single authentication session. For example, to sign in, to get an SDK session token, and to get an internal authentication token.
However, you can only generate a single SDK session token for each SCA flow requested.
After you've completed the integration, see how to implement the following use cases in your app: