---
updatedAt: 2025-11-13T14:40:24.000Z
agentTools:
  siteIndex: https://docs.affirm.com/llms.txt
  projectIndex: https://docs.affirm.com/developers/v1.0-Global-Integration/llms.txt
---

# Shipping & Billing Objects

Any [checkout object](https://docs.affirm.com/developers/v1.0-Global-Integration/reference/the-checkout-object) includes a `shipping` object and/or the `billing` object. Both objects have the same format. It also includes the [`address`](https://docs.affirm.com/developers/v1.0-Global-Integration/reference/address) and [`name`](https://docs.affirm.com/developers/v1.0-Global-Integration/reference/name) objects.

## Attributes

| Attribute         | Data type | Description                                                                                                                                     |
| :---------------- | :-------- | :---------------------------------------------------------------------------------------------------------------------------------------------- |
| **name**          | *object*  | See [details](https://docs.affirm.com/developers/v1.0-Global-Integration/reference/name-object-1).                                              |
| **address**       | *object*  | See [details](https://docs.affirm.com/developers/v1.0-Global-Integration/reference/address-object-1). Validated against public address service. |
| **phone\_number** | *string*  | The user's phone number.                                                                                                                        |
| **email**         | *string*  | The user's email address.                                                                                                                       |

```json The Shipping Object
{
   "name":{
      "first":"John",
      "last":"Doe",
      "full":"John Doe"
   },
   "address":{
      "street1": "4519 Rue Levy",
      	 "street2": "Apt 1",
      	 "city": "Saint-Laurent",
      	 "region1_code": "QC",
      	 "postal_code": "H4R2P9",
     		 "country_code": "CAN"
   },
   "phone_number":"4151234567",
   "email":"johndoe@gmail.com"
}
```
```json The Billing Object
"billing":{
       "name":{
         "first":"John",
         "last":"Doe"
         // You can include the full name instead
         // "full" : "John Doe"
       },
       "address":{
         	"street1": "4519 Rue Levy",
      	 		 "street2": "Apt 1",
      	 		 "city": "Saint-Laurent",
      	 		 "region1_code": "QC",
      	 		 "postal_code": "H4R2P9",
     		 		 "country": "CAN"
       }
       "phone_number": "4151234567",
       "email": "johndoe@gmail.com"
     }
```

***

## Phone Number Validation

The `phone_number` field is an optional field nested inside the contact object within the [checkout object](https://docs.affirm.com/developers/v1.0-Global-Integration/reference/the-checkout-object) you submit to Affirm in order to initiate an Affirm-hosted checkout session. To reduce errors and confusion, Affirm does not pre-populate the phone number from the checkout request in our customer-facing checkout application. This way, the customer enters their phone number directly on the Affirm application, and if there are any issues with the number the customer provided us, we will show clear error messaging to them.

If you are concerned that doing phone number validation will cause implementation headaches for you or lengthen your development timeline, we would recommend not sending Affirm this field in your checkout requests.

***

## Validation Process

If you wish to provide the `phone_number` field to Affirm in your checkout requests, before allowing the customer to initiate the checkout request to Affirm, you should ensure that they have provided you with a valid US mobile phone number. Affirm has built in-house technology to validate phone numbers, taking the [phone numbers Python library](https://github.com/daviddrysdale/python-phonenumbers) as one of our starting points. Therefore, we recommend using the built-in functionality of this or another implementation of Google's [libphonenumber library](https://github.com/google/libphonenumber) and providing customers with clear steps to rectify the issue if they submit invalid phone numbers to you.

# Sibling pages

* [The Merchant Object](https://docs.affirm.com/developers/v1.0-Global-Integration/reference/the-merchant-object.md)
* [The Customer Object](https://docs.affirm.com/developers/v1.0-Global-Integration/reference/the-customer-object.md)
* [The Metadata Object](https://docs.affirm.com/developers/v1.0-Global-Integration/reference/the-metadata-object.md)
* [Name Object](https://docs.affirm.com/developers/v1.0-Global-Integration/reference/name-object-1.md)
* [Address Object](https://docs.affirm.com/developers/v1.0-Global-Integration/reference/address-object-1.md)
* [The Discount Object](https://docs.affirm.com/developers/v1.0-Global-Integration/reference/the-discount-object.md)
* [The Item Object](https://docs.affirm.com/developers/v1.0-Global-Integration/reference/the-item-object.md)