iOS
Unable to add card using Sandbox
There are a few possibilities on why the error occurs:
The device is logged in without using the Sandbox iCloud account.
The PAN that is being used is not the Sandbox PAN. See Apple Sandbox Testing for more information.
D1 SDK cardDigitizationState API still returns notDigitized after the card provisioning process
cardDigitizationState API still returns notDigitized after the card provisioning processThe possibilities for this error are:
Production testing shall be performed in the Production using production devices via Ad-hoc Provisioning Profiles, TestFlight or the production App Store by means of Promo Codes, after the necessary approvals.
The provisioning profile does not have the correct entitlements. Refer to this page to set up the entitlements.
It may be due to the setting of your issuer application details on the payment network system (for Visa and Mastercard). As per Apple specification, the issuer needs to configure their issuer application details in the payment network portal system in the following format:
associatedApplicationIdentifiers:TeamId.BundleIdassociatedStoreIdentifier:AdamIdappLaunchUrl: Your application's URL.
The following figure shows an example on where to add Application Identifiers/ADAM ID and Application URL on Mastercard.

Card not added before T&Cs

How to diagnose
Enter the SEID of the device in the Search bar located in the top right hand corner.
This will output a set of logs with requests and responses, looking through the log output, the issuer can select the request message, as shown in below figure, where the highlighted field displays an output specific to the chosen message.
For this use case, the information that can be validated in the request is the encryptedPassData and the ephemeralPublicKey, as this is the data that is sent from the device to the server.
In below figure, the issuer can view the the log archive request / response.
Below the log archive, the response from the server is displayed in a more readable format, with the error code highlighted.
The response yields an error 500 which is a generic error, and reasons to resolve are listed in the resolution section.

There are multiple reasons why the issuer may receive this error:
Cryptography error, wrong data encoding, or invalid JSON dictionary.
This could be resolved with use the cryptography implementation and validation pages to resolve any issues with the issuer’s cryptography or data format.
Whitelisting (Incorrect Adam ID is whitelisted)
This applies only for tests done in Production.
Has the issuer requested the whitelisting of their app’s Adam ID?
If yes, is the issuer distributing their app via TestFlight? For TestFlight, the minimum supported build must set to iOS 10.3. When the issuer does eventually build the app for the production App Store, the issuer may move the minimum supported iOS version back to iOS 9.0 or later.
Issue with the resources such as T&Cs and Card Art being loaded.
This is highly unlikely to be error. It may typically happen in PreProd where the configuration on the payment network portal may be subject to frequent changes. To exclude this error try to add the card manually via Apple Pay wallet. If the issuer sees the T&Cs while adding the card manually they can rule out this problem. If the manual provisioning fails, the issuer should contact their respective payment network portal, and attempt to re-upload their T&Cs to the payment network portal.
Ineligible card

As opposed to Card Not Added’ Before T&Cs scenario, in this case the server responds with a status code 200, which means the request completed successfully.
However, by looking at the response the issuer can see that the server returned the card as non eligible (i.e. eligibilityStatus= 0).
This issue is caused when the card details provided are not eligible for Apple Pay (for example, card not whitelisted by the payment network or the issuer).
The issuer should check with the payment network that the card has been correctly configured.
Issuer declines provisioning: Red flow response

A failure after the end user has accepted T&Cs is often related to a decline on the issuer side.
The declined is represented by a Red Response.
This could be caused by several factors.
For example, it may be the issuer declining the attempt or it may be the payment network responding on behalf of the issuer is the response takes too long to be processed.
By looking at the logs for this type of error the issuer can see that they have an error code which has returned 40403, where the device would display: “Could not add Card, Try again later or contact your issuer for more information”.
Red flow is the response provided from the issuer, in this event, they should contact the payment network, with the ‘conversationID’.
Using this the payment network should be able to identify the underlying reason for the response.
Unknown card type
This is due to an incorrect bundle identifier.
To fix this, Apple recommends to change the bundle identifier.
An example of the error is shown as follows:
Push provisioning returns status code 1
1PreProd: The testing is not triggered with an Apple sandbox testing account. Refer to Apple Sandbox Testing page on how to do sandbox testing.
Production: The application is not published to the App Store, which causes Apple to restrict it.
An example of the error is shown as follows:
The flow is correctly initiated for Thales but Mastercard does not receive the push.
In device logs the error
Push provisioning returns status code 403
403This error occurs because the push provisioning flow is rejected by the issuer backend but is successful (red flow).
The details of the error is shown as follows:
Push provisioning returns 500
500This error occurs because that Apple sandbox test account is not configured on the testing device.
An example of the error is as follows:
最終更新
役に立ちましたか?