# CreateStandaloneTokenRequestDto

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

The card or check details to store as a token, with no transaction attached.

## Fields
- `merchantId` (string(uuid))
- `customerId` (string(uuid)): (nullable)
- `paymentDetails` ([PaymentDetailSnapshot](https://devportal.signapay-sbx.winkpg.io/docs/api/models/PaymentDetailSnapshot.md)): Conditional: When PaymentDetails is not null.
  Fields:
  - `cardData` ([CardData](https://devportal.signapay-sbx.winkpg.io/docs/api/models/CardData.md)): Conditional: When CardData is not null.
  - `checkData` ([CheckData](https://devportal.signapay-sbx.winkpg.io/docs/api/models/CheckData.md)): Conditional: When CheckData is not null.
  - `tokenData` ([TokenData](https://devportal.signapay-sbx.winkpg.io/docs/api/models/TokenData.md)): Conditional: When TokenData is not null.
  - `processorTokens` (array<[StoredProcessorToken](https://devportal.signapay-sbx.winkpg.io/docs/api/models/StoredProcessorToken.md)>): Processor-issued reusable tokens (e.g. TSYS `RequestToken`) captured at auth time and stored alongside the card. Keyed by processor + processor profile; a repeat sale prefers a matching token at the rail and falls back to the PAN. An empty list when no processor token is held. (nullable)
  - `networkToken` ([StoredNetworkToken](https://devportal.signapay-sbx.winkpg.io/docs/api/models/StoredNetworkToken.md)): The network token (DPAN) provisioned for this payment method, when one exists. On a read it carries only non-sensitive metadata: state, network, token suffix, expiry and timestamps. The token number and the provider identifiers are never returned.
  - `paymentMethodType` ([TokenPaymentMethodType](https://devportal.signapay-sbx.winkpg.io/docs/api/models/TokenPaymentMethodType.md)): (read only)
    Values:
    - `Unknown`: Not classified.
    - `Card`: A card, keyed or read.
    - `Check`: A bank account debited over ACH, or a check.
    - `DigitalWallet`: A digital wallet (Apple Pay, Google Pay, Paze), which rides the card networks.
    - `AlternativePayment`: An alternative payment method approved inside a provider and presented as an approval reference.
- `type` ([TokenType](https://devportal.signapay-sbx.winkpg.io/docs/api/models/TokenType.md)): Defines the supported token types used in transaction-related models. Also aliased as the platform's payment-method category (`InitializeContext` imports it as `PaymentMethodCategory`), which is what the processor-profile pre-filter narrows on.
  Values:
  - `Card`: A card, keyed or read.
  - `Check`: A bank account debited over ACH, or a check.
  - `Cash`: Cash, which carries no instrument block of its own.
  - `DigitalWallet`: A digital wallet (Apple Pay, Google Pay, Paze), which rides the card networks.
  - `AlternativePayment`: An alternative payment method approved inside a provider (PayPal, Venmo, Pay Later, Affirm, Klarna, Afterpay) and presented to the gateway as an approval reference.
- `category` ([TokenCategory](https://devportal.signapay-sbx.winkpg.io/docs/api/models/TokenCategory.md)): Defines the category of a token used in transaction processing.
  Values:
  - `Internal`
  - `Network`
  - `Wallet`
- `idempotencyKey` (string): Optional caller-supplied key that makes this create safe to retry. Send the same key with the same payment details and the gateway returns the token it already minted instead of minting a second one, so a timeout or a network retry during a bulk import cannot leave you with two vault records for one card. Conditional: When IdempotencyKey is not empty. (nullable)
- `storedCredentialConsent` ([TokenStoredCredentialConsentInput](https://devportal.signapay-sbx.winkpg.io/docs/api/models/TokenStoredCredentialConsentInput.md)): The cardholder's stored-credential consent, when you obtained it outside the platform before vaulting the card (for example on a payment terminal's screen or a signed form). Optional. The card or bank account is stored on the customer as a stored payment method and the consent is recorded against it, so a later merchant-initiated charge on the token resolves it. Conditional: When StoredCredentialConsent is not null.
  Fields:
  - `capturedAtUtc` (string(date-time)) required: When the cardholder agreed, in UTC. Required. A time more than five minutes in the future is refused. Conditional: When CapturedAtUtc is not null. Conditional: When CapturedAtUtc meets a condition. (nullable)
  - `method` ([ConsentCaptureMethod](https://devportal.signapay-sbx.winkpg.io/docs/api/models/ConsentCaptureMethod.md)) required: How the cardholder agreed. Required. A terminal sends `OnScreen` for acceptance on its screen, `SignedForm` for a signature, or `InPerson` for verbal agreement at the counter; `Phone`, `Email`, `OnlineForm` and `Other` are accepted too. (nullable)
    Values:
    - `InPerson`: In-person interaction. Cardholder was physically present.
    - `Phone`: Phone call with the cardholder (potentially recorded).
    - `SignedForm`: Paper / digital form signed by the cardholder.
    - `Email`: Email exchange in which cardholder agreed.
    - `OnlineForm`: Online form on the merchant's own website / app.
    - `OnScreen`: The cardholder accepted the terms on a device screen at the point of sale, such as a payment terminal or a tablet, at the moment the card was read.
    - `Other`: Other method not captured above. Operators / merchants use the notes field or merchant reference to explain.
  - `allowedUsages` ([StoredCredentialUsage](https://devportal.signapay-sbx.winkpg.io/docs/api/models/StoredCredentialUsage.md)): The future uses the cardholder agreed to, as flags: `Recurring`, `Installment`, `UnscheduledCOF` and `OneTimeFuture`, combined when the cardholder agreed to more than one. Required, and at least one flag must be set. Conditional: When AllowedUsages != None. Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
    Values:
    - `None`: No permitted uses. Consent record is effectively inactive.
    - `Recurring`: Scheduled recurring charges (subscriptions, membership dues). Maps to Recurring.
    - `Installment`: Fixed-schedule installment plans dividing a known total. Maps to Installment.
    - `UnscheduledCOF`: Merchant-triggered charges for pre-agreed events (balance top-ups, usage overages, no-show fees, delayed charges). Maps to several MIT reason codes including UnscheduledCOF, NoShow, DelayedCharge, and IncrementalAuth.
    - `OneTimeFuture`: A single known future cardholder-initiated purchase the credential was saved for (e.g. "save card for my next order"). Not used for MITs.
  - `consentTextVersion` (string) required: The version of the consent text the cardholder was shown, as returned by the stored-credential consent configuration endpoint. Required, up to 200 characters. (nullable, max length 200)
  - `evidenceReference` (string): Your own reference to the evidence you kept, such as the identifier of a stored signature image or a terminal log line. Optional, up to 200 characters. Shown on the consent's evidence in the back office. (nullable, max length 200)
  - `enrollmentTerms` ([EnrollmentTermsInput](https://devportal.signapay-sbx.winkpg.io/docs/api/models/EnrollmentTermsInput.md)): The payment terms the cardholder agreed to. Required when `allowedUsages` includes `Recurring` or `Installment`, and then the amount, frequency and duration must each be set. Conditional: When EnrollmentTerms is not null. Required: When IncludesRecurringOrInstallment(AllowedUsages) is true.

## See also

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