Freedom Pay
  1. Payment Cards
Freedom Pay
  • Overview
  • Gateway API
    • Overview
    • Sync API
      • Overview
      • Purchase
        • Overview
        • Create payment
        • Any amount
        • Card
        • 3DSecure
        • Recurrent
        • Cancel
        • Clearing
        • Refund
        • Status
      • Payout
        • Overview
        • Card
        • IBAN
        • Balance
        • Status
      • Transfer
        • Overview
        • Card
        • 3DSecure
        • Rates
        • Status
      • Card
        • Overview
        • Add
        • 3DSecure
        • List
        • Remove
        • Status
      • Token
        • Overview
        • Token Pay
        • Apple Pay
        • Google Pay
        • Token Payout
        • Status
    • Async API
      • Overview
      • create
        • create payment
      • read
        • read payment
        • read request
      • edit
        • edit payment.refund
        • edit payment.reverse
        • edit payment.clearing
  • Merchant API
    • Overview
    • Purchase
      • Overview
      • Checkout
      • Card token
        • Overview
        • Tokenize card
        • Delete token
        • Card token list
        • Create payment (with CVC)
        • Confirm payment (with CVC)
        • Create payment
        • Confirm payment
      • Create payment
      • Any amount
      • Cancel payment
      • Clearing
      • Refund payment
      • Status
    • Payout
      • Overview
      • Card token
        • Tokenize card
        • Delete token
        • Card token list
        • Create payment
      • Create payment
      • IBAN
      • Balance status
      • Status by order_id
      • Status by Payment ID
      • Status
    • Mobile balance
      • Overview
      • Init
      • Pay
      • Approve
      • Resend code
      • Status
    • Invoice
      • Overview
      • Init
      • Info
      • Pay
      • Status
    • SDK
      • JS SDK
      • Google Pay
      • Freedom QR
        • Reader SDK (Android)
        • Provider SDK (Android)
      • Payment SDK
        • iOS
        • Android
      • Merchant SDK
        • Android
    • CMS
      • Overview
      • Get Merchant ID and key
      • WordPress
        • Overview
        • Installation
        • Configuration
        • Test
        • Live payments
        • Update
      • Tilda
        • Overview
        • Installation
        • Configuration
        • Test
        • Live payments
      • InSales
        • Overview
        • Installation
        • Configuration
        • Test
        • Live payments
      • Ecwid
        • Overview
        • Installation
        • Configuration
        • Test
        • Live payments
      • Bitrix
        • Overview
        • Installation
        • Configuration
        • Test
        • Live payments
      • PrestaShop
        • Overview
        • Installation
        • Configuration
        • Test
        • Live payments
      • OpenCart
        • Overview
        • Installation
        • Configuration
        • Test
        • Live payments
    • Redirect back
    • Result notify
    • Payout notify
    • Check request
  • Card API
    • Overview
    • Payment Cards
      • Overview
      • Dictionaries
      • Bulk issue
        POST
      • Issue card
        POST
      • Issue plastic card
        POST
      • Activate card
        POST
      • Block card
        POST
      • Unblock card
        POST
      • Set PIN
        POST
      • Reset PIN counter
        POST
      • Close card
        POST
      • Update client
        POST
      • Card info
        POST
      • Balance
        POST
      • Secret data
        POST
      • Secret data (version 2)
        POST
      • Operations' list
        POST
      • Statement extended
        POST
      • Create client
        POST
      • Edit client
        POST
      • Сards' list
        POST
      • Request' status
        POST
      • Create transaction
        POST
      • Clearing transaction
        POST
      • Refund transaction
        POST
      • Transaction info
        POST
      • Cardholder validation
        POST
      • Set limits
        POST
      • Limits list
        POST
    • Gift Cards
      • Overview
      • List
      • Issue
      • Confirm
      • Resend
      • Resend code
      • Status
  • Partner API
    • Rates
      • Overview
      • Rates
    • Products
      • Overview
      • Dictionaries
      • Add client with product
      • Request status
      • Create terminal
    • E-Money
      • Overview
      • Add
      • Owner identification
      • Info
      • Close
      • Block
      • Balance
      • Statement
      • Request Status
    • Freedom ID
      • Overview
      • Design
      • iOS SDK
      • Android SDK
      • OAuth2
        • Authorization link
        • Token exchange
        • Token refresh
        • User info
        • Request profile
        • Get profile status
        • Create user
        • Update user
      • OIDC
        • Authorization endpoint
        • Token exchange
        • Userinfo
      • Error codes
      • Examples
        • Keycloak
    • Transfer
      • Overview
      • Get token
      • Refresh token
      • Get agents
      • Fees
      • Create person
      • Create business
      • Create transfer
      • Print application
      • Confirm
      • Search
      • Payout
      • Payout confirm
      • Cancel
      • Get person info
      • Get business info
      • Status
      • Info
    • Device ID
      • Android SDK
      • iOS SDK
    • Implement SuperApp
      • Overview
      • Pay
      • Refund
    • Account
      • Settlement
        • Overview
        • Create payment
        • Payment status
    • Invoice
  1. Payment Cards

