The Customer
object contains information about a customer, including contact details. You can also use it to create a customer token from a card or APM token. The customer token stores the payment details for repeated use in the future. (By contrast, you can only use a card or APM token to make a single payment.) When you have created at least one valid token for the customer, you can use the id
value of the Customer
object itself as a payment source that will reference the token. See the guide page about creating a customer token for full details about creating and using the token.
Customer object
List of fields
While the customer object may seem to contain many parameters, only a handful are useful to merchants. Other may be used under specific scenarios as ProcessOut is fully transparent with the data it gathers. The following list contains most parameters that may be useful to merchants
Field | Type | Description |
---|---|---|
id | string readonly | String value that uniquely identifies the customer. |
default_token_id (Expandable) | string | Default token for the customer. This is used as the payment token when you supply the customer’s ID as a payment source. |
tokens | []object | Tokens that belong to the customer (which can be cards or other payment methods). See Tokens object |
transactions | []object | Transactions that were started by the customer (which can be in any transaction state). See Transaction object |
string | Customer’s email address. Must be a valid email | |
first_name | string | First name of the customer. Maximum 80 characters long |
last_name | string | Last name of the customer. Maximum 80 characters long |
address1 | string | First line of the customer’s address. Maximum 80 characters long |
address2 | string | Second line of the customer’s address. Maximum 80 characters long |
city | string | City of the customer’s address. Maximum 80 characters long |
state | string | State or county of the customer’s address. Maximum 80 characters long |
zip | string | ZIP code of the customer’s address. Maximum 16 characters long |
country_code | string | Country code of the customer’s address (US , FR …). |
phone | object | Phone number of the customer. |
legal_document | string | Legal document number (required in some countries). Maximum 255 characters long; example for a CPF document in Brazil: 853.513.468-93 |
ip_address | string | IP address of the customer. Must be a valid IPv4 or IPv6 address |
sex | string | Sex of the customer. Can be male or female . |
date_of_birth | datetime | Customer’s date of birth. |
is_business | boolean | Denotes whether or not the customer represents a business. |
metadata | object | Metadata related to the customer, in the form of key-value pairs (string - string). |
registered_at | datetime | Date when the customer was registered on your platform. This defaults to the same date as created_at if you omit it. |
sandbox | boolean readonly | Denotes whether or not this customer was created in the sandbox testing environment. |
created_at | datetime | Date and time when this customer was created. |
project_id (Expandable) | string readonly | Project that the customer belongs to. |
The billing address of the
Customer
will be overwritten with the billing address of the invoice, if it is set during transaction processing. In order of priority, ProcessOut uses the invoice billing address, then theCard
billing address, before falling back to theCustomer
billing address if no other address is available.
Phone object
Field | Type | Description |
---|---|---|
number | string | Phone number without the dialing code. Maximum 14 characters long |
dialing_code | string | International dialing code (Note: “+” will be treated as “00”) |
JSON object
Customer object
{
"customer": {
"id": "cust_D5BDaQQ8XL4xoUfKRjpBQjoEIwMA6asA",
"project_id": "proj_IFCgGTmyClrgTOzsschN1y7GJttHVQ7S",
"tokens": null,
"subscriptions": null,
"transactions": null,
"balance": "0",
"currency": null,
"email": "[email protected]",
"first_name": "Matéo",
"last_name": "Garnier",
"address1": "6873 Place du 8 Février 1962",
"address2": "Cedex 7",
"city": "Marseille",
"state": "Orne",
"zip": "80735",
"country_code": "FR",
"ip_address": "1.1.1.1",
"phone": {
"number": "684758495",
"dialing_code": "0033"
},
"legal_document": "1122.434.234",
"date_of_birth": "2001-11-11T04:56:05Z",
"metadata": {},
"sandbox": true,
"created_at": "2023-04-22T09:33:12.331728825Z",
"registered_at": "2005-08-07T23:19:49Z",
"is_business": false,
"sex": "male",
"default_token_id": null
},
"success": true
}
Customer object with token expanded
{
"customer": {
"id": "cust_QXN34KvkPXXeeiqvuPOkCdCotsIeNP4g",
"project_id": "proj_IFCgGTmyClrgTOzsschN1y7GJttHVQ7S",
"tokens": [
{
"id": "tok_3neSbvz4aHZtmz2Z2SNDLidevkcEP3zk",
"customer_id": "cust_QXN34KvkPXXeeiqvuPOkCdCotsIeNP4g",
"invoice_id": null,
"gateway_configuration_id": null,
"gateway_configuration_sub_account": null,
"card_id": "card_wiSgR41rYiXqnxN2NJQbJKG2aKHdf5hv",
"is_subscription_only": false,
"is_default": true,
"return_url": "https://mymerchant.com/return",
"cancel_url": "https://mymerchant.com/cancel",
"is_chargeable": true,
"type": "card",
"metadata": {
"test": "23456789"
},
"description": "Brand new card 2!",
"created_at": "2023-04-24T10:49:39.299707Z",
"summary": "**** **** **** 4242",
"verification_status": "not-requested",
"manual_invoice_cancellation": null,
"can_get_balance": null
},
{
"id": "tok_xOvZE0ww8jxLMAen2BBPxNqJNjpZXpNA",
"customer_id": "cust_QXN34KvkPXXeeiqvuPOkCdCotsIeNP4g",
"invoice_id": null,
"gateway_configuration_id": null,
"gateway_configuration_sub_account": null,
"card_id": "card_l3D0TcPmkSmeBuYh3xuORmEifFEiRKZj",
"is_subscription_only": false,
"is_default": false,
"return_url": "https://mymerchant.com/return",
"cancel_url": "https://mymerchant.com/cancel",
"is_chargeable": true,
"type": "card",
"metadata": {
"test": "23456789"
},
"description": "Card 1 of the customer",
"created_at": "2023-04-24T10:49:28.50575Z",
"summary": "**** **** **** 0001",
"verification_status": "not-requested",
"manual_invoice_cancellation": null,
"can_get_balance": null
}
],
"subscriptions": null,
"transactions": null,
"balance": "0",
"currency": null,
"email": "[email protected]",
"first_name": "Loan",
"last_name": "Richard",
"address1": "7242 Rue Courbet",
"address2": "Cedex 7",
"city": "Courbevoie",
"state": "Vendée",
"zip": "23856",
"country_code": "FR",
"ip_address": "1.1.1.1",
"phone": {
"number": "685869595",
"dialing_code": "0033"
},
"legal_document": "1122.434.234",
"date_of_birth": "2001-11-11T04:56:05Z",
"metadata": {},
"sandbox": true,
"created_at": "2023-04-24T10:49:20.291426Z",
"registered_at": "2005-08-07T23:19:49Z",
"is_business": false,
"sex": "male",
"default_token_id": "tok_3neSbvz4aHZtmz2Z2SNDLidevkcEP3zk"
},
"success": true
}