# PayPalBillingAgreementExperienceProfileInput

Input · GraphQL API

Controls the experience in a PayPal billing agreement approval flow.

## Fields

- `brandName` (`String`): Merchant brand name to be displayed on the PayPal approval pages.
- `collectShippingAddress` (`Boolean`) — deprecated since 2026-09-10: Indicates whether a shipping address will be collected from the customer during the agreement approval flow. Setting this to `false` suppresses shipping collection even if a merchant-provided shipping address is present.
- `landingPageType` (`PayPalLandingPageType`): Specifies the PayPal page to display when a user lands on the PayPal site to complete the payment.
- `locale` (`Language`): Locale of the PayPal payment approval experience.
- `shippingAddressEditable` (`Boolean`) — deprecated since 2026-09-10: Indicates whether to enable user editing of the shipping address. Only applies when shipping address is provided by merchant.
- `userAction` (`PayPalBillingAgreementUserAction`): Presents the customer with either the Continue or Setup Now flow. Default is Continue flow if the field is not provided.
- `shippingPreference` (`PayPalShippingPreference`): Controls how the buyer's shipping address is handled during checkout.

## Used by

- [CreatePayPalBillingAgreementInput](/braintree/graphql/reference/types/create-pay-pal-billing-agreement-input) — Input; paypalExperienceProfile

## GraphQL definition

```graphql
input PayPalBillingAgreementExperienceProfileInput {
  brandName: String
  collectShippingAddress: Boolean @deprecated(reason: "Please use `shippingPreference` instead.")
  landingPageType: PayPalLandingPageType
  locale: Language
  shippingAddressEditable: Boolean @deprecated(reason: "Please use `shippingPreference` instead.")
  userAction: PayPalBillingAgreementUserAction
  shippingPreference: PayPalShippingPreference
}
```

---

[View the complete GraphQL schema on GitHub](https://raw.githubusercontent.com/braintree/graphql-api/refs/heads/master/schema.graphql)