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

Visa contactless payments can use Offline Data Authentication (ODA).

Each Visa digital card includes an ODA certificate with an expiry date. Renew the certificate before it expires to avoid payment interruptions.

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

SDK integration

Check whether Visa ODA renewal is needed

To check whether a digital card supports Visa ODA and whether its certificate has expired, retrieve DigitalizedCardDetails and call:

  • DigitalizedCardDetails.isVisaODASupported()

  • DigitalizedCardDetails.isVisaODACertificateExpired()

Use the tokenized card ID as the card identifier. See Display digital cards.

String tokenizedCardId = "...";

DigitalizedCard card =
        DigitalizedCardManager.getDigitalizedCard(tokenizedCardId);

card.getCardDetails(new AbstractAsyncHandler<DigitalizedCardDetails>() {
    
    @Override
    public void onComplete(AsyncResult<DigitalizedCardDetails> result) {
        if (!result.isSuccessful()) {
            // Handle error.
            return;
        }

        DigitalizedCardDetails details = result.getResult();

        // Check the payment scheme.
        if (!"VISA".equalsIgnoreCase(details.getScheme())) {
            return;
        }

        // Request renewal only when needed.
        if (details.isVisaODASupported() && details.isVisaODACertificateExpired()) {
            // Request the ODA certificate renewal.
        }
    }
});

Perform this check:

  • After NFC Wallet SDK initialization.

  • After a payment.

  • After the card is set as default.

  • After connectivity returns (offline -> online).

Renew the ODA certificate

Call ProvisioningBusinessService.sendRequestForODACertificateRenewal(...) to request renewal of a Visa digital card ODA certificate.

  1. Get the card identifier.

    Use the tokenized card ID. See Display digital cards.

  2. Send the ODA certificate renewal request.

    Call sendRequestForODACertificateRenewal(...) and implement PushServiceListener:

    • onComplete: The SDK sends the request successfully.

    • onError: The SDK cannot send the request. Inspect ProvisioningServiceError.

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

  • After the default card is set.

  • After a payment completes.

Last updated

Was this helpful?