PayXpert - User documentation
"Card-on-file" Payment Scenarios
- 1 1. COF / MIT product offers for merchants
- 2 2. Supported COF payment cases (payment.context)
- 3 3. Implementation flows by merchant profile
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 |
|---|---|
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) |
|
|---|---|---|
1 | CIT – single payment (not COF, one‑off purchase) |
|
2 | CIT – subscription chain initiation (first payment of a subscription) |
|
3 | CIT – split / instalment payment initiation (first instalment) |
|
4 | CIT – unscheduled MIT chain initiation (first payment creating a uCOF) |
|
5 | MIT – subscription iteration (subsequent fixed subscription charges) |
|
6 | MIT – instalment iteration (2nd, 3rd… instalment of a known total) |
|
7 | MIT – unscheduled MIT (ad‑hoc/variable follow‑up charges) |
|
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
Configure subscription offer in Central
Create an offer in Central:
Subscription offersYou receive an
offerID.subscriptionTypedetermines chain type:"normal"→ recurring payments"partpayment"→ instalments / split payments"infinite"→ uCOF payments
Initiate MIT chain with a CIT
Via API, send a Sale or Authorize with:
payment.context=subscriptionInitiation/installmentInitiation/unscheduledMitInitiationofferID= 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.
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 > subscriptionendpoints.
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
Initiate MIT chain with CIT
Via API, send Sale or Authorize with:
payment.contextfor initiation (subscriptionInitiation,installmentInitiation,unscheduledMitInitiation)Subscription characteristics in
subscriptionXXXfields:subscriptionTyperebillAmountrebillPeriodrebillMaxIterationtrialPeriod
You receive the
transactionIdof the CIT (this is your chain anchor).API doc: https://developers.payxpert.com/gateway/transactions-ccsale/
Trigger MITs via Rebill
For each MIT, call Rebill with:
transactionId= CIT from step 1amount= 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
schemeTransactionIdhas a leading digit identifying the scheme.You must handle this for both:
CIT response:
schemeTransactionIdMIT 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:
schemeTransactionIdprocessingScheme
You pass this
schemeTransactionIdto your other PSP for MITs.To receive
schemeTransactionIdin 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.