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

# The billing object

Every [card object](https://docs.affirm.com/developers/reference/the-card-object) includes the `billing` object. It also includes the [`address`](https://docs.affirm.com/developers/v1.0-Global-Integration/reference/address-object) and [`name`](https://docs.affirm.com/developers/v1.0-Global-Integration/reference/name-object) objects.

## Attributes

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

<div class="rdmd-pinned">

```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"
     }
```

</div>

## 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 doesn't prepopulate 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 provide us, we'll show clear error messaging to him/her.

If you're concerned that doing phone number validation will cause implementation headaches for you or lengthen your development timeline, we'd recommend you simply not send 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 he/she has provided you with a valid US mobile phone number. Affirm has built in-house technology to validate phone numbers, taking the [phonenumbers 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/googlei18n/libphonenumber) and providing customers with clear steps to rectify the issue if they submit invalid phone numbers to you.

# Sibling pages

* [The card object](https://docs.affirm.com/developers/v1.0-Global-Integration/reference/the-card-object.md)
* [Name object](https://docs.affirm.com/developers/v1.0-Global-Integration/reference/name-object.md)
* [Address object](https://docs.affirm.com/developers/v1.0-Global-Integration/reference/address-object.md)
* [The response object](https://docs.affirm.com/developers/v1.0-Global-Integration/reference/the-response-object.md)
* [Read Card](https://docs.affirm.com/developers/v1.0-Global-Integration/reference/read_card.md)
* [Cancel Card](https://docs.affirm.com/developers/v1.0-Global-Integration/reference/cancel_card.md)
* [Finalize a card](https://docs.affirm.com/developers/v1.0-Global-Integration/reference/finalize_card.md)