Retrieve Card Data | Additional Method
This is a web service designed to retrieve the card data required for completing e-commerce payments — PAN, CVC2/CVV2, expiry date of the card can be retrieved. The returned payload is encrypted with an asymmetric public key; this enables end-to-end encryption to the card holder device. The parameters that were included in the request are only returned. The caller is responsible of validating the integrity of the public key.
- Send a request to this endpoint, if you are not using the Enfuce BIN sponsorship.
- Retrieving card data through this endpoint implies PCI DSS compliance of the client with the Scheme. An easier method that you can use is the
Initiate Card Data Retrievalendpoint — this endpoint enables rendering of card information to the cardholder’s device without requiring compliance of the client with PCI DSS.
Example:
// ...
import java.security.KeyFactory;
import java.security.PrivateKey;
import java.security.spec.PKCS8EncodedKeySpec;
import java.util.Base64;
import javax.crypto.Cipher;
// ...
## Example of decrypting an encrypted field
```java
private String decrypt(String data, String privKeyPEM) throws Exception {
## Example of preparing the key
```java
String privKeyString = privKeyPEM.replaceAll("\\n", "").replace("-----BEGIN PRIVATE KEY-----", "").replace("-----END PRIVATE KEY-----", "");
byte[] encodedKey = Base64.getDecoder().decode(privKeyString);
PKCS8EncodedKeySpec spec = new PKCS8EncodedKeySpec(encodedKey);
KeyFactory kf = KeyFactory.getInstance("RSA");
PrivateKey privateKey = kf.generatePrivate(spec);
## Example of preparing the decryption
```java
Cipher cipher = Cipher.getInstance("RSA/ECB/OAEPWithSHA-256AndMGF1Padding");
cipher.init(Cipher.DECRYPT_MODE, privateKey);
## Example of preparing the data
```java
byte[] cryptogram = Base64.getDecoder().decode(data);
## Example of decryption
```java
byte[] decryptedBytes = cipher.doFinal(cryptogram);
return new String(decryptedBytes);
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Headers
Optional audit user header
Path Parameters
Unique identifier of the card whose details you want to retrieve.
Body
Public key used to encrypt the fields in the result.
1"MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArMRPoM6Za3XDIsomnVObGJsrHHHIRZ5zRsVoU8Unie9QvK9OBf0cCGyXd8XPky7W3m/KDKLGUnfne8vAMOeT1NpBgQnv2lcpIfBMLjSUKT5gIcJMY00Asqjvi4YFwRdW9AxSThxtkb7AIsJJiRwbAGFDnt+Ic/gIQS5s1vnuIjaYBTbzYtwnh3WBQ7DJsCVes81onwapGtdiswQD15cNhAI5853/uB/vno3j3tOq3gpm9+qLa6FYGfWZan07k+RMCVF1v6kxa9teCj6V3cysdtPeK9+gQnBjuuSESQL7/s/BgC7QxLqBCabkFyLo+3QO+iKmfeKPX8imV1rUgyjo3QIDAQAB"
In this field the encryption method is selected. This is to prepared for future use since only one method is now supported.
RSA_ECB_OAEP_SHA256_MGF1_2048 "RSA_ECB_OAEP_SHA256_MGF1_2048"
In this field you can include the parameters that you want to be returned in an encrypted way. If a field is not listed, it will be left out from the response. Note that only primaryAccountNumber and CVV2 will be encrypted.
1PRIMARY_ACCOUNT_NUMBER, EXPIRATION_DATE, CVV2 The sequence number of the card version to use. If not specified, the latest card version is used by default.
x >= 11
Response
Successful retrieval of the card data.
The encrypted full card number (PAN) — Base64 encoded.
"Z5zt5TbIc2jZ/iCnleh7pBIxxf/M046X7t7zhl/YPVl5wep3HulMqYKE3mgjqo/H+dUVlk6PcgvcQR4Gb/tYG6UVZhR+S9xfswEXB8RwLdqBc5mlCZNkCxlTeyqWfQcmknXdQY25+Yeg/z9DVEmNqxzhAOfx5KYsILdc8k9svMj+UWU64SDKbIqTVuP0D/UMbJEixLknRtyXu1j80ZOJCKGvW+aBwrEiOTp07teKcFu43ND5m083e9OqFE7qcnFAj7CNeIRRP9rDOK+qvEvs+h28yAytG2NS5Qwt9gulpaE9gz+ClS3wCVG9uPRyrrKtVGRrgDfDaf6AngVPmJ3EeA=="
The expiration date of the card in MMYY format.
"1227"
The encrypted CVV2 (for Visa) or CVC2 (for Mastercard) value — Base64 encoded.
"PitrZmfUd6blAk8SLZFkCBXql+UKrR+Q79VImTrZfZu24zwGjYQML2h563HYM8KvoqdNIk2gQ6jSYt81d/0I/1ZoDmTcJsduoGmHSwATuQh2c926O/SMa4cbnR8JQHZ7FaExgsc2dZ/ZjYcf1Ehsg0r4CDcZ6MUYBrCUTlaPbTksjxQhj3fqovBBN1smfR4No5BHTyPvJmeUPQiqtlrLzBvQj+PxYRukrkxGkgZ+HmRg+zWNbS6sWmurvR0gb1l1GRPGG132L6oFcqpjZxZYTsq5yf0hEDXZdWo6oYc3JJ2s7SVxVNwoMvQQi7YV+iZD7wyPXgeHFFXZGhKyYY3F7w=="

