# Customers

Customers are entities used to organize and manage saved payment methods.
These include billing details, transaction history, and recurring payments.
A customer record may contain their name, email address, phone number, billing, and shipping addresses.
Having a customer association is not required to pay for transactions.
**Creating a customer**<br>
Customers may be created in the following ways:
* Explicitly with `POST /pay-api/v1/customers`.
This includes full customer details and optional payment methods.
* The Merchant Portal. Merchants and their partner can create customers through this portal.
* Implicitly with `POST /pay-int-api/payment-sessions`.
When this endpoint's `mode` is either `SaveMethod` or `PaymentAndSave`, if `customerId` is not provided, one will be created.
* Implicitly with `POST /pay-int-api/invoices/publish`.
If `customerId` is not provided, one will be created.

New `customerId` values can be reviewed with `GET /v2/customers`.
**Pay transactions**<br>
Customers may pay transactions in one of three ways:
* Vaulted payments
* Standalone tokenization, also known as orphan vaulted payment
* Account supported

**Vaulted payments**<br>
Customers can be associated with one or more vaulted payment methods.
A vaulted payment method is a securely stored payment credential.
This applies to credit card or bank account payments.
A vaulted payment method is a securely stored payment credential.
This is considered a more secure method rather than storing the card number directly.
That information has previously been tokenized and saved for future use.
Vaulted information can be safely accessed through a payment identifier.
This is typically used for recurring billing, subscriptions, saved checkout experiences, and card-on-file transactions.
In the transaction payment, the field `customerId` is provided.
The customer's vaulted payment methods are available for selection.
**Standalone tokenization**<br>
Clients may use standalone tokenization, also known as an orphan vaulted payment.
This allows a payment method to be vaulted even when the payer has not been recognized as a customer entity.
The transaction proceeds using a previously established payment method identifier.
Standalone tokenization is useful when a payment method must be vaulted before a customer profile exists.
This includes guest checkouts, delayed onboarding, account setup, or card-on-file collection before registration is complete.
In the transaction payment, the field `customerId` is omitted but `paymentMethodId` is provided.
This indicates the merchant's orphan vaulted payment method is used.
**Accounts Supported**<br>
Clients may use accounts supporting orphan payments.
This is a form of a payment method that temporarily exists without a customer association.
In the transaction payment, both fields `customerId` and `paymentMethodId` are omitted.
The transaction uses the credit or debit card, or bank account data supplied in the request.

 - [GET /v2/customers](https://developer.flute.com/api-reference/v2/customers/flute-v2-get-customers.md): <a id="flute-v2-get-customers"></a> <span class="api-endpoint">GET {{<a href="#urlbases">baseURL</a>}}/v2/customers</span> This endpoint lists customers. <span class="api-seealso">See Also:</span><br>
 - [POST /v2/customers](https://developer.flute.com/api-reference/v2/customers/flute-v2-post-customers.md): <a id="flute-v2-post-customers"></a> <span class="api-endpoint">POST {{<a href="#urlbases">baseURL</a>}}/v2/customers</span> This endpoint creates a customer. <span class="api-seealso">See Also:</span
 - [GET /v2/customers/{customerId}](https://developer.flute.com/api-reference/v2/customers/flute-v2-get-customers-customerid.md): <a id="flute-v2-get-customers-customerId"></a> <span class="api-endpoint">GET {{<a href="#urlbases">baseURL</a>}}/v2/customers/{{customerId}}</span> This endpoint retrieves a customer by ID. <span cla
 - [PATCH /v2/customers/{customerId}](https://developer.flute.com/api-reference/v2/customers/flute-v2-patch-customers-customerid.md): <a id="flute-v2-patch-customers-customerId"></a> <span class="api-endpoint">PATCH {{<a href="#urlbases">baseURL</a>}}/v2/customers/{{customerId}}</span> This endpoint updates a customer's information.
 - [DELETE /v2/customers/{customerId}](https://developer.flute.com/api-reference/v2/customers/flute-v2-delete-customers-customerid.md): <a id="flute-v2-delete-customers-customerId"></a> <span class="api-endpoint">DELETE {{<a href="#urlbases">baseURL</a>}}/v2/customers/{{customerId}}</span> This endpoint deletes a customer. <span class
