# Cards tokenization

Version: 1.0

## Servers

Sandbox
```
https://api.solaris-sandbox.de
```

Production
```
https://api.solarisbank.de
```

## Download OpenAPI description

[Cards tokenization](https://docs.solarisgroup.com/_bundle/api-reference/digital-banking/cards-tokenization.yaml)

## Push provisioning

### Fetch wallet payload for Apple Pay in-app provisioning

 - [POST /v1/cards/{card_id}/sca_push_provision/apple_encrypted](https://docs.solarisgroup.com/api-reference/digital-banking/cards-tokenization/push-provisioning/applescapushprovisionusingpost.md): Returns a wallet payload for adding the customer's card to their Apple Pay wallet via request to the Apple Pay API.  Note: This endpoint will trigger the change request process. The customer will receive a 2FA challenge to confirm the request.

### Fetch activation payload for Apple Pay in-app verification

 - [POST /v1/cards/{card_id}/tokens/apple/verify](https://docs.solarisgroup.com/api-reference/digital-banking/cards-tokenization/push-provisioning/paths/~1v1~1cards~1%7Bcard_id%7D~1tokens~1apple~1verify/post.md): Call this endpoint to initiate an in-app verification for activating a token on Apple Pay. Note: This endpoint follows the Method A: Cryptographic OTP process according to the Apple Pay developer documentation.  It will also trigger the change request process. The customer will receive a 2FA challenge to confirm the request. The successfully completed Change Request will return an activation_data payload in the API response. You must then submit this payload in a separate request to the Apple Wallet. Please check the Apple Pay developer documentation for more details.

### Fetch wallet payload for Google Pay in-app provisioning

 - [POST /v1/cards/{card_id}/sca_push_provision/google](https://docs.solarisgroup.com/api-reference/digital-banking/cards-tokenization/push-provisioning/googlescapushprovisionusingpost.md): Returns a wallet payload for adding the customer's card to their Google Pay wallet via request to the Google Pay API.   Note: This endpoint will trigger the change request process. The customer will receive a 2FA challenge to confirm the request.

### Initiate unified Google Pay push provisioning flow

 - [POST /v1/cards/{card_id}/sca_push_provision/google_unified](https://docs.solarisgroup.com/api-reference/digital-banking/cards-tokenization/push-provisioning/creategoogleunifiedpushprovision.md): Initiates the Google Pay Unified Push Provisioning flow. Unlike standard provisioning, the Unified flow allows a user to simultaneously add a card to their device's Google Wallet (for tap-to-pay) and save the actual card number to their broader Google Account (for online and Chrome autofill).  Because this flow handles the actual card number, it requires Strong Customer Authentication (SCA).   Integration Flow:  1. Trigger SCA: Calling this endpoint initially returns a 200 OK and triggers a Change Request. The customer must complete a 2FA challenge.  2. Fetch Payloads: Once authorized, the endpoint returns the two required Opaque Payment Cards (OPCs): 
  TSP OPC: The standard tokenization payload for the device wallet.
  Google OPC: A PGP-signed, encrypted payload containing the user's Primary Account Number (FPAN).
  Important: Do not attempt to parse, decode, or modify the Google OPC string. Your backend must pass both OPCs exactly as received directly to your mobile client, which will feed them into the Google Wallet SDK.

### Fetch wallet payload for Samsung Pay in-app provisioning

 - [POST /v1/cards/{card_id}/sca_push_provision/samsung](https://docs.solarisgroup.com/api-reference/digital-banking/cards-tokenization/push-provisioning/samsungscapushprovisionusingpost.md): Returns a wallet payload for adding the customer's card to their Samsung Pay wallet via request to the Samsung Pay API.    Note: This endpoint will trigger the change request process. The customer will receive a 2FA challenge to confirm the request.

### (Deprecated) Add a card to an Apple Pay wallet (deprecated)

 - [POST /v1/cards/{card_id}/push_provision/apple_encrypted](https://docs.solarisgroup.com/api-reference/digital-banking/cards-tokenization/push-provisioning/appleusingpost.md): This endpoint is deprecated; please use POST /v1/cards/{card_id}/sca_push_provision/apple_encrypted instead.

### (Deprecated) Add a card to a Google Pay wallet (deprecated)

 - [POST /v1/cards/{card_id}/push_provision/google](https://docs.solarisgroup.com/api-reference/digital-banking/cards-tokenization/push-provisioning/googleusingpost.md): This endpoint is deprecated; please use POST /v1/cards/{card_id}/sca_push_provision/google instead.

## Card token servicing

### Retrieve a card's assigned tokens

 - [GET /v1/cards/{card_id}/visa_tokens](https://docs.solarisgroup.com/api-reference/digital-banking/cards-tokenization/card-token-servicing/paths/~1v1~1cards~1%7Bcard_id%7D~1visa_tokens/get.md): Returns an array of all Visa tokens assigned to the card specified in the request URL.

### Retrieve the details of a Visa token

 - [GET /v1/cards/{card_id}/visa_tokens/{token_reference_id}](https://docs.solarisgroup.com/api-reference/digital-banking/cards-tokenization/card-token-servicing/paths/~1v1~1cards~1%7Bcard_id%7D~1visa_tokens~1%7Btoken_reference_id%7D/get.md): Returns the details of a card's token. You must add the token's associated card ID and the token's reference ID in the request URL.

## Testing allowlists

### Create a card allowlist

 - [POST /v1/tokenization_risk_controls/partner_tokenization_configurations](https://docs.solarisgroup.com/api-reference/digital-banking/cards-tokenization/testing-allowlists/paths/~1v1~1tokenization_risk_controls~1partner_tokenization_configurations/post.md): Creates an allowlist of cards for production testing on Apple or Google Pay before market launch with the payment service. You can include up to 100 cards in a single list using this endpoint.

### Retrieve a card allowlist

 - [GET /v1/tokenization_risk_controls/partner_tokenization_configurations](https://docs.solarisgroup.com/api-reference/digital-banking/cards-tokenization/testing-allowlists/paths/~1v1~1tokenization_risk_controls~1partner_tokenization_configurations/get.md): Returns an allowlist of cards created for production testing on Apple or Google Pay.

### Delete a card allowlist

 - [DELETE /v1/tokenization_risk_controls/partner_tokenization_configurations/{token_risk_control_id}](https://docs.solarisgroup.com/api-reference/digital-banking/cards-tokenization/testing-allowlists/paths/~1v1~1tokenization_risk_controls~1partner_tokenization_configurations~1%7Btoken_risk_control_id%7D/delete.md): Deletes an allowlist of cards production testing on Apple or Google Pay.

