**Last updated**: 07 April 2026 | [**Change log**](/access/products/payments/changelog/)

# Subsequent recurring payment

Enterprise

Following an [initial agreement](/access/products/payments/recurring-first), make subsequent recurring payments.

Subscription
The request must contain:


```JSON
"customerAgreement": {
    "type": "subscription", 
    "storedCardUsage": "subsequent" 
}
```

## 1. Basic request

Plain card
The `schemeReference` must be provided to link the `first` and `subsequent` recurring payment.


```js
{
    "transactionReference": "Memory265-13/08/1876",
    "merchant": {
        "entity": "default"
    },
    "instruction": {
        "method": "card",
        "paymentInstrument": {
            "type": "plain",
            "cardNumber": "4000000000001091",
                "expiryDate": {
                "month": 5,
                "year": 2035
            }
        },
        "customerAgreement": {
            "type": "subscription",
            "storedCardUsage":"subsequent",
            "schemeReference": "MCCOLXT1C0104"
        },
        "narrative": {
            "line1": "trading name"
        },
        "value": {
            "currency": "GBP",
            "amount": 42
        }
    }
}
```

Token
If the token created as part of the initial agreement is used it will contain the `schemeReference`. Otherwise it must be provided in the request separately to link the `first` and `subsequent` recurring payment.

Installment
The request must contain:


```JSON
"customerAgreement": {
    "type": "installment", 
    "storedCardUsage": "subsequent" 
}
```

## 1. Basic request

Plain card
The `schemeReference` must be provided to link the `first` and `subsequent` recurring payment.


```js
{
    "transactionReference": "Memory265-13/08/1876",
    "merchant": {
        "entity": "default"
    },
    "instruction": {
        "method": "card",
        "paymentInstrument": {
            "type": "plain",
            "cardHolderName": "Sherlock Holmes",
            "cardNumber": "4000000000001091",
                "expiryDate": {
                "month": 5,
                "year": 2035
            }
        },
        "customerAgreement": {
            "type": "installment",
            "installmentType": "merchant",
            "storedCardUsage":"subsequent",
            "schemeReference": "MCCOLXT1C0104"
        },
        "narrative": {
            "line1": "trading name"
        },
        "value": {
            "currency": "GBP",
            "amount": 42
        }
    }
}
```

Token
If the Worldpay token created as part of the initial agreement is used it will contain the `schemeReference`. Otherwise it must be provided in the request separately to link the `first` and `subsequent` recurring payment.


```js
{
    "transactionReference": "Memory265-13/08/1876",
    "merchant": {
        "entity": "default"
    },
    "instruction": {
        "method": "card",
        "paymentInstrument": {
            "type": "token",
            "href": "https://try.access.worldpay-bsh.securedataplatform.com/tokens/eyJrIjoxLCJkIjoialRBL0FFelBzcnZpNC..."
        },
        "customerAgreement": {
            "type": "installment",
            "installmentType": "merchant",
            "storedCardUsage":"subsequent",
            "schemeReference": "MCCOLXT1C0104"
        },
        "narrative": {
            "line1": "trading name"
        },
        "value": {
            "currency": "GBP",
            "amount": 42
        }
    }
}
```

Unscheduled
The request must contain:


```JSON
"customerAgreement": {
    "type": "unscheduled"
}
```

## 1. Basic request

Plain card

```js
{
    "transactionReference": "Memory265-13/08/1876",
    "merchant": {
        "entity": "default"
    },
    "instruction": {
        "method": "card",
        "paymentInstrument": {
            "type": "plain",
            "cardNumber": "4000000000001091",
                "expiryDate": {
                "month": 5,
                "year": 2035
            }
        },
        "customerAgreement": {
            "type": "unscheduled",
            "schemeReference": "MCCOLXT1C0104"
        },
        "narrative": {
            "line1": "trading name"
        },
        "value": {
            "currency": "GBP",
            "amount": 42
        }
    }
}
```

Token
View the full API Request schema
## 2. Add additional features

Risk Assessment
We assess the payment for fraud before proceeding with authorization.
Enterprise
Worldpay eCommerce

Auto Settlement
Automatically settle a payment following the authorization.
Enterprise
Worldpay eCommerce

Account Funding Transactions (AFT)
Transfer funds from a card account to another destination, rather than for the provision of goods or services.
Enterprise

Financial Service (MCC 6012/6051)
For domestic Financial Services providers (MCC 6012) based in the Visa Europe Region, you must supply this additional data.
Enterprise

Latin America Installments
Fulfill a one-time installment charge, to allow the customer's acquirer bank collecting the payments over time.
Enterprise

Payment Facilitator
Facilitate transactions on behalf of your sub-merchants.
Enterprise

Account Updater
Automatically update card details to prevent declines due to expired or changed cards.
Enterprise

## 3. Response

Features that change the API flow
Certain features add additional requests and responses:

- [FraudSight](/access/products/payments/enable-features/fraud-assessment) - you may receive a `201` - `fraudHighRisk` outcome, stopping the payment
- [Auto Settlement](/access/products/payments/enable-features/auto-settlement) - automatic `202` - `sentForSettlement` following authorization.
  - If any of the AVS/CVC response riskFactors are marked as `notMatched` the payment will be `sentForCancellation` automatically by default but can be disabled.


View the full API Response schema
## Sequence diagram

Subsequent MIT
Send a Merchant Initiated Transaction (MIT) request for subsequent recurring transactions.


```mermaid

sequenceDiagram
    participant Browser
    participant Merchant_Frontend as Merchant Frontend
    participant Merchant_Backend as Merchant Backend
    participant Payments_API as Payments API
    participant Issuers
    Browser->>Merchant_Frontend: Click Pay
    Merchant_Frontend->>Merchant_Backend: Pay 
    Merchant_Backend->>Payments_API: Payment request
    Note over Merchant_Backend,Payments_API: Set `customerAgreement.type = subscription` <br> `customerAgreement.storedCardUsage = subsequent`
    Payments_API->>Merchant_Backend: Payment response
    Merchant_Backend->>Payments_API: Settlement request
    Payments_API->>Merchant_Backend: Settlement response
    Merchant_Backend->>Merchant_Frontend: Transaction complete
    Note left of Merchant_Frontend: Order receipt page
```