# Tokenization & Repeat Transactions

<figure><img src="https://1759075701-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIS9AkCawNWrhCXwEyUbh%2Fuploads%2FOgmHAPtT5nzsLmavRnqf%2Fmedium.png?alt=media&#x26;token=0f8a4ca4-c1dc-4c0b-a09b-0b71576f08e4" alt=""><figcaption></figcaption></figure>

**ArgoFire** enables secure, PCI-compliant tokenization of both credit card and ACH payment methods. Tokens allow merchants to process repeat sales without storing or re-collecting sensitive payment data. This is especially useful for returning customers, recurring subscriptions, and virtual terminal users who need to charge saved payment methods.

***

Tokenization replaces sensitive payment credentials with secure reference keys that can be safely stored and reused for future transactions. This lets merchants avoid handling raw credit card or bank account data directly, supporting PCI compliance.

FrontStream supports two token types:

* **CcInfoKey** — A token representing a credit card.
* **CheckInfoKey** — A token representing an ACH (bank account).

These tokens are returned by the **GetToken** (credit card) and **GetCheckToken** (ACH) Web services and can be used in place of card or account numbers for subsequent transactions like RepeatSale, Return, or Void. Tokens are stored securely on FrontStream’s PCI-certified infrastructure. Your system references the token — not the original payment data — when processing follow-up payments, reducing risk and exposure.

***

#### Tokenization Flow

**1. Generate ClientSessionID**

Call the **GetClientSession** Web service to begin a secure session.

**2. Tokenize the Payment Method**

* Use **GetToken** to tokenize a credit card (returns a CcInfoKey).
* Use **GetCheckToken** to tokenize an ACH account (returns a CheckInfoKey).

**3. Store Customer & Token**\
Associate the returned token with a customer record in your system for future use.

**4. Future Use**\
Use the stored token to run repeat sale transactions without re-entering payment data.

Please see more details of the **GetClientSession, GetToken**, and **GetCheckToken** APIs here:

{% content-ref url="../full-endpoint-reference-and-tools/tokenization-services" %}
[tokenization-services](https://developers.frontstream.com/argofire/full-endpoint-reference-and-tools/tokenization-services)
{% endcontent-ref %}

***

#### Use Case: One-Click Repeat Sale

**Initial Payment & Tokenization**\
A customer completes a purchase. ArgoFire returns a token, which is stored in your system.

**Initiate Repeat Sale**\
When the customer returns, your system submits the stored token via the relevant payment Web service to process a new sale — no re-entry of payment data required.

**Secure Processing & Receipt**\
ArgoFire processes the repeat sale and returns a response with full transaction details, including transaction ID, status, and receipt information.

***

#### Use Case: Scheduled Recurring Sales

**Initial Tokenization**\
A payment method is tokenized using **GetToken** or **GetCheckToken**.

**Recurring Schedule Setup**\
Use **ManageContract** to create a recurring schedule tied to the token (e.g., monthly or annually).

**Automatic Billing**\
ArgoFire charges the customer automatically according to the configured schedule, using the stored token.

**Contract Management**\
Use **ManageContract** to update billing frequency, change amounts, or cancel the schedule as needed.

***

#### Key Web Services for Tokenization & Repeat Sales

* **GetClientSession** – Begins a secure client session for tokenization.
* **GetToken** – Tokenizes a credit card and returns a **CcInfoKey**.\
  `https://secure.ftipgw.com/admin/ws/recurring.asmx?op=GetToken`
* **GetCheckToken** – Tokenizes an ACH account and returns a **CheckInfoKey**.\
  `https://secure.ftipgw.com/admin/ws/recurring.asmx?op=GetCheckToken`
* **ManageContract** – Creates, updates, or cancels recurring billing schedules.
* **ProcessCreditCard / ProcessCheck** – Submits a transaction using a stored token.

Please see more details of these **GetClientSession, GetToken, and GetCheckToken** APIs here:

{% content-ref url="../full-endpoint-reference-and-tools/tokenization-services" %}
[tokenization-services](https://developers.frontstream.com/argofire/full-endpoint-reference-and-tools/tokenization-services)
{% endcontent-ref %}

Please see more details of these **ProcessCreditCard / ProcessCheck** APIs here:

{% content-ref url="../full-endpoint-reference-and-tools/payment-processing-credit-check-debit" %}
[payment-processing-credit-check-debit](https://developers.frontstream.com/argofire/full-endpoint-reference-and-tools/payment-processing-credit-check-debit)
{% endcontent-ref %}

Please see more details on **ManageContract** API here:

{% content-ref url="../recurring-billing-and-customer-info" %}
[recurring-billing-and-customer-info](https://developers.frontstream.com/argofire/recurring-billing-and-customer-info)
{% endcontent-ref %}

#### Security & Compliance

* **PCI Scope Reduction**: Tokenization keeps sensitive data off your servers.
* **Encrypted End-to-End**: All communications are encrypted; tokens are stored securely.
* **Merchant-Scoped Tokens**: Tokens can only be used by your merchant account.
