func retrieveCardDetails(digitalCard: DigitalCard) async {
do {
// card states: .active, .suspended, .inactive, etc.
// .active cards can be used for payment
// .suspended cards require activation in order to perform payment
// .inactive cards imply that the initial ID&V has not completed.
// Use pendingActivationSession to resume ID&V.
// other cases, card is not in use
let cardState = try await digitalCard.state
// card art retrieval
let cardArt = try await digitalCard.cardArt
let bitmap = try await cardArt.bitmap(forArtType: .cardBackgroundCombined)
// Art types: .bankLogo, .schemeLogo, .cardBackground, .cardBackgroundCombined, .coBrandLogo, .cardIcon.
// card metadata retrieval
let cardMetadata = try await digitalCard.cardMetadata
let panLastDigits = cardMetadata.panLastDigits
let panExpiry = cardMetadata.panExpiry
// card payment key information
let paymentKeyInfo = try await digitalCard.paymentKeyInfo
let numberOfPaymentsLeft = paymentKeyInfo.numberOfPaymentsLeft
let needsReplenishment = paymentKeyInfo.needsReplenishment
// card details
let cardDetail = try await digitalCard.details
let scheme = cardDetail.scheme
let supportedPaymentTypes = cardDetail.paymentTypesSupported
} catch {
// Handle errors.
}
}