Welcome to our new developer portal! Use the "Ask" button to chat with our AI Agent.
For the complete documentation index, see llms.txt. This page is also available as Markdown.

Renew ODA certificates

Overview

Offline Data Authentication (ODA) may be use an ODA certificate during a Visa contactless payment.

To avoid payment interruptions, renew the ODA certificate before it expires.

The NFC Wallet SDK supports ODA certificate renewal for Visa only.

SDK Integration

Check whether renewal is needed

Use DigitalCard to check whether a digital card supports ODA and whether its certificate is expired:

  • DigitalCard.isODASupported: Bool

  • DigitalCard.needsODARenewal: Bool

guard let digitalCard = await digitalCardManager.digitalCard(forID: digitalCardID) else { return }
let isODASupported = await digitalCard.isODASupported
let needsODARenewal = await digitalCard.needsODARenewal

guard isODASupported else { return }
guard needsODARenewal else { return }

// Renew the certificate.

Perform this check:

  • After NFC Wallet SDK initialization.

  • After a payment.

  • When the card is set as default.

  • After connectivity returns (offline → online).

Renew the ODA certificate

Use ODARenewalService to renew a Visa digital card ODA certificate:

  • ODARenewalService.renewIfNeeded(digitalCardID: String, isForced: Bool)

To improve the end user experience, trigger renewal at predictable moments:

  • After the default card is set.

  • After a payment has been completed.

renewIfNeeded() checks both digitalCard.isODASupported and digitalCard.needsODARenewal.

You can call it directly without a separate pre-check.

Last updated

Was this helpful?