---
updatedAt: 2026-09-11T20:23:12.000Z
agentTools:
  projectIndex: https://docs.staxpayments.com/llms.txt
---

# Storing Payment Methods

Learn how to comply with card brands' Stored Credential Transaction framework requirements using Stax API, including CIT/MIT transaction types and implementation examples.

Card brands' requirements for their Stored Credential Transaction framework mandate the identification of both the initial storage and subsequent use of payment credentials.

Stax enables merchants to comply with these requirements, allowing them to benefit from higher transaction approval rates and lower decline rates offered by the Stored Credential Transaction framework.

## API Overview

<Accordion title="Required API Properties" icon="fa-cog">
Stax has implemented enhancements to the API to introduce additional flexibility and granularity when defining transaction characteristics. These updates are relevant for tracking and understanding transaction types within our systems. Any clients who have built to the Stax Charge API or the Stax Pay an Invoice API will be required to provide these property values to maintain compliance.

These properties are available and required for compliance in the request body for the POST/charge route as follows:

**1. `meta.transaction_initiation_type` (required, string)**
* Values: `MIT` or `CIT`
* Usage: This specifies whether a transaction is a Merchant-Initiated Transaction (MIT) or a Customer-Initiated Transaction (CIT).

**2. `meta.transaction_schedule_type` (required, string)**
* Values: `scheduled` or `unscheduled`
* Usage: "Scheduled" denotes a recurring transaction or installment; "unscheduled" signifies a new payment not linked to any recurring schedule
</Accordion>

## Stax Scheduled Payments

<Cards columns={3}>
  <Card title="Automated Payments" icon="fa-calendar-check">
    If you are using the Stax Scheduled Invoices APIs or Stax Pay Schedules within the portal for autopayments, the Stax system generates these payments automatically. No additional actions are required.
  </Card>
  
  <Card title="One-Time Payments" icon="fa-credit-card">
    Using Stax Hosted Payments Page, Payment Links, or StaxJS pay() method for one-time payments are all customer-initiated and unscheduled. Stax's system populates the correct transaction characteristics automatically.
  </Card>
  
  <Card title="Custom Schedules" icon="fa-wrench">
    If you opt to use your own schedule, you must include the specified data fields in Charge API requests and correctly identify whether an invoice is first-time or recurring.
  </Card>
</Cards>

## Understanding Transaction Types

<Cards columns={2}>
  <Card title="Customer Initiated Transaction (CIT)" icon="fa-user">
    **When the customer actively participates in checkout**
    
    - Customer engagement: Active involvement, either physically in-store or online
    - Initiation: Customer starts the payment process by providing payment details
    - Real-time interaction required
  </Card>
  
  <Card title="Merchant Initiated Transaction (MIT)" icon="fa-store">
    **When merchant charges without active customer involvement**
    
    - Pre-authorization: Customer has previously allowed merchant to initiate transactions
    - Dependency: Generally follows a CIT to capture necessary authorization
    - No customer presence required
  </Card>
</Cards>

### Transaction Flow

<Columns layout="auto">
  <Column>
    **Initial Transaction (CIT):**
    
    <Image align="center" border={false} src="https://files.readme.io/1990f8e36647f76e257965fece5f0eb2bc04a9bbf2b05807f1e70d2839c0f669-CIT.png" />
  </Column>
  <Column>
    **Subsequent Transactions (MIT):**
    
    <Image align="center" border={false} src="https://files.readme.io/fef94143d174ee2ce05ad73f114bc4e2c933af369057feb9cdbfccbf6efc4a86-MIT.png" />
  </Column>
</Columns>

## Implementation Examples

<Tabs>
  <Tab title="One-Time Payments">
    ### Customer Initiated (CIT) One-time Payment (Unscheduled)
    The ISV builds its own hosted payments page where the customer (payer) can make a one-time payment.
    
    ```json
    {
      "transaction": {
        "payment_method_token": "exampleToken12345",
        "amount": 150,
        "currency_code": "USD",
        "meta": {
          "transaction_initiation_type": "CIT",
          "transaction_schedule_type": "unscheduled"
        }
      }
    }
    ```
    
    ### Merchant Initiated (MIT) One-time Payment (Unscheduled)
    The customer orders a product online and later adds accessories. Merchants can initiate this additional charge without requiring the customer to go through the payment process again.
    
    ```json
    {
      "transaction": {
        "payment_method_token": "exampleToken12345",
        "amount": 150,
        "currency_code": "USD",
        "meta": {
          "transaction_initiation_type": "MIT",
          "transaction_schedule_type": "unscheduled"
        }
      }
    }
    ```
  </Tab>
  
  <Tab title="Scheduled Payments">
    ### Merchant Initiated (MIT) Scheduled Payment
    An ISV provides a subscription service, and the merchant must charge customers for the subscription on a regular and automatic basis.
    
    ```json
    {
      "transaction": {
        "payment_method_token": "exampleToken12345",
        "amount": 150,
        "currency_code": "USD",
        "meta": {
          "transaction_initiation_type": "MIT",
          "transaction_schedule_type": "scheduled"
        }
      }
    }
    ```
  </Tab>
  
  <Tab title="Recurring Setup">
    ### Setting Up Recurring Payments
    The customer initiates the first transaction but also sets up a schedule for recurring payments.
    
    **First Payment: CIT Unscheduled**
    ```json
    {
      "transaction": {
        "payment_method_token": "exampleToken11223",
        "amount": 75,
        "currency_code": "USD",
        "meta": {
          "transaction_initiation_type": "CIT",
          "transaction_schedule_type": "unscheduled"
        }
      }
    }
    ```
    
    **Future Payments: MIT Scheduled**
    ```json
    {
      "transaction": {
        "payment_method_token": "exampleToken11223",
        "amount": 75,
        "currency_code": "USD",
        "meta": {
          "transaction_initiation_type": "MIT",
          "transaction_schedule_type": "scheduled"
        }
      }
    }
    ```
  </Tab>
</Tabs>