# EnrollmentTermsInput

A model the API reference uses in a request or a response. The operation pages link every field typed as this model here.

Enrollment-specific terms captured at consent time, substituted into Section 3 of the
rendered consent text. Required when the consent covers Recurring or Installment usage;
optional otherwise.

## Fields
- `amount` (string): Free-text description of the amount (e.g. "$29.99 per month", "Based on usage during the preceding billing cycle"). Conditional: When Amount is not null. Max length: 500. (nullable)
- `frequency` (string): Free-text description of the charge frequency (e.g. "Monthly, on the anniversary of my enrollment date", "As transactions occur"). Conditional: When Frequency is not null. Max length: 500. (nullable)
- `duration` (string): Free-text description of how long the authorization remains in effect. Conditional: When Duration is not null. Max length: 500. (nullable)
- `fixedAmount` (number(double)): Optional fixed amount per charge, in the transaction currency. When set, variable-amount notice detection uses this as the baseline to detect drift in upcoming recurring charges. Conditional: When FixedAmount is not null. Must be >= 0. Required: When CardPriceDisclosed is true. (nullable)
- `amountRangeDescription` (string): Optional human-readable agreed-range description (e.g. "between $10 and $100 based on usage"). Conditional: When AmountRangeDescription is not null. Max length: 500. (nullable)
- `convenienceFee` (string): Optional free-text description of a convenience fee charged on every charge under this authorization, in addition to `amount` (e.g. "$2.50 per payment"). Persisted as part of the agreed terms so the fee the cardholder accepted at enrollment is recoverable per occurrence, not only from the merchant's configuration as it stands later. Conditional: When ConvenienceFee is not null. Max length: 500. (nullable)
- `cardPrice` (string): Optional free-text statement of the card price charged to a card on every charge under this authorization, for a merchant that posts a cash price and a card price (e.g. "$104.00 per payment, against a cash price of $100.00"). Persisted as part of the agreed terms so the price the cardholder accepted at enrollment is recoverable from the consent. Recording it does not by itself let a recurring charge be charged the card price: that takes the card price the platform states for the merchant, recorded with the consent (see `cardPriceDisclosed`). Conditional: When CardPrice is not null. Max length: 500. (nullable)
- `cardPriceDisclosed` (boolean): Set to true when you showed the cardholder the merchant's card price for each payment before they agreed, for a merchant that posts a cash price and a card price. Whenever it is true, `fixedAmount` is required and must be greater than zero: it is the cash price of each payment. A card price is recorded only on a card consent that includes `Recurring` or `Installment`, for a merchant whose program covers recurring billing; any other consent records none. The platform prices that amount from the merchant's own configuration and records the card price it states with the consent, so later charges under the consent can be charged the card price, never more than it states. Leave `cardPrice` out and the platform records its own statement of the card price; send it and it must be that statement exactly (for example "$104.00 per payment, against a cash price of $100.00"), or no card price is recorded. The card price is never taken from the request. False or absent records no card price, and every charge under the consent is the cash price. (nullable)

## See also

- [All documentation](https://devportal.signapay-sbx.winkpg.io/llms.txt): the machine-readable index of every public page on this site.
