# StoredPaymentMethodOrigin

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

The surface / add-channel a `CustomerStoredPaymentMethod` was captured through.
Stamped once when the method is first stored and not changed afterward.

## Values

| Value | Description |
| --- | --- |
| `Unknown` | The add-channel was not recorded. Assigned to methods that predate this field (materialized from a null value) and to any path that did not classify its origin. |
| `ManualAdmin` | Added by an operator through a Customer admin surface that mints the stored method on the customer document directly (the customer edit form's payment-methods dialog, and the create-customer / create-contract-from-transaction dialogs). Note: the contract add-payment dialog submits through the HTTP add endpoint and is therefore recorded as Api, since origin on that boundary is server-authoritative and cannot be caller-supplied. |
| `HostedPaymentPage` | Vaulted from a hosted payment page: either tokenize-on-payment or the direct ACH vault flow. |
| `VirtualTerminal` | Vaulted from a Virtual Terminal save-on-payment. |
| `Api` | Added through the HTTP add-stored-payment-method endpoint. Covers external API token registration and any in-process operator surface that submits through that same gated endpoint (e.g. the contract add-payment dialog): origin on this boundary is stamped server-side and is never caller-supplied. |

## See also

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