"Card-on-file" Payment Scenarios

PayXpert - User documentation

"Card-on-file" Payment Scenarios

1. COF / MIT product offers for merchants

PayXpert provides several MIT (Merchant‑Initiated Transaction) setups depending on your PCI posture and who manages rebills / card data.

Merchant profile

Solution

Merchant profile

Solution

Non‑PCI merchants who do not want to manage rebills

Configure a Subscription Offer in Central → use a CIT to initiate MIT chain → payXpert manages MITs + retries

Non‑PCI merchants who want to manage rebills OR PCI merchants w/o tokens

Use a CIT to initiate MIT chains → merchant sends MITs using the Rebill operation (merchant manages retries)

PCI merchants who manage card info / tokenisation themselves (“external token”)

Combinations of: do only CIT with payXpert, only MIT with payXpert, or both CIT & MIT with payXpert using full card data


2. Supported COF payment cases (payment.context)

When sending a transaction, you must populate the payment.context field to tell payXpert which payment case applies.

#

Business case (merchant view)

payment.context value

#

Business case (merchant view)

payment.context value

1

CIT – single payment (not COF, one‑off purchase)

singlePayment

2

CIT – subscription chain initiation (first payment of a subscription)

subscriptionInitiation

3

CIT – split / instalment payment initiation (first instalment)

installmentInitiation

4

CIT – unscheduled MIT chain initiation (first payment creating a uCOF)

unscheduledMitInitiation

5

MIT – subscription iteration (subsequent fixed subscription charges)

subscriptionIteration

6

MIT – instalment iteration (2nd, 3rd… instalment of a known total)

installmentIteration

7

MIT – unscheduled MIT (ad‑hoc/variable follow‑up charges)

unscheduledMitIteration


3. Implementation flows by merchant profile

3.1 Non‑PCI merchants – payXpert manages rebills (Subscription Offer)

Use when

  • You do not want to implement your own rebilling logic.

  • You are happy for payXpert to manage MIT trigger + retry strategy.

Flow

  1. Configure subscription offer in Central

    • Create an offer in Central:
      Subscription offers

    • You receive an offerID.

    • subscriptionType determines chain type:

      • "normal" → recurring payments

      • "partpayment" → instalments / split payments

      • "infinite" → uCOF payments

  2. Initiate MIT chain with a CIT

    • Via API, send a Sale or Authorize with:

      • payment.context = subscriptionInitiation / installmentInitiation / unscheduledMitInitiation

      • offerID = ID of configured subscription offer.

    • Internally (e.g. Carte Bancaire), these currently go as “single payment”; this can increase soft declines because issuers expect a properly flagged COF CIT.

  3. MITs are triggered by payXpert

    • payXpert runs Rebill operations automatically.

    • Retry strategy is managed by payXpert (details in Central / docs).

    • You can monitor in Central:

      • Subscriptions page: Subscriptions

      • Or via API > subscription endpoints.


3.2 Non‑PCI merchants – merchant manages rebills (Rebill operation)

Use when

  • You do not store card data (non‑PCI)

  • You want control over: when and how many times rebills are attempted.

Flow

  1. Initiate MIT chain with CIT

    • Via API, send Sale or Authorize with:

      • payment.context for initiation (subscriptionInitiation, installmentInitiation, unscheduledMitInitiation)

      • Subscription characteristics in subscriptionXXX fields:

        • subscriptionType

        • rebillAmount

        • rebillPeriod

        • rebillMaxIteration

        • trialPeriod

    • You receive the transactionId of the CIT (this is your chain anchor).

    • API doc: https://developers.payxpert.com/gateway/transactions-ccsale/

  2. Trigger MITs via Rebill

    • For each MIT, call Rebill with:

      • transactionId = CIT from step 1

      • amount = rebill amount

    • No card data is required (card is on file with payXpert).

    • API doc: https://developers.payxpert.com/gateway/transactions-rebill/

    • Retry strategy is fully managed by you (additional Rebill calls).

    • Required configuration: “On the fly subscriptions via API = Enabled” on the originator.


3.3 PCI merchants – “external tokenisation” product

Use when

  • You are PCI‑DSS compliant and store card data yourself.

  • You may use payXpert only for CIT, only for MIT, or for both.

Card data you must store

  • PAN (clear)

  • Expiry date

  • Cardholder name

Scheme transaction IDs

  • payXpert’s schemeTransactionId has a leading digit identifying the scheme.

  • You must handle this for both:

    • CIT response: schemeTransactionId

    • MIT request: originalSchemeTransactionId

Acquirer note

  • Ideally use the same acquirer for both CIT and MIT.

  • For 2025‑11‑25, if you use external 3DS + external tokenisation, some controls must be removed at terminal level:

    • “3DS process belonging” should not restrict these transactions.

3.3.1 Do only the CIT with payXpert (MIT elsewhere)

  • Scenario: orchestration – payXpert for SCA/CIT; other PSP for MITs.

  • CIT request: Sale or Authorize with subscription fields:

    • subscriptionType, rebillAmount, rebillPeriod, rebillMaxIteration, trialPeriod

  • CIT response returns:

    • schemeTransactionId

    • processingScheme

  • You pass this schemeTransactionId to your other PSP for MITs.

  • To receive schemeTransactionId in the response, a specific option must be configured on the originator (see page).

3.3.2 Do only the MIT with payXpert (CIT done elsewhere)

  • Scenario: orchestration – other PSP does initial CIT & COF flagging.

  • You call payXpert Sale or Authorize for each MIT with:

    • All standard fields: amount, payment.context, etc.

    • Card data (PAN, expiry, cardholder name)

    • originalSchemeTransactionId = scheme transaction ID from the initial CIT (at other PSP).

  • Dedicated doc:
    Processing MITs in "external MIT mode"

3.3.3 Do both CIT & MIT with payXpert

  • For PCI merchants who want all COF traffic at payXpert.

  • Workflow = CIT creation flow (“Do only the CIT with payXpert”) → then MIT processing flow (“Do only the MIT with payXpert”) using the same schemeTransactionId.