Collect customer phone numbers
Collect a phone number for shipping or invoicing when your customer makes a payment.
You can enable phone number collection on all payment and subscription mode Sessions (phone number collection isn’t supported in setup mode). Only collect phone numbers if you need them for the transaction.
Enable phone number collection
To enable phone number collection, set phone_number_collection[enabled] to true when creating a Checkout Session.
Command Line
Select a language
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
With phone number collection enabled, Checkout adds a required phone number field to the payment form. If you’re collecting a shipping address, the phone number field displays under the address fields. Otherwise, Checkout displays the phone number field below the email input. Customers can only enter one phone number per session.
Retrieve the phone number
After the session, you can retrieve customer phone numbers from the resulting Account, Customer, or Checkout Session objects:
- On the customer-configured Account : Checkout saves collected phone numbers on the contact_phone property of the Account . You can retrieve the value using the API or listen for the v2.core.account.created event in a webhook . You can also view the customer’s phone number in the Dashboard .
- On the Customer : Checkout saves collected phone numbers onto the phone property of the Customer . You can retrieve the value using the API or listen for the customer.created event in a webhook . You can also view the customer’s phone number in the Dashboard .
- On the Checkout Session : The Checkout Session also saves the customer’s phone number in the customer_details.phone property. You can listen for the checkout.session.completed event in a webhook , which contains the Checkout Session object (and phone number).
Collect phone numbers for existing customers
Passing in an existing customer with a populated phone number to the Checkout Session prefills the phone number field. Use the contact_phone property for a customer-configured Account or the phone property for a Customer.
A customer-updated phone number persists on the contact_phone property for Account objects or the phone property for Customer objects, overwriting any previously saved phone number.
Update phone numbers with the customer portal
You can allow customers to manage their own accounts (which includes updating their phone numbers) in the customer portal.
