Documentation Index
Fetch the complete documentation index at: https://partner-docs.contro.dev/llms.txt
Use this file to discover all available pages before exploring further.
Overview
Partners with PCI DSS compliance can retrieve sensitive card data (PAN, CVV, expiry) via a direct API call. The response is RSA-encrypted with your public key - Contro never exposes card data in plaintext.If your organization is not PCI DSS compliant, use the embedded widget method instead - no certification needed.
Prerequisites
- Your organization must be PCI DSS compliant
- An RSA-4096 (or larger) key pair
- Your public key uploaded via the partner dashboard https://partner.contro.me/settings
Step 1: Generate an RSA key pair
Step 2: Upload your public key
Upload your PEM-encoded public key from the partner dashboard:- Open https://partner.contro.me/settings
- Find the RSA Public Key section
- Paste the contents of
public_key.peminto PEM-encoded RSA Public Key and save. Example:-----BEGIN PUBLIC KEY-----\nMIICIjAN...\n-----END PUBLIC KEY-----
Step 3: Call the reveal endpoint
Step 4: Decrypt the response
Thedata field is a Base64-encoded RSA-OAEP-SHA256 ciphertext. Decrypt with your private key:
Sandbox testing
In sandbox mode (sk_test_ keys), the endpoint returns encrypted test data:
| Field | Value |
|---|---|
| cardNumber | 4000000000000000 |
| cvv | 123 |
| expiryDate | 12/2030 |
In live mode, you must have an RSA public key configured. The endpoint returns a
400 error if no key is set.Security considerations
- Card data is encrypted end-to-end - Contro’s API response is encrypted with your key before leaving the server
- Key rotation: Replacing your public key takes effect immediately. Coordinate rotation to avoid decryption failures during the swap window