Visa In-App Provisioning API Reference

Visa In-App Provisioning

In-App Provisioning for Apple Pay

Create Card Data Apple Pay v1 - Latest

Card data for provisioning a Visa Token in ApplePay using vCardId or encrypted card as input

Request

query Parameters
apikey
required
string
API key from Visa Developer Platform (VDP)
header Parameters
Content-Type
required
string
application/json
x-pay-token
required
string
API Key-Shared Secret Authentication. Please refer to https://developer.visa.com/pages/working-with-visa-apis/x-pay-token for more details. Resource path to be used while building x-pay-token must be 'provisioning/cardData/applePay'.
Request Body schema: application/json

Create Card Data for ApplePay provisioning using vCardID or Encrypted Card.

| deviceCert
required | string [ 0 .. 8192 ] characters
Apple device X.509 certificates received from mobile application. | | nonce
required | string 32 characters
32 digit random number generated by Apple. | | nonceSignature
required | string [ 0 .. 512 ] characters
Signature signed by Apple on nonce in SE. | | encCard | string

Conditional.

Either of vCardId or encCard is required.

vCardId will take precedence in case both vCardId and encCard is part of the request body.

Encrypted CardInfo

Example

{
  "accountNumber": "4000000000000000",
  "nameOnCard": "Digital Issuance",
  "cvv2": "123",
  "expirationDate": {
      "month": "01",
      "year": "2021"
  },
  "billingAddress": {
    "name": "Digital Issuance",
    "line1": "12301 Research Boulevard",
    "line2": "Research Boulevard",
    "line3": "Visa USA",
    "city": "Austin",
    "state": "TX",
    "countryCode": "US",
    "postalCode": "78759"
  }
}

CardInfo Schema

Field Type Description
accountNumber string
required
minLength: 12
maxLength: 18
PAN (Primary Account Number) of the card to be provisioned or enrolled
paymentAccountReference string
optional
A Payment Account Reference (PAR) is a unique reference value associated with a specific cardholder PAN
cvv2 string
conditional
minLength: 3
maxLength: 3
CVV2 value associated with the PAN on the card
nameOnCard string
conditional
minLength: 0
maxLength: 256
The full name on the card associated with the issued/enrolled card
expirationDate ExpirationDate
required
Card’s expiration date
billingAddress Address
optional
Billing address associated with the card

ExpirationDate Schema

Field Type Description
month string
required
minLength: 2
maxLength: 2
The month that the card is set to expire
year string
required
minLength: 4
maxLength: 4
The year that the card is set to expire

Address Schema

Field Type Description
name string
optional
maxLength: 100
The name of the addressee
line1 string
optional
maxLength: 140
First line of the address
line2 string
optional
maxLength: 140
Second line of the address
line3 string
optional
maxLength: 140
Third line of the address
city string
optional
maxLength: 100
Name of the city
state string
conditional
Second part of the “country-subdivision” (State or Province) code in ISO 3166-2 format of the country, eg "TX"
postalCode string
optional
minLength: 3
maxLength: 16
The postal code associated with the address, such as zip code
countryCode string
required
ISO 3166-1 alpha-2 formatted country code associated with the address
productType string [ 0 .. 100 ] characters
Specifies the product type for push provisioning. This value is provided by Apple's team based on the card program. If not specified, it defaults to the Visa/Mastercard default productType value. Visa's default productType is DEFAULT_VISA and Mastercard's default productType is DEFAULT_MASTERCARD.
signingKeyID string [ 1 .. 100 ] characters
Token service provider specific signing key identifier
tokenServiceProvider string 1 characters
Indicates which token service provider will process the card data generated for provisioning. The default value is "V".
Enum:"V""M"
vCardID string 42 characters
Conditional.
Either of vCardId or encCard is required.
Visa-defined unique ID of the card to produce the ApplePay provisioning card data for. vCardId will take precedence in case both vCardId and encCard is part of the request body.

Responses

200 OK

Response Schema: application/json
activationData
required
string [ 0 .. 8192 ] characters
Activation data consisting of encrypted nonce, noncesignature, and authCode in base64 format.
encryptedPassData
required
string [ 0 .. 8192 ] characters
Authentication data consisting of encrypted PAN, expiry and datetime in base64 format.
ephemeralPublicKey
required
string [ 0 .. 8192 ] characters
VISA.ECC.ePK generated while creating MBPAD encryptedInformation. EC point with P-256 curve and uncompressed format. Base64 format.
vCardID
required
string 42 characters
Visa-defined unique ID of the card to produce the provisioning card data for.
paymentAccountReference string 29 characters
Payment Account Reference (PAR) is a unique reference value associated with a specific cardholder PAN.

400 Bad Request

Response Schema: application/json
errorResponse object
--- ---
details Array of objects
Array of fields - Data validation errors should use this field to specify which fields failed the validation using location field.
Array
location string
The value of this field is using XPATH expression to point to the field, which failed validation.
message string
The specific error for this field.
message string
Message describing the error condition with additional information wherever applicable.
reason string
Reason Code for the error condition. Error handling business logic should be driven by this field.
status integer
3-digit HTTP Status Code

401 Unauthorized

Response Schema: application/json
errorResponse object
--- ---
message string
Message describing the error condition with additional information wherever applicable.
reason string
Reason Code for the error condition. Error handling business logic should be driven by this field.
status integer
3-digit HTTP Status Code

403 Forbidden

Response Schema: application/json

422 Name on Card not Available. The card referenced in this request is already enrolled but has no nameOnCard value. And, there is no Customer associated with this card so that the nameOnCard can not be derived from Customer name.

Response Schema: application/json

502 Bad Gateway

Response Schema: application/json

503 Service Unavailable

Response Schema: application/json

504 Gateway Timeout

Response Schema: application/json