Overview

This section provides information about API methods designed for managing bank cards. You can use these methods to issue new cards, check balances, retrieve card information, and perform other card-related operations. The API enables seamless integration of card functionalities into your systems, ensuring convenient and secure access to card data.
In addition to standard card operations, the API provides functionality for validating cardholder identity. This includes verifying that the personal details provided by a user (first name, last name, and phone number) match the information registered with the system for a given card token

Working with Encrypted Data in Payment Cards Services#

In the Payment Cards section, RSA encryption is used to protect confidential information such as PAN, CVC, card PIN, and other sensitive data.

Encrypted Data Exchange Formats#

There are two supported formats for working with encrypted data:
1.
From Freedom Processing to the partner
a. Freedom Processing encrypts the data using the partner's public key.
b. The partner decrypts the data using their private key.
2.
From the partner to Freedom Processing
a. The partner encrypts the data using the Freedom Processing public key.
b. Freedom Processing decrypts the data using its private key.

Key Exchange#

To establish encrypted communication, either share your public RSA key with Freedom Processing or request their public key, depending on the direction of data exchange. Please contact your account manager for the key exchange process.

Encryption requirements#

Encryption Method: Asymmetric Encryption
Algorithm: RSA
Padding: PKCS#1 v1.5
Key length: 4096 bits
Encryption Key: Recipient's public RSA key
Transmission format: Encrypted data is encoded in Base64

Sender-Side Encryption Process#

1.
Prepare the plaintext data (card_pan,card_cvc,pin).
2.
Use the recipient’s public RSA key to encrypt the data using:
Algorithm: RSA
Padding: PKCS#1 v1.5
3.
Encode the encrypted data in Base64.

Recipient-Side Decryption Process#

1.
Receive the encrypted data encoded in Base64.
2.
Decode the Base64 string to get the encrypted binary data.
3.
Use your private RSA key to decrypt the data using:
Algorithm: RSA
Padding: PKCS#1 v1.5
4.
Retrieve the original plaintext data.

Example: Using Encrypted Data with the Set PIN Method#

Option 1 - PIN Provided by the Partner#

The partner generates the PIN to be set.
The PIN is encrypted using the public RSA key of Freedom Processing, obtained from the account manager.
The Base64-encoded encrypted value is passed in the pin field of the request body.
Freedom Processing decrypts the received value using its private RSA key and sets the PIN for the card.

Option 2 - PIN Generated by Freedom Processing#

The partner calls the Set PIN method without specifying a PIN in the request.
In this case, the PIN is generated and set by Freedom Processing.
The generated PIN is then encrypted using the partner’s public RSA key, previously exchanged via the account manager.
The encrypted PIN is delivered to the partner through one of the agreed secure channels.
The partner decrypts the received value using their private RSA key to retrieve the original PIN.
Modified at 2025-07-24 12:00:34
Previous
Overview
Next
Dictionaries