> This page is for Developers.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://zuora.ferndocs.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://zuora.ferndocs.com/_mcp/server.

# Create an order

POST https://rest.test.zuora.com/v1/orders
Content-Type: application/json

**Note:** This operation is only available if you have the [Orders](https://docs.zuora.com/en/zuora-billing/manage-accounts-subscriptions-and-non-subscriptions/manage-subscription-transactions/orders/orders-introduction/overview-of-orders) feature enabled. If you are an existing Zuora Subscribe and Amend customer, we recommend you enable Orders Harmonization to access the Orders feature. With Orders, you can access both existing functions for subscription and billing management and the   new features on Zuora Billing.

**Note:** The [Order Line Items](https://docs.zuora.com/en/zuora-billing/manage-accounts-subscriptions-and-non-subscriptions/manage-non-subscription-transactions/order-line-items) feature is now generally available to all Zuora customers. You need to enable the [Orders](https://docs.zuora.com/en/zuora-billing/manage-accounts-subscriptions-and-non-subscriptions/manage-subscription-transactions/orders/orders-introduction/overview-of-orders) feature to access the [Order Line Items](https://docs.zuora.com/en/zuora-billing/manage-accounts-subscriptions-and-non-subscriptions/manage-non-subscription-transactions/order-line-items) feature. As of Zuora Billing Release 313 (November 2021), new customers who onboard on [Orders](https://docs.zuora.com/en/zuora-billing/manage-accounts-subscriptions-and-non-subscriptions/manage-subscription-transactions/orders/orders-introduction/overview-of-orders) will have the [Order Line Items](https://docs.zuora.com/en/zuora-billing/manage-accounts-subscriptions-and-non-subscriptions/manage-non-subscription-transactions/order-line-items) feature enabled by default.

You can use this operation to create subscriptions and make changes to subscriptions by creating orders. You can also use this operation to create order line items by creating orders. The following tutorials demonstrate how to use this operation:

* [Create a Subscription](https://docs.zuora.com/en/zuora-billing/manage-accounts-subscriptions-and-non-subscriptions/manage-subscription-transactions/subscribe-and-amend/create-subscriptions/creating-a-subscription)
* [Add a Product to a Subscription](https://docs.zuora.com/en/zuora-billing/manage-accounts-subscriptions-and-non-subscriptions/manage-subscription-transactions/orders/order-actions-tutorials/add-products-to-subscriptions)
* [Create a Ramp Deal](https://docs.zuora.com/en/zuora-billing/manage-accounts-subscriptions-and-non-subscriptions/manage-subscription-transactions/orders/ramps-and-ramp-metrics/product-mid-interval-updates-on-ramp-deals-addition)
* [Add a Product Mid-Interval Update on a Ramp Deal](https://docs.zuora.com/en/zuora-billing/manage-accounts-subscriptions-and-non-subscriptions/manage-subscription-transactions/orders/ramps-and-ramp-metrics/product-mid-interval-updates-on-ramp-deals-addition)
* [Add a Product in a Ramp Deal](https://docs.zuora.com/en/zuora-billing/manage-accounts-subscriptions-and-non-subscriptions/manage-subscription-transactions/orders/ramps-and-ramp-metrics/products-addition-in-ramp-deals)
* [Change the Terms and Conditions of a Ramp Deal](https://docs.zuora.com/en/zuora-billing/manage-accounts-subscriptions-and-non-subscriptions/manage-subscription-transactions/orders/ramps-and-ramp-metrics/terms-and-conditions-of-ramp-deals-changes)
* [Change the Owner of a Subscription](https://docs.zuora.com/en/zuora-billing/manage-accounts-subscriptions-and-non-subscriptions/manage-subscription-transactions/orders/order-actions-tutorials/owners-of-subscriptions-changes)
* [Change the Terms and Conditions of a Subscription](https://docs.zuora.com/en/zuora-billing/manage-accounts-subscriptions-and-non-subscriptions/manage-subscription-transactions/subscribe-and-amend/amend-subscriptions/terms-and-conditions-of-subscriptions/change-the-terms-and-conditions-of-a-subscription)
* [Renew a Subscription](https://docs.zuora.com/en/zuora-billing/manage-accounts-subscriptions-and-non-subscriptions/manage-subscription-transactions/subscribe-and-amend/amend-subscriptions/subscriptions-renewal)
* [Renew a Subscription and Upgrade a Product](https://docs.zuora.com/en/zuora-billing/manage-accounts-subscriptions-and-non-subscriptions/manage-subscription-transactions/orders/order-actions-tutorials/subscriptions-and-upgrade-products-renewal)
* [Replace a Product in a Subscription](https://docs.zuora.com/en/zuora-billing/manage-accounts-subscriptions-and-non-subscriptions/manage-subscription-transactions/orders/order-actions-tutorials/replace-products-in-subscriptions)
* [Update a Product in a Subscription](https://docs.zuora.com/en/zuora-billing/manage-accounts-subscriptions-and-non-subscriptions/manage-subscription-transactions/subscribe-and-amend/amend-subscriptions/products-updation-to-an-amendment/update-a-product-in-an-existing-subscription)
* [Cancel a Subscription](https://docs.zuora.com/en/zuora-billing/manage-accounts-subscriptions-and-non-subscriptions/manage-subscription-transactions/orders/order-actions-tutorials/subscriptions-cancelation)
* [Remove a Product from a Subscription](https://docs.zuora.com/en/zuora-billing/manage-accounts-subscriptions-and-non-subscriptions/manage-subscription-transactions/orders/order-actions-tutorials/remove-products-from-subscriptions)
* [Create sales order line items](https://docs.zuora.com/en/zuora-billing/manage-accounts-subscriptions-and-non-subscriptions/manage-non-subscription-transactions/order-line-items/sales-order-line-items-creation)
* [Associate order line items with new subscriptions](https://docs.zuora.com/en/zuora-billing/manage-accounts-subscriptions-and-non-subscriptions/manage-non-subscription-transactions/order-line-items/associate-order-line-items-with-subscriptions)
* [Return order line items](https://docs.zuora.com/en/zuora-billing/manage-accounts-subscriptions-and-non-subscriptions/manage-non-subscription-transactions/order-line-items/order-line-items-return)

You can also use this operation to create orders and save the orders as Scheduled Orders.

In addition, you can use this operation to place a standalone order to subscribe without pre-defining a product catalog in Zuora Billing. For more information, see Create a subscription using a standalone order.

**Note:** If you received a timeout error message when creating an order, the call is still running in the backend and the order will be created.

The limit of orders allowed on a subscription is 1000.

The limit of order line items allowed in an order is 100.

Zuora has the following limits on the Orders synchronous API to prevent performance degradation:

* Up to 50 subscriptions are allowed in a single [Create an order](https://developer.zuora.com/api-references/api/operation/POST_Order) or [Preview an order](https://developer.zuora.com/api-references/api/operation/POST_PreviewOrder) operation call.
* Up to 50 order actions are allowed in a single [Create an order](https://developer.zuora.com/api-references/api/operation/POST_Order) or [Preview an order](https://developer.zuora.com/api-references/api/operation/POST_PreviewOrder) operation call.
* Up to 50 order actions are allowed on a single subscription in a [Create an order](https://developer.zuora.com/api-references/api/operation/POST_Order) or [Preview an order](https://developer.zuora.com/api-references/api/operation/POST_PreviewOrder) operation call.

If you have an Order that exceeds any limits of the above, Zuora recommends you use the following asynchronous API operations:

* [Create an order asynchronously](https://developer.zuora.com/api-references/api/operation/POST_CreateOrderAsynchronously)
* [Preview an order asynchronously](https://developer.zuora.com/api-references/api/operation/POST_PreviewOrderAsynchronously)
* [Retrieve the status and response of a job](https://developer.zuora.com/api-references/api/operation/GET_JobStatusAndResponse) for checking the status of the asynchronous API operations

Zuora has the following limits on the Orders asynchronous API operations to prevent performance degradation:

* Up to 300 subscriptions are allowed in a single [Create an order asynchronously](https://developer.zuora.com/api-references/api/operation/POST_CreateOrderAsynchronously) or [Preview an order asynchronously](https://developer.zuora.com/api-references/api/operation/POST_PreviewOrderAsynchronously) operation call.
* Up to 300 order actions are allowed in a single [Create an order asynchronously](https://developer.zuora.com/api-references/api/operation/POST_CreateOrderAsynchronously) or [Preview an order asynchronously](https://developer.zuora.com/api-references/api/operation/POST_PreviewOrderAsynchronously) operation call.
* Up to 300 order actions are allowed on a single subscription in a [Create an order asynchronously](https://developer.zuora.com/api-references/api/operation/POST_CreateOrderAsynchronously) or [Preview an order asynchronously](https://developer.zuora.com/api-references/api/operation/POST_PreviewOrderAsynchronously) operation call.

**Note:** When you are to suspend a subcription (via the `suspend` order action), if in the same "Create an order" call you are to perform other subsequent order actions on the supscription to suspend, you must first resume the subscription (via a `resume` order action).

**Note:** When using this operation to create an account, create a subscription, run billing, and collect payment in a single call, if any error occurs during the call, such as a payment processing failure and a tax engine failure, then all the other steps will be rolled back. This means that the invoice will not be generated, the subscription will not be created, and the account will not be created.

**Note:** The characters `#`, `?`, and `/` are not allowed in the Orders operations.

Reference: https://zuora.ferndocs.com/developers/api-reference/zuora-api/orders-and-subscriptions/orders/post-order

## Authentication

- `Authorization` header (bearer token, required) — Use `Bearer {{token}}` in the `Authorization` header for authentication.

## Servers

- `https://rest.test.zuora.com` (US Developer & Central Sandbox (incl. Test Drive), default)
- `https://rest.sandbox.na.zuora.com` (US API Sandbox Cloud 1)
- `https://rest.apisandbox.zuora.com` (US API Sandbox Cloud 2)
- `https://rest.na.zuora.com` (US Production Cloud 1)
- `https://rest.zuora.com` (US Production Cloud 2)
- `https://rest.test.eu.zuora.com` (EU Developer & Central Sandbox)
- `https://rest.sandbox.eu.zuora.com` (EU API Sandbox)
- `https://rest.eu.zuora.com` (EU Production)
- `https://rest.test.ap.zuora.com` (APAC Developer & Central Sandbox)
- `https://rest.ap.zuora.com` (APAC Production)

## Request

### Query parameters

- `returnIds` (boolean, optional, default: false) — Specify whether to return IDs associated with the numbers returned in the "Create an order" operation.

### Headers

- `Idempotency-Key` (string, optional) — Specify a unique idempotency key if you want to perform an idempotent POST or PATCH request. Do not use this header in other request types. With this header specified, the Zuora server can identify subsequent retries of the same request using this value, which prevents the same operation from being performed multiple times by accident.
- `Accept-Encoding` (string, optional) — Include the `Accept-Encoding: gzip` header to compress responses as a gzipped file. It can significantly reduce the bandwidth required for a response. If specified, Zuora automatically compresses responses that contain over 1000 bytes of data, and the response contains a `Content-Encoding` header with the compression algorithm so that your client can decompress it.
- `Content-Encoding` (string, optional) — Include the `Content-Encoding: gzip` header to compress a request. With this header specified, you should upload a gzipped file for the request payload instead of sending the JSON payload.
- `Zuora-Track-Id` (string, optional) — A custom identifier for tracing the API call. If you set a value for this header, Zuora returns the same value in the response headers. This header enables you to associate your system process identifiers with Zuora API calls, to assist with troubleshooting in the event of an issue. The value of this field must use the US-ASCII character set and must not include any of the following characters: colon (`:`), semicolon (`;`), double quote (`"`), and quote (`'`).
- `Zuora-Entity-Ids` (string, optional) — An entity ID. If you have [Zuora Multi-entity](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Multi-entity) enabled and the OAuth token is valid for more than one entity, you must use this header to specify which entity to perform the operation in. If the OAuth token is only valid for a single entity, or you do not have Zuora Multi-entity enabled, you should not set this header.
- `Zuora-Org-Ids` (string, optional) — Comma separated IDs. If you have Zuora Multi-Org enabled, you can use this header to specify which orgs to perform the operation in. If you do not have Zuora Multi-Org enabled, you should not set this header. The IDs must be a sub-set of the user's accessible orgs. If you specify an org that the user does not have access to, the operation fails. This header is important in Multi-Org (MO) setups because it defines the organization context under which the API should operate—mainly used for read access or data visibility filtering. If the header is not set, the operation is performed in scope of the user's accessible orgs.
- `Zuora-Version` (string, optional) — The minor API version. For a list of available minor versions, see [API upgrades](https://developer.zuora.com/v1-api-reference/api-upgrades/).

### Body (application/json)

This endpoint expects a POSTOrderRequestType.

- `orderDate` (date, required) — The date when the order is signed. All the order actions under this order will use this order date as the contract effective date if the contract effective date field is skipped or its value is left as null.
- `category` (enum, optional, default: NewSales) — Category of the order to indicate a product sale or return. Default value is `NewSales`.
  - Allowed values: `NewSales`, `Return`
- `customFields` (map from string to any, optional) — Container for custom fields of an Order object.
- `description` (string, optional) — A description of the order.
- `existingAccountId` (string, optional) — The account ID under which this order will be created. This field sets the default invoice owner account and subscription owner account for any new subscriptions in the order. To override these defaults for individual subscriptions, use the `subscriptionOwnerAccountNumber` and `invoiceOwnerAccountNumber` nested fields in the `subscriptions` field. If you want to relax the restriction that the `existingAccountNumber` must be the invoice owner of the subscriptions in this order, submit a request to Zuora Global Support. **Note:** You can specify either the `existingAccountNumber` or `existingAccountId` field, but not both.
- `existingAccountNumber` (string, optional) — The account number under which this order will be created. This field sets the default invoice owner account and subscription owner account for any new subscriptions in the order. To override these defaults for individual subscriptions, use the `subscriptionOwnerAccountNumber` and `invoiceOwnerAccountNumber` nested fields in the `subscriptions` field. If you want to relax the restriction that the `existingAccountNumber` must be the invoice owner of the subscriptions in this order, submit a request to Zuora Global Support.
- `newAccount` (CreateOrderNewAccount, optional) — Container for the data access control field.
- `orderLineItems` (list of CreateOrderOrderLineItem, optional) — [Order Line Items](https://knowledgecenter.zuora.com/Billing/Subscriptions/Orders/Order_Line_Items/AA_Overview_of_Order_Line_Items) are non subscription based items created by an Order, representing transactional charges such as one-time fees, physical goods, or professional service charges that are not sold as subscription services. With the Order Line Items feature enabled, you can now launch non-subscription and unified monetization business models in Zuora, in addition to subscription business models. If you do not have the **Create Order Line Items Without Product Catalog** billing permission, you can only create order line items from existing products by specifying the product rate plan charge ID in the `productRatePlanChargeId` field. For more information about billing permissions, see Billing Roles. **Note:** The [Order Line Items](https://knowledgecenter.zuora.com/Billing/Subscriptions/Orders/Order_Line_Items/AA_Overview_of_Order_Line_Items) feature is now generally available to all Zuora customers. You need to enable the [Orders](https://knowledgecenter.zuora.com/BC_Subscription_Management/Orders/AA_Overview_of_Orders#Orders) feature to access the [Order Line Items](https://knowledgecenter.zuora.com/Billing/Subscriptions/Orders/Order_Line_Items/AA_Overview_of_Order_Line_Items) feature. As of Zuora Billing Release 313 (November 2021), new customers who onboard on [Orders](https://docs.zuora.com/en/zuora-billing/manage-accounts-subscriptions-and-non-subscriptions/manage-subscription-transactions/orders/orders-introduction/overview-of-orders) will have the [Order Line Items](https://knowledgecenter.zuora.com/Billing/Subscriptions/Orders/Order_Line_Items) feature enabled by default.
- `orderNumber` (string, optional) — The order number of the new order. If not provided, system will auto-generate a number for this order. **Note:** The characters `#`, `?`, and `/` are not allowed in this field. Additionally, to ensure compatibility with the UI when viewing orders, use only the following special characters: `_`,`-`, `.`, `~`, `*`, `(`, `)`, and `'`.
- `processingOptions` (processingOptionsOrdersWithDelayedCapturePayment, optional) — The container for billing processing options and payment processing options. **Note:** - This field is not supported in draft orders. - When you use the "Create an order" operation to create an account, create a subscription, run billing, and collect payment in a single call, if any error occurs during the call, such as a payment processing failure and a tax engine failure, then all the other steps will be rolled back. In this case, neither the invoice will be generated, nor the subscription nor the account will be created. - When you use the "Create an order" operation to cancel a subscription with `refund` and `writeOff`, if the `refund` or `writeOff` fails, `cancelSubscription`, `runBilling`, and `collectPayment` still can succeed. - When you use the "Create an order" operation, the `collectPayment` and `refund` fields cannot be set to `true` simultaneously. Otherwise, the order will not be proceeded.
- `reasonCode` (string, optional) — Values of reason code configured in **Billing Settings** > **Configure Reason Codes** through Zuora UI. Indicates the reason when a return order line item occurs.
- `schedulingOptions` (PostOrderRequestTypeSchedulingOptions, optional) — Information of scheduled order.
- `status` (enum, optional) — The status of the order. The default value is `Completed`. The following values are supported: - `Draft`: The order is in draft status. - `Pending`: The order is in pending status. - `Completed`: The order is in completed status. - `Scheduled`: The order is in scheduled status and it is only valid if the Scheduled Orders feature is enabled. - `Executing`: The scheduled order is executed by a scheduler and it is only valid if the Scheduled Orders feature is enabled. - `Failed`: The scheduled order has failed. **Note:** If you have the Pending Subscription Processing feature turned on and want to create a completed order with an active subscription with pending charges, you must specify `Completed` in this field because the default order status is `Pending` for this scenario.
  - Allowed values: `Draft`, `Pending`, `Completed`, `Scheduled`, `Executing`, `Failed`
- `subscriptions` (list of PostOrderRequestTypeSubscriptionsItems, optional) — Each item includes a set of order actions, which will be applied to the same base subscription. When you create an order that involves multiple subscriptions, these subscriptions can have different invoice owner accounts or subscription owner accounts.

## Response

### 200

OK

- `processId` (string, optional) — The ID of the process that handles the operation.
- `reasons` (list of PostOrderResponseTypeReasonsItems, optional) — The container of the error code and message. This field is available only if the `success` field is `false`.
- `requestId` (string, optional) — Unique identifier of the request.
- `success` (boolean, optional) — Indicates whether the call succeeded.
- `accountId` (string, optional) — The account ID for the order. This field is returned instead of the `accountNumber` field if the `returnIds` query parameter is set to `true`.
- `accountNumber` (string, optional) — The account number for the order.
- `commitments` (list of CommitmentOutput, optional) — The commitments created by this order request.
- `creditMemoIds` (list of string, optional) — An array of the credit memo IDs generated in this order request. The credit memo is only available if you have the Invoice Settlement feature enabled. This field is returned instead of the `creditMemoNumbers` field if the `returnIds` query parameter is set to `true`.
- `creditMemoNumbers` (list of string, optional) — An array of the credit memo numbers generated in this order request. The credit memo is only available if you have the Invoice Settlement feature enabled.
- `invoiceIds` (list of string, optional) — An array of the invoice IDs generated in this order request. Normally it includes one invoice ID only, but can include multiple items when a subscription was tagged as invoice separately. This field is returned instead of the `invoiceNumbers` field if the `returnIds` query parameter is set to `true`.
- `invoiceNumbers` (list of string, optional) — An array of the invoice numbers generated in this order request. Normally it includes one invoice number only, but can include multiple items when a subscription was tagged as invoice separately.
- `orderId` (string, optional) — The ID of the order created. This field is returned instead of the `orderNumber` field if the `returnIds` query parameter is set to `true`.
- `orderLineItems` (list of PostOrderResponseTypeOrderLineItemsItems, optional) — [Order Line Items](https://knowledgecenter.zuora.com/Billing/Subscriptions/Orders/Order_Line_Items/AA_Overview_of_Order_Line_Items) are non subscription based items created by an Order, representing transactional charges such as one-time fees, physical goods, or professional service charges that are not sold as subscription services. With the Order Line Items feature enabled, you can now launch non-subscription and unified monetization business models in Zuora, in addition to subscription business models. **Note:** The [Order Line Items](https://knowledgecenter.zuora.com/Billing/Subscriptions/Orders/Order_Line_Items/AA_Overview_of_Order_Line_Items) feature is now generally available to all Zuora customers. You need to enable the [Orders](https://knowledgecenter.zuora.com/BC_Subscription_Management/Orders/AA_Overview_of_Orders#Orders) feature to access the [Order Line Items](https://knowledgecenter.zuora.com/Billing/Subscriptions/Orders/Order_Line_Items/AA_Overview_of_Order_Line_Items) feature. As of Zuora Billing Release 313 (November 2021), new customers who onboard on [Orders](https://docs.zuora.com/en/zuora-billing/manage-accounts-subscriptions-and-non-subscriptions/manage-subscription-transactions/orders/orders-introduction/overview-of-orders) will have the [Order Line Items](https://knowledgecenter.zuora.com/Billing/Subscriptions/Orders/Order_Line_Items) feature enabled by default.
- `orderNumber` (string, optional) — The order number of the order created.
- `paidAmount` (string, optional) — The total amount collected in this order request.
- `paymentId` (string, optional) — The payment Id that is collected in this order request. This field is returned instead of the `paymentNumber` field if the `returnIds` query parameter is set to `true`.
- `paymentNumber` (string, optional) — The payment number that is collected in this order request.
- `ramps` (list of PostOrderResponseTypeRampsItems, optional) — **Note**: This field is only available if you have the Ramps feature enabled. The [Orders](https://docs.zuora.com/en/zuora-billing/manage-accounts-subscriptions-and-non-subscriptions/manage-subscription-transactions/orders/orders-introduction/overview-of-orders) feature must be enabled before you can access the [Ramps](https://knowledgecenter.zuora.com/Billing/Subscriptions/Orders/Ramps_and_Ramp_Metrics/A_Overview_of_Ramps_and_Ramp_Metrics) feature. The Ramps feature is available for customers with Enterprise and Nine editions by default. If you are a Growth customer, see [Zuora Editions](https://docs.zuora.com/en/entitlements/current-entitlements/zuora-editions) for pricing information coming October 2020. The ramp definitions created by this order request.
- `refunds` (list of PostOrderResponseTypeRefundsItems, optional) — Container for refunds.
- `status` (enum, optional) — Status of the order. `Pending` is only applicable for an order that contains a `CreateSubscription` order action.
  - Allowed values: `Draft`, `Pending`, `Completed`, `Scheduled`
- `subscriptionIds` (list of string, optional) — Container for the subscription IDs of the subscriptions in an order. This field is returned if the `returnIds` query parameter is set to `true`.
- `writeOff` (list of PostOrderResponseTypeWriteOffItems, optional) — Container for write-offs.

## Errors

### 500 Internal Server Error

Internal Server Error

- `reasons` (list of ErrorResponseReasonsItems, optional)

### 400 Client Request Error

Request Errors

- `processId` (string, optional) — The ID of the process that handles the operation.
- `reasons` (list of CommonResponseReasonsItems, optional) — The container of the error code and message. This field is available only if the `success` field is `false`.
- `requestId` (string, optional) — Unique identifier of the request.
- `success` (boolean, optional) — Indicates whether the call succeeded.

## Types

### CreateOrderNewAccount

Container for the data access control field.

- `billCycleDay` (integer, required) — Day of the month that the account prefers billing periods to begin on. If set to 0, the bill cycle day will be set as "AutoSet".
- `billToContact` (BillToContactPostOrder, required) — Container for custom fields of a Contact object.
- `currency` (string, required) — 3 uppercase character currency code. For payment method authorization, if the `paymentMethod` > `currencyCode` field is specified, `currencyCode` is used. Otherwise, this `currency` field is used for payment method authorization. If no currency is specified for the account, the default currency of the account is then used.
- `name` (string, required)
- `accountNumber` (string, optional)
- `additionalEmailAddresses` (string, optional) — List of additional email addresses to receive emailed invoices. Values should be a comma-separated list of email addresses.
- `allowInvoiceEdit` (boolean, optional) — Indicates if associated invoices can be edited. Values are: * `true` * `false` (default)
- `autoPay` (boolean, optional) — Specifies whether future payments are to be automatically billed when they are due. Possible values are `true`, `false`.
- `batch` (string, optional) — **Note**: By default, you have 50 configurable account batches. To increase the limit to 200 batches, you must have the Performance Booster Elite package.
- `communicationProfileId` (string, optional)
- `creditCard` (creditCard, optional) — Default payment method associated with an account. Only credit card payment methods are supported.
- `creditMemoTemplateId` (string, optional) — **Note:** This field is only available if you have [Invoice Settlement](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/Invoice_Settlement) enabled. The Invoice Settlement feature is generally available as of Zuora Billing Release 296 (March 2021). This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice Item Settlement. If you want to enable Invoice Settlement, see [Invoice Settlement Enablement and Checklist Guide](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/Invoice_Settlement/Invoice_Settlement_Migration_Checklist_and_Guide) for more information. The unique ID of the credit memo template, configured in **Billing Settings** > **Manage Billing Document Configuration** through the Zuora UI. For example, 2c92c08a6246fdf101626b1b3fe0144b.
- `crmId` (string, optional)
- `customFields` (AccountObjectCustomFields, optional) — Container for custom fields of an Account object.
- `customerServiceRepName` (string, optional) — Name of the account's customer service representative, if applicable.
- `debitMemoTemplateId` (string, optional) — **Note:** This field is only available if you have [Invoice Settlement](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/Invoice_Settlement) enabled. The Invoice Settlement feature is generally available as of Zuora Billing Release 296 (March 2021). This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice Item Settlement. If you want to enable Invoice Settlement, see [Invoice Settlement Enablement and Checklist Guide](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/Invoice_Settlement/Invoice_Settlement_Migration_Checklist_and_Guide) for more information. The unique ID of the debit memo template, configured in **Billing Settings** > **Manage Billing Document Configuration** through the Zuora UI. For example, 2c92c08d62470a8501626b19d24f19e2.
- `hpmCreditCardPaymentMethodId` (string, optional) — The ID of the payment method associated with this account. The payment method specified for this field will be set as the default payment method of the account. If the `autoPay` field is set to `true`, you must provide the credit card payment method ID for either this field or the `creditCard` field, but not both. For the Credit Card Reference Transaction payment method, you can specify the payment method ID in this field or use the `paymentMethod` field to create a CC Reference Transaction payment method for an account.
- `invoiceDeliveryPrefsEmail` (boolean, optional) — Specifies whether to turn on the invoice delivery method 'Email' for the new account. Values are: * `true` (default). Turn on the invoice delivery method 'Email' for the new account. * `false`. Turn off the invoice delivery method 'Email' for the new account.
- `invoiceDeliveryPrefsPrint` (boolean, optional) — Specifies whether to turn on the invoice delivery method 'Print' for the new account. Values are: * `true`. Turn on the invoice delivery method 'Print' for the new account. * `false` (default). Turn off the invoice delivery method 'Print' for the new account.
- `invoiceTemplateId` (string, optional)
- `notes` (string, optional)
- `organizationLabel` (string, optional) — Name of the organization that the account belongs to. This field is only required when you have already turned on Multi-Org feature.
- `parentId` (string, optional) — Identifier of the parent customer account for this Account object. Use this field if you have Customer Hierarchy enabled.
- `partnerAccount` (boolean, optional, default: false) — Whether the customer account is a partner, distributor, or reseller. You can set this field to `true` if you have business with distributors or resellers, or operating in B2B model to manage numerous subscriptions through concurrent API requests. After this field is set to `true`, the calculation of account metrics is performed asynchronously during operations such as subscription creation, order changes, invoice generation, and payments. **Note**: This field is available only if you have the Reseller Account feature enabled.
- `paymentGateway` (string, optional)
- `paymentMethod` (POSTPaymentMethodRequest, optional) — Payment method information associated with an account.
- `paymentTerm` (string, optional) — **Note**: If you want to specify a payment term when creating a new account, you must set a value in this field. If you do not set a value in this field, Zuora will use the default value set in **Billing Settings** > **Payment Terms** from Zuora UI.
- `purchaseOrderNumber` (string, optional) — The number of the purchase order associated with this account. Purchase order information generally comes from customers.
- `salesRep` (string, optional) — The name of the sales representative associated with this account, if applicable.
- `sequenceSetId` (string, optional, nullable) — The ID of the sequence set to assign to the customer account. The billing documents to generate for this account will adopt the prefix and starting document number configured in the sequence set.
- `shipToContact` (ShipToContactPostOrder, optional) — Container for custom fields of a Contact object.
- `shipToSameAsBillTo` (boolean, optional) — Whether the ship-to contact and bill-to contact are the same entity. The created account has the same bill-to contact and ship-to contact entity only when all the following conditions are met in the request body: - This field is set to `true`. - A bill-to contact is specified. - No ship-to contact is specified.
- `soldToContact` (SoldToContactPostOrder, optional) — Container for custom fields of a Contact object.
- `soldToSameAsBillTo` (boolean, optional) — Whether the sold-to contact and bill-to contact are the same entity. The created account has the same bill-to contact and sold-to contact entity only when all the following conditions are met in the request body: - This field is set to `true`. - A bill-to contact is specified. - No sold-to contact is specified.
- `taxInfo` (TaxInfo, optional) — Information about the tax exempt status of a customer account.

### CreateOrderOrderLineItem

- `UOM` (string, optional) — Specifies the units to measure usage.
- `accountingCode` (string, optional) — The accounting code for the Order Line Item.
- `adjustmentLiabilityAccountingCode` (string, optional) — The accounting code on the Order Line Item object for customers using [Zuora Billing - Revenue Integration](https://knowledgecenter.zuora.com/Zuora_Revenue/Zuora_Billing_-_Revenue_Integration).
- `adjustmentRevenueAccountingCode` (string, optional) — The accounting code on the Order Line Item object for customers using [Zuora Billing - Revenue Integration](https://knowledgecenter.zuora.com/Zuora_Revenue/Zuora_Billing_-_Revenue_Integration).
- `amountPerUnit` (double, optional) — The actual charged amount per unit for the Order Line Item. If you set the `inlineDiscountType`, `inlineDiscountPerUnit`, and `listPricePerUnit` fields, the system will automatically generate the `amountPerUnit` field. You shall not set the `amountPerUnit` field by yourself.
- `billTargetDate` (date, optional) — The target date for the Order Line Item to be picked up by bill run for billing.
- `billTo` (string, optional) — The ID of the bill-to contact of an order line item. Specify an existing contact under the billing account as the bill-to contact of the order line item. The billing account is the order account. **Note**: If an order's category is set to **Return** in a return Order Line Item, it will inherit the original Order Line Item's `billTo` contact automatically. You cannot specify a different value.
- `billingRule` (enum, optional, default: TriggerWithoutFulfillment) — The billing rule for the Order Line Item.
  - Allowed values: `TriggerWithoutFulfillment`, `TriggerAsFulfillmentOccurs`
- `contractAssetAccountingCode` (string, optional) — The accounting code on the Order Line Item object for customers using [Zuora Billing - Revenue Integration](https://knowledgecenter.zuora.com/Zuora_Revenue/Zuora_Billing_-_Revenue_Integration).
- `contractLiabilityAccountingCode` (string, optional) — The accounting code on the Order Line Item object for customers using [Zuora Billing - Revenue Integration](https://knowledgecenter.zuora.com/Zuora_Revenue/Zuora_Billing_-_Revenue_Integration).
- `contractRecognizedRevenueAccountingCode` (string, optional) — The accounting code on the Order Line Item object for customers using [Zuora Billing - Revenue Integration](https://knowledgecenter.zuora.com/Zuora_Revenue/Zuora_Billing_-_Revenue_Integration).
- `currency` (string, optional) — The currency for the order line item. You can specify a currency when creating an order line item through the "Create an order" operation.
- `customFields` (map from string to any, optional) — Container for custom fields of an Order Line Item object.
- `deferredRevenueAccountingCode` (string, optional) — The deferred revenue accounting code for the Order Line Item.
- `description` (string, optional) — The description of the Order Line Item.
- `excludeItemBillingFromRevenueAccounting` (boolean, optional, default: false) — The flag to exclude Order Line Item related invoice items, invoice item adjustments, credit memo items, and debit memo items from revenue accounting. **Note**: This field is only available if you have the Order to Revenue or [Zuora Billing - Revenue Integration](https://knowledgecenter.zuora.com/Zuora_Revenue/Zuora_Billing_-_Revenue_Integration) feature enabled.
- `excludeItemBookingFromRevenueAccounting` (boolean, optional, default: false) — The flag to exclude Order Line Item from revenue accounting. **Note**: This field is only available if you have the Order to Revenue or [Zuora Billing - Revenue Integration](https://knowledgecenter.zuora.com/Zuora_Revenue/Zuora_Billing_-_Revenue_Integration) feature enabled.
- `inlineDiscountPerUnit` (double, optional) — Use this field in accordance with the `inlineDiscountType` field, in the following manner: * If the `inlineDiscountType` field is set as `Percentage`, this field specifies the discount percentage for each unit of the order line item. For exmaple, if you specify `5` in this field, the discount percentage is 5%. * If the `inlineDiscountType` field is set as `FixedAmount`, this field specifies the discount amount on each unit of the order line item. For exmaple, if you specify `10` in this field, the discount amount on each unit of the order line item is 10. Once you set the `inlineDiscountType`, `inlineDiscountPerUnit`, and `listPricePerUnit` fields, the system will automatically generate the `amountPerUnit` field. You shall not set the `amountPerUnit` field by yourself.
- `inlineDiscountType` (enum, optional) — Use this field to specify the inline discount type, which can be `Percentage`, `FixedAmount`, or `None`. The default value is `Percentage`. Use this field together with the `inlineDiscountPerUnit` field to specify inline discounts for order line items. The inline discount is applied to the list price of an order line item. Once you set the `inlineDiscountType`, `inlineDiscountPerUnit`, and `listPricePerUnit` fields, the system will automatically generate the `amountPerUnit` field. You shall not set the `amountPerUnit` field by yourself.
  - Allowed values: `Percentage`, `FixedAmount`, `None`
- `isAllocationEligible` (boolean, optional) — This field is used to identify if the charge segment is allocation eligible in revenue recognition. **Note**: The field is only available if you have the Order to Revenue feature enabled. To enable this field, submit a request at Zuora Global Support.
- `isUnbilled` (boolean, optional) — This field is used to dictate how to perform the accounting during revenue recognition. **Note**: The field is only available if you have the Order to Revenue feature enabled. To enable this field, submit a request at Zuora Global Support.
- `itemCategory` (enum, optional, default: Sales) — The category for the Order Line Item, to indicate a product sale or return.
  - Allowed values: `Sales`, `Return`
- `itemName` (string, optional) — The name of the Order Line Item.
- `itemNumber` (string, optional) — The number of the Order Line Item. Use this field to specify a custom item number for your Order Line Item. If you are to use this field, you must set all the item numbers in an order when there are several order line items in the order.
- `itemState` (enum, optional) — The state of an Order Line Item. If you want to generate billing documents for order line items, you must set this field to `SentToBilling`. For invoice preview, you do not need to set this field. See [State transitions for an order, order line item, and fulfillment](https://knowledgecenter.zuora.com/Billing/Subscriptions/Orders/Order_Line_Items/AB_Order_Line_Item_States_and_Order_States) for more information.
  - Allowed values: `Executing`, `Booked`, `SentToBilling`, `Complete`, `Cancelled`
- `itemType` (enum, optional) — The type of the Order Line Item.
  - Allowed values: `Product`, `Fee`, `Services`
- `listPricePerUnit` (double, optional) — The list price per unit for the Order Line Item.
- `originalOrderLineItemNumber` (string, optional) — The number of the original sale order line item for a return order line item.
- `originalOrderNumber` (string, optional) — The number of the original sale order for a return order line item.
- `ownerAccountNumber` (string, optional) — Use this field to assign an existing account as the owner of an order line item.
- `productCode` (string, optional) — The product code for the Order Line Item.
- `productRatePlanChargeId` (string, optional) — ID of a product rate plan charge. Only one-time charges are supported. If you do not have the **Create Order Line Items Without Product Catalog** billing permission, you must specify this field to create the order line item from an existing product rate plan charge.
- `purchaseOrderNumber` (string, optional) — Used by customers to specify the Purchase Order Number provided by the buyer.
- `quantity` (double, optional) — The quantity of units, such as the number of authors in a hosted wiki service.
- `recognizedRevenueAccountingCode` (string, optional) — The recognized revenue accounting code for the Order Line Item.
- `relatedSubscriptionNumber` (string, optional) — Use this field to relate an order line item to a subscription when you create the order line item. * To relate an order line item to a new subscription which is yet to create in the same "Create an order" call, use this field in combination with the `subscriptions` > `subscriptionNumber` field in the "Create an order" operation. Specify this field to the same value as that of the `subscriptions` > `subscriptionNumber` field when you make the "Create an order" call. * To relate an order line item to an existing subscription, specify this field to the subscription number of the existing subscription.
- `revenueRecognitionRule` (string, optional) — The Revenue Recognition rule for the Order Line Item.
- `revenueRecognitionTiming` (enum, optional) — Specifies the type of revenue recognition timing. Predefined options are listed as enum values in this API Reference. Other options might also be avaliable depending on the revenue recognition policy configuration in the Zuora Billing UI. **Note**: This field is only available if you have the Order to Revenue feature enabled.
  - Allowed values: `Upon Billing Document Posting Date`, `Upon Order Activation Date`
- `revenueAmortizationMethod` (enum, optional) — Specifies the type of revenue amortization method. Predefined options are listed as enum values in this API Reference. Other options might also be avaliable depending on the revenue recognition policy configuration in the Zuora Billing UI. **Note**: This field is only available if you have the Order to Revenue feature enabled.
  - Allowed values: `Immediate`, `Ratable Using Start And End Dates`
- `invoiceGroupNumber` (string, optional, nullable) — The number of the invoice group associated with the order line item. After enabling the Invoice Grouping feature, you can specify invoice group numbers to bill subscriptions and order line items based on specific criteria. For the same account, Zuora generates separate invoices for subscriptions and order line items, each identified by unique invoice group numbers. For more information, see [Invoice Grouping](https://knowledgecenter.zuora.com/Billing/Subscriptions/Invoice_Grouping). **Note**: * If you have the Flexible Billing Attributes feature disabled, this field is unavailable in the request body and the value of this field is `null` in the response body. * If you have the Flexible Billing Attributes feature enabled, and you do not specify this field in the request during subscription creation, the value of this field is automatically set to `null` in the response body. * You can specify this field on a sales order line item when its state (that is, the `itemState` field) is `Executing`, `Booked`, or `SentToBilling`.
- `sequenceSetId` (string, optional) — The ID of the sequence set associated with the order line item. **Note**: * This field is only available in the request body if you have the Flexible Billing Attributes feature enabled. Otherwise, the response value for this field is `null`. * If you don't specify this field in the request during the creation, OLI uses the value from the account automatically. * You can specify this field on a sales order line item when its state (that is, the `itemState` field) is `Executing`, `Booked`, or `SentToBilling`.
- `paymentTerm` (string, optional) — The payment term name associated with the order line item. **Note**: * If you have the Flexible Billing Attributes feature disabled, this field is unavailable in the request body and the value of this field is `null` in the response body. * If you don't specify this field in the request during the creation, OLI uses the value from the account automatically. * You can specify this field on a sales order line item when its state (that is, the `itemState` field) is `Executing`, `Booked`, or `SentToBilling`.
- `invoiceTemplateId` (string, optional) — The ID of the invoice template associated with the order line item. **Note**: * If you have the Flexible Billing Attributes feature disabled, this field is unavailable in the request body and the value of this field is `null` in the response body. * If you don't specify this field in the request during the creation, OLI uses the value from the account automatically. * You can specify this field on a sales order line item when its state (that is, the `itemState` field) is `Executing`, `Booked`, or `SentToBilling`.
- `shipTo` (string, optional) — Use this field to assign an existing account as the ship-to contact of an order line item, by the following rules: * If the `ownerAccountNumber` field is set, then this field must be the ID of a contact that belongs to the owner account of the order line item. * If the `ownerAccountNumber` field is not set, then this field must be the ID of a contact that belongs to the billing account of the order line item. The billing account is the order account. **Note**: If an order's category is set to **Return** in a return Order Line Item, it will inherit the original Order Line Item's `shipTo` contact automatically. You cannot specify a different value.
- `soldTo` (any, optional) — Use this field to assign an existing account as the sold-to contact of an order line item, by the following rules: * If the `ownerAccountNumber` field is set, then this field must be the ID of a contact that belongs to the owner account of the order line item. * If the `ownerAccountNumber` field is not set, then this field must be the ID of a contact that belongs to the billing account of the order line item. The billing account is the order account. **Note**: If an order's category is set to **Return** in a return Order Line Item, it will inherit the original Order Line Item's `soldTo` contact automatically. You cannot specify a different value.
- `taxCode` (string, optional) — The tax code for the Order Line Item.
- `taxMode` (enum, optional) — The tax mode for the Order Line Item.
  - Allowed values: `TaxInclusive`, `TaxExclusive`
- `transactionEndDate` (date, optional) — The date a transaction is completed. The default value of this field is the transaction start date. Also, the value of this field should always equal or be later than the value of the `transactionStartDate` field.
- `transactionStartDate` (date, optional) — The date a transaction starts. The default value of this field is the order date.
- `unbilledReceivablesAccountingCode` (string, optional) — The accounting code on the Order Line Item object for customers using [Zuora Billing - Revenue Integration](https://knowledgecenter.zuora.com/Zuora_Revenue/Zuora_Billing_-_Revenue_Integration).

### processingOptionsOrdersWithDelayedCapturePayment

The container for billing processing options and payment processing options. **Note:** - This field is not supported in draft orders. - When you use the "Create an order" operation to create an account, create a subscription, run billing, and collect payment in a single call, if any error occurs during the call, such as a payment processing failure and a tax engine failure, then all the other steps will be rolled back. In this case, neither the invoice will be generated, nor the subscription nor the account will be created. - When you use the "Create an order" operation to cancel a subscription with `refund` and `writeOff`, if the `refund` or `writeOff` fails, `cancelSubscription`, `runBilling`, and `collectPayment` still can succeed. - When you use the "Create an order" operation, the `collectPayment` and `refund` fields cannot be set to `true` simultaneously. Otherwise, the order will not be proceeded.

- `applicationOrder` (list of string, optional) — The priority order to apply credit memos and/or unapplied payments to an invoice. Possible item values are: `CreditMemo`, `UnappliedPayment`. **Note:** - This field is valid only if the `applyCredit` field is set to `true`. - If no value is specified for this field, the default priority order is used, ["CreditMemo", "UnappliedPayment"], to apply credit memos first and then apply unapplied payments. - If only one item is specified, only the items of the spedified type are applied to invoices. For example, if the value is `["CreditMemo"]`, only credit memos are used to apply to invoices.
- `applyCredit` (boolean, optional) — Whether to automatically apply credit memos or unapplied payments, or both to an invoice. If the value is true, the credit memo or unapplied payment on the order account will be automatically applied to the invoices generated by this order. The credit memo generated by this order will not be automatically applied to any invoices. **Note:** This field is only available if you have [Invoice Settlement](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/Invoice_Settlement) enabled. The Invoice Settlement feature is generally available as of Zuora Billing Release 296 (March 2021). This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice Item Settlement. If you want to enable Invoice Settlement, see [Invoice Settlement Enablement and Checklist Guide](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/Invoice_Settlement/Invoice_Settlement_Migration_Checklist_and_Guide) for more information.
- `applyCreditBalance` (boolean, optional) — Indicates if any credit balance on a customer's account is automatically applied to invoices. If no value is specified then this field defaults to false. This feature is not available if you have enabled the Invoice Settlement feature.
- `billingOptions` (ProcessingOptionsOrdersWithDelayedCapturePaymentBillingOptions, optional)
- `collectPayment` (boolean, optional) — Indicates if the current request needs to collect payments. This value can not be 'true' when 'runBilling' flag is 'false'.
- `electronicPaymentOptions` (ProcessingOptionsOrdersWithDelayedCapturePaymentElectronicPaymentOptions, optional) — Container for the electronic payment options.
- `refund` (boolean, optional) — Indicates whether to refund after subscription cancelation. Default is `false`. **Note**: When refunding a subscription that is not invoiced separately, if you do not enable the Invoice Item Settlement feature, you will encounter the following error during the cancel and refund process: “Cancellation/Refund failed because of the following reason: Invoice is linked to multiple subscriptions. Cancellation was not processed.”
- `refundAmount` (double, optional) — Indicates the amount to be refunded. Required if the `refund` field is `true`.
- `refundReasonCode` (string, optional) — A code identifying the reason for the refund transaction. The value must be an existing payment refund reason code listed in **Payments Settings** > **Configure Reason Codes**. If you do not specify the field or leave the field with an empty value, Zuora uses the default payment refund reason code.
- `runBilling` (boolean, optional) — Indicates if the current request needs to generate an invoice. The invoice will be generated against all subscriptions included in this order.
- `writeOff` (boolean, optional) — Indicates whether to write off the outstanding balance on the invoice after refund. Default is `false`. **Note**: * When refunding a subscription that is not invoiced separately, if you do not enable the Invoice Item Settlement feature, you will encounter the following error during the cancel and refund process: “Cancellation/Refund failed because of the following reason: Invoice is linked to multiple subscriptions. Cancellation was not processed.” * The Invoice Settlement feature must have been enabled for write-off. * When this field is set to `true`, the generated credit memos have a reason code of `Write-off` and it cannot be overridden.
- `writeOffBehavior` (ProcessingOptionsOrdersWithDelayedCapturePaymentWriteOffBehavior, optional) — The financial information of the credit memo items generated to write off the invoice balance. **Note:** - All the credit memo items that are used to write off the invoice will be applied with the same financial information. - Credit memo items generated from the unconsumed services of the canceled subscription will not be applied with the finance information specified here.

### PostOrderRequestTypeSchedulingOptions

Information of scheduled order.

- `scheduledDate` (date, optional) — The date for the order scheduled.
- `scheduledDatePolicy` (enum, optional) — Date policy of the scheduled order.
  - Allowed values: `SpecificDate`

### PostOrderRequestTypeSubscriptionsItems

- `customFields` (SubscriptionObjectCustomFields, optional) — Container for custom fields of a Subscription object.
- `notes` (string, optional) — Notes about the subscription. These notes are only visible to Zuora users. Notes set in this field will override the value of the `notes` field within the createSubscription order action.
- `orderActions` (list of CreateOrderOrderAction, optional) — The actions to be applied to the subscription. Order actions will be stored with the sequence when it was provided in the request.
- `quote` (QuoteObjectFields, optional) — The fields populated for a quote when a quote is sent to Zuora Billing from Zuora Quote.
- `ramp` (RampRequest, optional) — Container of the ramp definitions. It is used to create, update, or remove the ramp definition for the new subscription.
- `subscriptionNumber` (string, optional) — Leave this empty to represent new subscription creation. Specify a subscription number to update an existing subscription.

### PostOrderResponseTypeReasonsItems

- `code` (string, optional) — The error code of response.
- `message` (string, optional) — The detail information of the error response

### CommitmentOutput

The Commitment object in the "Create an order" or "Update an order" response.

- `id` (string, optional) — ID of the commitment
- `commitmentNumber` (string, optional) — Number of the commitment.
- `prepaymentType` (enum, optional) — The prepayment type of the commitment.
  - Allowed values: `NotPrepaid`, `FullyPrepaid`
- `type` (enum, optional) — The type of the commitment.
  - Allowed values: `MinCommitment`, `MaxCommitment`
- `startDate` (date, optional) — The start date of the commitment.
- `endDate` (date, optional) — The end date of the commitment.
- `status` (enum, optional) — The status of the commitment.
  - Allowed values: `Cancel1ed`, `Active`, `Evaluated`, `CancelledPendingEvaluation`
- `totalAmount` (double, optional) — The total amount of the commitment.
- `schedules` (list of CommitmentOutputSchedulesItems, optional) — A list of Commitment schedule objects.

### PostOrderResponseTypeOrderLineItemsItems

- `id` (string, optional) — The sytem generated Id for the Order Line Item.
- `itemNumber` (string, optional) — The number for the Order Line Item.

### PostOrderResponseTypeRampsItems

- `rampNumber` (string, optional) — The number of the ramp definition.
- `subscriptionNumber` (string, optional) — The number of the subscription that this ramp deal definition is applied to.

### PostOrderResponseTypeRefundsItems

- `number` (string, optional) — The refund number.
- `refundInvoiceNumbers` (list of string, optional) — An array of the refunded invoice numbers generated in this order request.
- `status` (enum, optional) — The status of the refund.
  - Allowed values: `Success`, `Error`

### PostOrderResponseTypeWriteOffItems

- `amount` (double, optional) — The amount written off from the invoice balance.
- `failedReason` (string, optional) — The reason of write-off failure.
- `invoiceNumber` (string, optional) — The number of the invoice that is written off.
- `status` (enum, optional) — The status of the write-off.
  - Allowed values: `Success`, `Failed`
- `writeOffCreditMemoNumber` (string, optional) — The number of the credit memo that is written off.

### ErrorResponseReasonsItems

- `code` (string, optional) — The error code of response.
- `message` (string, optional) — The detail information of the error response

### CommonResponseReasonsItems

- `code` (string, optional) — The error code of response.
- `message` (string, optional) — The detail information of the error response

### BillToContactPostOrder

Container for custom fields of a Contact object.

- `firstName` (string, required) — First name of the contact.
- `lastName` (string, required) — Last name of the contact.
- `address1` (string, optional) — First line of the contact's address. This is often a street address or a business name.
- `address2` (string, optional) — Second line of the contact's address.
- `city` (string, optional) — City of the contact's address.
- `contactDescription` (string, optional) — A description for the contact.
- `country` (string, optional) — Country; must be a valid country name or abbreviation. If using Zuora Tax, you must specify a country in the bill-to contact to calculate tax.
- `county` (string, optional) — County of the contact's address.
- `fax` (string, optional) — Fax number of the contact.
- `homePhone` (string, optional) — Home phone number of the contact.
- `mobilePhone` (string, optional) — Mobile phone number of the contact.
- `nickname` (string, optional) — Nickname of the contact.
- `otherPhone` (string, optional) — Additional phone number of the contact. Use the `otherPhoneType` field to specify the type of phone number.
- `otherPhoneType` (enum, optional) — Specifies the type of phone number in the `otherPhone` field.
  - Allowed values: `Work`, `Mobile`, `Home`, `Other`
- `personalEmail` (string, optional) — Personal email address of the contact.
- `postalCode` (string, optional) — ZIP code or other postal code of the contact's address.
- `state` (string, optional) — State or province of the contact's address.
- `taxRegion` (string, optional, nullable) — Region defined in your taxation rules. Only applicable if you use Zuora Tax.
- `workEmail` (string, optional) — Business email address of the contact.
- `workPhone` (string, optional) — Business phone number of the contact.

### creditCard

Default payment method associated with an account. Only credit card payment methods are supported.

- `cardHolderInfo` (AccountCreditCardHolder, optional) — Information about the cardholder of a credit card payment method associated with an account. If you do not provide information about the cardholder, Zuora uses the account's bill-to contact.
- `cardNumber` (string, optional) — Card number. Once set, you cannot update or query the value of this field. The value of this field is only available in masked format. For example, XXXX-XXXX-XXXX-1234 (hyphens must not be used when you set the credit card number).
- `cardType` (enum, optional) — Type of card.
  - Allowed values: `Visa`, `MasterCard`, `AmericanExpress`, `Discover`, `JCB`, `Diners`, `CUP`, `Maestro`, `Electron`, `AppleVisa`, `AppleMasterCard`, `AppleAmericanExpress`, `AppleDiscover`, `AppleJCB`, `Elo`, `Hipercard`, `Naranja`, `Nativa`, `TarjetaShopping`, `Cencosud`, `Argencard`, `Cabal`
- `expirationMonth` (integer, optional) — Expiration date of the card.
- `expirationYear` (integer, optional) — Expiration year of the card.
- `securityCode` (string, optional) — CVV or CVV2 security code of the card. To ensure PCI compliance, Zuora does not store the value of this field.

### AccountObjectCustomFields

Container for custom fields of an Account object.

### POSTPaymentMethodRequest

Payment method information associated with an account.

- `type`: `CreditCard` (CreditCard)
  - `cardHolderInfo` (CreatePaymentMethodCardholderInfo, required) — Container for cardholder information. The nested `cardHolderName` field is required.
  - `cardNumber` (string, required) — Credit card number.
  - `cardType` (string, required) — The type of the credit card. Possible values include `Visa`, `MasterCard`, `AmericanExpress`, `Discover`, `JCB`, and `Diners`. For more information about credit card types supported by different payment gateways, see Supported Payment Gateways.
  - `expirationMonth` (integer, required) — One or two digit expiration month (1-12) of the credit card.
  - `expirationYear` (integer, required) — Four-digit expiration year of the credit card.
  - `accountKey` (string, optional) — The customer account ID such as `2x92c0f859b0480f0159d3a4a6ee5bb6` or the customer account number such as `A02855638`. To create an orphan payment method that is not associated with any customer account, you can skip this field. As soon as the account information is available, associate the payment method with an account through the [Update a payment method](https://developer.zuora.com/v1-api-reference/api/operation/PUT_PaymentMethod/) operation.
  - `authGateway` (string, optional) — Internal ID of the payment gateway that Zuora will use to authorize the payments that are made with the payment method. If you do not set this field, Zuora will use one of the following payment gateways instead: * The default payment gateway of the customer account that owns the payment method, if the `accountKey` field is set. * The default payment gateway of your Zuora tenant, if the `accountKey` field is not set. If Payment Gateway Routing is enabled: * If this field is not specified, gateway routing rules will be invoked. * If this field is specified, the specified gateway will be used to process the payment. If Payment Gateway Routing is disabled: * If this field is not specified, the default payment gateway will be used to process the payment. The default gateway of the customer account takes precedence over the default gateway of the tenant. * If this field is specified, the specified gateway will be used to process the payment.
  - `cardMaskNumber` (string, optional) — The masked card number. Currently, this field is only supported on certain integrations. See this article for more information.
  - `checkDuplicated` (boolean, optional) — Indicates whether the duplication check is performed when you create a new credit card payment method. The default value is `false`. With this field set to `true`, Zuora will check all active payment methods associated with the same billing account to ensure that no duplicate credit card payment methods are created. An error is returned if a duplicate payment method is found. The following fields are used for the duplication check: - `cardHolderName` - `expirationMonth` - `expirationYear` - `creditCardMaskNumber`. It is the masked credit card number generated by Zuora. For example, `************1234`. **This field is being deprecated.** To achieve the same purpose, use the `processingOptions` > `checkDuplicated` field of the payment method object.
  - `currencyCode` (string, optional) — The currency used for payment method authorization.
  - `gatewayOptions` (CreatePaymentMethodCreditCardGatewayOptions, optional) — The field used to pass gateway-specific parameters and parameter values. The fields supported by gateways vary. For more information, see the Overview topic of each gateway integration in [Zuora Knowledge Center](https://knowledgecenter.zuora.com/Zuora_Billing/Billing_and_Payments/M_Payment_Gateways/Supported_Payment_Gateways). Zuora sends all the information that you specified to the gateway. If you specify any unsupported gateway option parameters, they will be ignored without error prompts.
  - `identityNumber` (string, optional) — The identity number of the cardholder. This field is required for Credit Card payment methods in certain countries such as Brazil.
  - `ipAddress` (string, optional) — The IPv4 or IPv6 information of the user when the payment method is created or updated. Some gateways use this field for fraud prevention. If this field is passed to Zuora, Zuora directly passes it to gateways. If the IP address length is beyond 45 characters, a validation error occurs. For validating SEPA payment methods on Stripe v2, this field is required.
  - `makeDefault` (boolean, optional, default: false) — Specifies whether the payment method will be the default payment method of the customer account that owns the payment method. Only applicable if the `accountKey` field is set. When you set this field to `true`, make sure the payment method is supported by the default payment gateway.
  - `mandateInfo` (CreatePaymentMethodCreditCardMandateInfo, optional) — The container of the mandate information for the payment method.
  - `mitConsentAgreementRef` (string, optional) — Specifies your reference for the stored credential consent agreement that you have established with the customer. Only applicable if you set the `mitProfileAction` field.
  - `mitConsentAgreementSrc` (enum, optional) — Required if you set the `mitProfileAction` field. Specifies how the consent agreement has been established with the customer. The allowed value is `External`. If you do not specify the `mitProfileAction` field, Zuora will automatically create a stored credential profile for the payment method, with the default value `External` set to this field.
    - Allowed values: `External`
  - `mitNetworkTransactionId` (string, optional) — Specifies the ID of a network transaction. Only applicable if you set the `mitProfileAction` field to `Persist`.
  - `mitProfileAction` (enum, optional) — Specifies how Zuora creates and activates the stored credential profile. - `Activate` - Use this value if you are creating the stored credential profile after receiving the customer's consent. Zuora will create the stored credential profile then send a cardholder-initiated transaction (CIT) to the payment gateway to validate the stored credential profile. If the CIT succeeds, the status of the stored credential profile will be `Active`. If the CIT does not succeed, Zuora will not create a stored credential profile. If the payment gateway does not support the stored credential transaction framework, the status of the stored credential profile will be `Agreed`. - `Persist` - Use this value if the stored credential profile represents a stored credential profile in an external system. The status of the payment method's stored credential profile will be `Active`. If you do not specify this field, Zuora will automatically create a stored credential profile for the payment method, with the default value `Activate` set to this field.
    - Allowed values: `Activate`, `Persist`
  - `mitProfileAgreedOn` (date, optional) — The date on which the profile is agreed. The date format is `yyyy-mm-dd`.
  - `mitProfileType` (enum, optional) — Required if you set the `mitProfileAction` field. Indicates the type of the stored credential profile to process recurring or unsecheduled transactions. If you do not specify the `mitProfileAction` field, Zuora will automatically create a stored credential profile for the payment method, with the default value `Recurring` set to this field.
    - Allowed values: `Recurring`, `Unscheduled`
  - `processingOptions` (CreatePaymentMethodCreditCardProcessingOptions, optional) — The container for payment method processing options.
  - `screeningAmount` (double, optional) — For Chase Paymentech Orbital Gateway integrations, if the Safetech Fraud service is enabled, use this field to pass in the amount used for fraud screening for Credit Card validation transactions. Two-decimal amount is supported. If the `screeningAmount` field is not specified, the authorization amount is used for fraud screening.
  - `securityCode` (string, optional) — CVV or CVV2 security code of the credit card. To ensure PCI compliance, this value is not stored and cannot be queried.
  - `skipValidation` (boolean, optional, default: false) — Specify whether to skip the validation of the information through the payment gateway. For example, when migrating your payment methods, you can set this field to `true` to skip the validation.
  - `tokenize` (boolean, optional, default: false) — Specify `true` to tokenize the payment method with the card information. Currently, this field is only supported on certain integrations. See this article for more information.
  - `tokens` (CreatePaymentMethodCreditCardTokens, optional) — To create tokenized payment methods, pass in the existing token information through the fields in this container. Currently, this field is only supported on certain integrations. See this article for more information.
- `type`: `CreditCardReferenceTransaction` (CreditCardReferenceTransaction)
  - `tokenId` (string, required) — A gateway unique identifier that replaces sensitive payment method data or represents a gateway's unique customer profile. When `tokenId` is used to represent a customer profile, `secondTokenId` is conditionally required for representing the underlying tokenized payment method. The values for the `tokenId` and `secondTokenId` fields differ for gateways. For more information, see the Knowledge Center article specific to each gateway that supports the CC Reference Transaction payment method.
  - `accountKey` (string, optional) — The customer account ID such as `2x92c0f859b0480f0159d3a4a6ee5bb6` or the customer account number such as `A02855638`. To create an orphan payment method that is not associated with any customer account, you can skip this field. As soon as the account information is available, associate the payment method with an account through the [Update a payment method](https://developer.zuora.com/v1-api-reference/api/operation/PUT_PaymentMethod/) operation.
  - `authGateway` (string, optional) — Internal ID of the payment gateway that Zuora will use to authorize the payments that are made with the payment method. If you do not set this field, Zuora will use one of the following payment gateways instead: * The default payment gateway of the customer account that owns the payment method, if the `accountKey` field is set. * The default payment gateway of your Zuora tenant, if the `accountKey` field is not set. If Payment Gateway Routing is enabled: * If this field is not specified, gateway routing rules will be invoked. * If this field is specified, the specified gateway will be used to process the payment. If Payment Gateway Routing is disabled: * If this field is not specified, the default payment gateway will be used to process the payment. The default gateway of the customer account takes precedence over the default gateway of the tenant. * If this field is specified, the specified gateway will be used to process the payment.
  - `creditCardMaskNumber` (string, optional) — The masked credit card number, such as `*********1112`. This field is specific for the CC Reference Transaction payment method. It is an optional field that you can use to distinguish different CC Reference Transaction payment methods. Though there are no special restrictions on the input string, it is highly recommended to specify a card number that is masked.
  - `currencyCode` (string, optional) — The currency used for payment method authorization.
  - `gatewayOptions` (CreatePaymentMethodCcReferenceTransactionGatewayOptions, optional) — The field used to pass gateway-specific parameters and parameter values. The fields supported by gateways vary. For more information, see the Overview topic of each gateway integration in [Zuora Knowledge Center](https://knowledgecenter.zuora.com/Zuora_Billing/Billing_and_Payments/M_Payment_Gateways/Supported_Payment_Gateways). Zuora sends all the information that you specified to the gateway. If you specify any unsupported gateway option parameters, they will be ignored without error prompts.
  - `ipAddress` (string, optional) — The IPv4 or IPv6 information of the user when the payment method is created or updated. Some gateways use this field for fraud prevention. If this field is passed to Zuora, Zuora directly passes it to gateways. If the IP address length is beyond 45 characters, a validation error occurs. For validating SEPA payment methods on Stripe v2, this field is required.
  - `makeDefault` (boolean, optional, default: false) — Specifies whether the payment method will be the default payment method of the customer account that owns the payment method. Only applicable if the `accountKey` field is set. When you set this field to `true`, make sure the payment method is supported by the default payment gateway.
  - `mandateInfo` (CreatePaymentMethodCcReferenceTransactionMandateInfo, optional) — The container of the mandate information for the payment method.
  - `secondTokenId` (string, optional) — A gateway unique identifier that replaces sensitive payment method data. `secondTokenId` is conditionally required only when `tokenId` is being used to represent a gateway customer profile. `secondTokenId` is used in the CC Reference Transaction payment method.
  - `skipValidation` (boolean, optional, default: false) — Specify whether to skip the validation of the information through the payment gateway. For example, when migrating your payment methods, you can set this field to `true` to skip the validation.
- `type`: `ACH` (ACH)
  - `bankABACode` (string, required) — The nine-digit routing number or ABA number used by banks. This field is only required if the `type` field is set to `ACH`.
  - `bankAccountName` (string, required) — The name of the account holder, which can be either a person or a company. For ACH payment methods on the BlueSnap integration, see [Overview of BlueSnap gateway integration](https://knowledgecenter.zuora.com/Zuora_Billing/Billing_and_Payments/M_Payment_Gateways/Supported_Payment_Gateways/BlueSnap_Gateway/Overview_of_BlueSnap_gateway_integration#Payer_Name_Extraction) for more information about how Zuora splits the string in this field into two parts and passes them to BlueSnap's `firstName` and `lastName` fields.
  - `bankAccountNumber` (string, required) — The bank account number associated with the ACH payment. For the creation of tokenized ACH payment methods, this field is optional. Currently, ACH tokenization is supported on selected payment gateway integrations.\ See this article for more information.
  - `bankAccountType` (enum, required) — The type of bank account associated with the ACH payment. When creating an ACH payment method on Adyen, this field is required by Zuora but it is not required by Adyen. To create the ACH payment method successfully, specify a real value for this field if you can. If it is not possible to get the real value for it, specify any of the allowed values as a dummy value, `Checking` preferably.
    - Allowed values: `BusinessChecking`, `Checking`, `Saving`
  - `bankName` (string, required) — The name of the bank where the ACH payment account is held. When creating an ACH payment method on Adyen, this field is required by Zuora but it is not required by Adyen. To create the ACH payment method successfully, specify a real value for this field if you can. If it is not possible to get the real value for it, specify a dummy value.
  - `accountKey` (string, optional) — The customer account ID such as `2x92c0f859b0480f0159d3a4a6ee5bb6` or the customer account number such as `A02855638`. To create an orphan payment method that is not associated with any customer account, you can skip this field. As soon as the account information is available, associate the payment method with an account through the [Update a payment method](https://developer.zuora.com/v1-api-reference/api/operation/PUT_PaymentMethod/) operation.
  - `addressLine1` (string, optional) — First address line, 255 characters or less.
  - `addressLine2` (string, optional) — Second address line, 255 characters or less.
  - `authGateway` (string, optional) — Internal ID of the payment gateway that Zuora will use to authorize the payments that are made with the payment method. If you do not set this field, Zuora will use one of the following payment gateways instead: * The default payment gateway of the customer account that owns the payment method, if the `accountKey` field is set. * The default payment gateway of your Zuora tenant, if the `accountKey` field is not set. If Payment Gateway Routing is enabled: * If this field is not specified, gateway routing rules will be invoked. * If this field is specified, the specified gateway will be used to process the payment. If Payment Gateway Routing is disabled: * If this field is not specified, the default payment gateway will be used to process the payment. The default gateway of the customer account takes precedence over the default gateway of the tenant. * If this field is specified, the specified gateway will be used to process the payment.
  - `bankAccountMaskNumber` (string, optional) — The masked account number such as \*\*\*\*1234. Currently, this field is only supported on certain integrations. See this article for more information.
  - `city` (string, optional) — City, 40 characters or less. It is recommended to provide the city and country information when creating a payment method. The information will be used to process payments. If the information is not provided during payment method creation, the city and country data will be missing during payment processing.
  - `country` (string, optional) — Country, must be a valid country name or abbreviation. See View countries or regions for the list of supported country names and abbreviations. It is recommended to provide the city and country information when creating a payment method. The information will be used to process payments. If the information is not provided during payment method creation, the city and country data will be missing during payment processing.
  - `currencyCode` (string, optional) — The currency used for payment method authorization.
  - `gatewayOptions` (CreatePaymentMethodAchGatewayOptions, optional) — The field used to pass gateway-specific parameters and parameter values. The fields supported by gateways vary. For more information, see the Overview topic of each gateway integration in [Zuora Knowledge Center](https://knowledgecenter.zuora.com/Zuora_Billing/Billing_and_Payments/M_Payment_Gateways/Supported_Payment_Gateways). Zuora sends all the information that you specified to the gateway. If you specify any unsupported gateway option parameters, they will be ignored without error prompts.
  - `ipAddress` (string, optional) — The IPv4 or IPv6 information of the user when the payment method is created or updated. Some gateways use this field for fraud prevention. If this field is passed to Zuora, Zuora directly passes it to gateways. If the IP address length is beyond 45 characters, a validation error occurs. For validating SEPA payment methods on Stripe v2, this field is required.
  - `makeDefault` (boolean, optional, default: false) — Specifies whether the payment method will be the default payment method of the customer account that owns the payment method. Only applicable if the `accountKey` field is set. When you set this field to `true`, make sure the payment method is supported by the default payment gateway.
  - `mandateInfo` (CreatePaymentMethodAchMandateInfo, optional) — The container of the mandate information for the payment method.
  - `phone` (string, optional) — Phone number, 40 characters or less.
  - `processingOptions` (CreatePaymentMethodAchProcessingOptions, optional) — The container for payment method processing options.
  - `skipValidation` (boolean, optional, default: false) — Specify whether to skip the validation of the information through the payment gateway. For example, when migrating your payment methods, you can set this field to `true` to skip the validation.
  - `state` (string, optional) — State, must be a valid subregion (state or province) name or code. For more information, see View subregions of a specific country or region.
  - `tokenize` (boolean, optional, default: false) — Specify `true` to tokenize the payment method with the account information. Currently, this field is only supported on certain integrations. See this article for more information.
  - `tokens` (CreatePaymentMethodAchTokens, optional) — To create tokenized payment methods, pass in the existing token information through the fields in this container. Currently, this field is only supported on certain integrations. See this article for more information.
  - `zipCode` (string, optional) — Zip code, 20 characters or less.
- `type`: `SEPA` (SEPA)
  - `IBAN` (string, required) — The International Bank Account Number. This field is required if the `type` field is set to `SEPA`. However, for the creation of tokenized SEPA payment methods, this field is optional. Currently, SEPA tokenization is supported on selected payment gateway integrations. See this article for more information.
  - `accountHolderInfo` (CreatePaymentMethodSepaAccountHolderInfo, required) — The container for the account holder information. The nested `accountHolderName` field is required. However, for the creation of tokenized SEPA payment methods, this field is optional. Currently, SEPA tokenization is supported on selected payment gateway integrations. See this article for more information.
  - `accountKey` (string, optional) — The customer account ID such as `2x92c0f859b0480f0159d3a4a6ee5bb6` or the customer account number such as `A02855638`. To create an orphan payment method that is not associated with any customer account, you can skip this field. As soon as the account information is available, associate the payment method with an account through the [Update a payment method](https://developer.zuora.com/v1-api-reference/api/operation/PUT_PaymentMethod/) operation.
  - `accountMaskNumber` (string, optional) — The masked account number such as \*\*\*\*1234. When creating tokenized SEPA payment methods, this `accountMaskNumber` field is required if the `tokens` field is provided. Currently, SEPA tokenization is supported on selected payment gateway integrations. See this article for more information.
  - `authGateway` (string, optional) — Internal ID of the payment gateway that Zuora will use to authorize the payments that are made with the payment method. If you do not set this field, Zuora will use one of the following payment gateways instead: * The default payment gateway of the customer account that owns the payment method, if the `accountKey` field is set. * The default payment gateway of your Zuora tenant, if the `accountKey` field is not set. If Payment Gateway Routing is enabled: * If this field is not specified, gateway routing rules will be invoked. * If this field is specified, the specified gateway will be used to process the payment. If Payment Gateway Routing is disabled: * If this field is not specified, the default payment gateway will be used to process the payment. The default gateway of the customer account takes precedence over the default gateway of the tenant. * If this field is specified, the specified gateway will be used to process the payment.
  - `businessIdentificationCode` (string, optional) — The BIC code used for SEPA.
  - `currencyCode` (string, optional) — The currency used for payment method authorization.
  - `gatewayOptions` (CreatePaymentMethodSepaGatewayOptions, optional) — The field used to pass gateway-specific parameters and parameter values. The fields supported by gateways vary. For more information, see the Overview topic of each gateway integration in [Zuora Knowledge Center](https://knowledgecenter.zuora.com/Zuora_Billing/Billing_and_Payments/M_Payment_Gateways/Supported_Payment_Gateways). Zuora sends all the information that you specified to the gateway. If you specify any unsupported gateway option parameters, they will be ignored without error prompts.
  - `ipAddress` (string, optional) — The IPv4 or IPv6 information of the user when the payment method is created or updated. Some gateways use this field for fraud prevention. If this field is passed to Zuora, Zuora directly passes it to gateways. If the IP address length is beyond 45 characters, a validation error occurs. For validating SEPA payment methods on Stripe v2, this field is required.
  - `makeDefault` (boolean, optional, default: false) — Specifies whether the payment method will be the default payment method of the customer account that owns the payment method. Only applicable if the `accountKey` field is set. When you set this field to `true`, make sure the payment method is supported by the default payment gateway.
  - `mandateInfo` (CreatePaymentMethodSepaMandateInfo, optional) — The container of the mandate information for the payment method.
  - `processingOptions` (CreatePaymentMethodSepaProcessingOptions, optional) — The container for payment method processing options.
  - `skipValidation` (boolean, optional, default: false) — Specify whether to skip the validation of the information through the payment gateway. For example, when migrating your payment methods, you can set this field to `true` to skip the validation.
  - `tokenize` (boolean, optional, default: false) — When creating a SEPA payment method on Adyen Integration v2.0, use this field to specify whether to tokenize the payment method with IBAN. If `tokenize` is `true`, `IBAN` is required. If the `tokens` field is provided, this `tokenize` field is not required. For more information about how to create tokenized SEPA payment methods on Adyen, see Tokenize SEPA payment methods on Adyen Integration v2.0.
  - `tokens` (CreatePaymentMethodSepaTokens, optional) — To create tokenized payment methods, pass in the existing token information through the fields in this container. Currently, SEPA tokenization is supported on selected payment gateway integrations. See this article for more information.
- `type`: `Betalingsservice` (Betalingsservice)
  - `accountHolderInfo` (CreatePaymentMethodBetalingsserviceAccountHolderInfo, required) — The container for the account holder information. The nested `accountHolderName` field is required.
  - `accountNumber` (string, required) — The number of the customer's bank account.
  - `bankCode` (string, required) — The sort code or number that identifies the bank. This is also known as the sort code.
  - `identityNumber` (string, required) — The identity number used for Bank Transfer.
  - `accountKey` (string, optional) — The customer account ID such as `2x92c0f859b0480f0159d3a4a6ee5bb6` or the customer account number such as `A02855638`. To create an orphan payment method that is not associated with any customer account, you can skip this field. As soon as the account information is available, associate the payment method with an account through the [Update a payment method](https://developer.zuora.com/v1-api-reference/api/operation/PUT_PaymentMethod/) operation.
  - `accountMaskNumber` (string, optional) — The masked account number such as ****1234.
  - `authGateway` (string, optional) — Internal ID of the payment gateway that Zuora will use to authorize the payments that are made with the payment method. If you do not set this field, Zuora will use one of the following payment gateways instead: * The default payment gateway of the customer account that owns the payment method, if the `accountKey` field is set. * The default payment gateway of your Zuora tenant, if the `accountKey` field is not set. If Payment Gateway Routing is enabled: * If this field is not specified, gateway routing rules will be invoked. * If this field is specified, the specified gateway will be used to process the payment. If Payment Gateway Routing is disabled: * If this field is not specified, the default payment gateway will be used to process the payment. The default gateway of the customer account takes precedence over the default gateway of the tenant. * If this field is specified, the specified gateway will be used to process the payment.
  - `currencyCode` (string, optional) — The currency used for payment method authorization.
  - `gatewayOptions` (CreatePaymentMethodBetalingsserviceGatewayOptions, optional) — The field used to pass gateway-specific parameters and parameter values. The fields supported by gateways vary. For more information, see the Overview topic of each gateway integration in [Zuora Knowledge Center](https://knowledgecenter.zuora.com/Zuora_Billing/Billing_and_Payments/M_Payment_Gateways/Supported_Payment_Gateways). Zuora sends all the information that you specified to the gateway. If you specify any unsupported gateway option parameters, they will be ignored without error prompts.
  - `ipAddress` (string, optional) — The IPv4 or IPv6 information of the user when the payment method is created or updated. Some gateways use this field for fraud prevention. If this field is passed to Zuora, Zuora directly passes it to gateways. If the IP address length is beyond 45 characters, a validation error occurs. For validating SEPA payment methods on Stripe v2, this field is required.
  - `makeDefault` (boolean, optional, default: false) — Specifies whether the payment method will be the default payment method of the customer account that owns the payment method. Only applicable if the `accountKey` field is set. When you set this field to `true`, make sure the payment method is supported by the default payment gateway.
  - `mandateInfo` (CreatePaymentMethodBetalingsserviceMandateInfo, optional) — The container of the mandate information for the payment method.
  - `processingOptions` (CreatePaymentMethodBetalingsserviceProcessingOptions, optional) — The container for payment method processing options.
  - `skipValidation` (boolean, optional, default: false) — Specify whether to skip the validation of the information through the payment gateway. For example, when migrating your payment methods, you can set this field to `true` to skip the validation.
- `type`: `Autogiro` (Autogiro)
  - `accountHolderInfo` (CreatePaymentMethodAutogiroAccountHolderInfo, required) — The container for the account holder information. The nested `accountHolderName` field is required.
  - `accountNumber` (string, required) — The number of the customer's bank account.
  - `branchCode` (string, required) — The branch code of the bank used for direct debit.
  - `identityNumber` (string, required) — The identity number used for Bank Transfer.
  - `accountKey` (string, optional) — The customer account ID such as `2x92c0f859b0480f0159d3a4a6ee5bb6` or the customer account number such as `A02855638`. To create an orphan payment method that is not associated with any customer account, you can skip this field. As soon as the account information is available, associate the payment method with an account through the [Update a payment method](https://developer.zuora.com/v1-api-reference/api/operation/PUT_PaymentMethod/) operation.
  - `accountMaskNumber` (string, optional) — The masked account number such as ****1234.
  - `authGateway` (string, optional) — Internal ID of the payment gateway that Zuora will use to authorize the payments that are made with the payment method. If you do not set this field, Zuora will use one of the following payment gateways instead: * The default payment gateway of the customer account that owns the payment method, if the `accountKey` field is set. * The default payment gateway of your Zuora tenant, if the `accountKey` field is not set. If Payment Gateway Routing is enabled: * If this field is not specified, gateway routing rules will be invoked. * If this field is specified, the specified gateway will be used to process the payment. If Payment Gateway Routing is disabled: * If this field is not specified, the default payment gateway will be used to process the payment. The default gateway of the customer account takes precedence over the default gateway of the tenant. * If this field is specified, the specified gateway will be used to process the payment.
  - `currencyCode` (string, optional) — The currency used for payment method authorization.
  - `gatewayOptions` (CreatePaymentMethodAutogiroGatewayOptions, optional) — The field used to pass gateway-specific parameters and parameter values. The fields supported by gateways vary. For more information, see the Overview topic of each gateway integration in [Zuora Knowledge Center](https://knowledgecenter.zuora.com/Zuora_Billing/Billing_and_Payments/M_Payment_Gateways/Supported_Payment_Gateways). Zuora sends all the information that you specified to the gateway. If you specify any unsupported gateway option parameters, they will be ignored without error prompts.
  - `ipAddress` (string, optional) — The IPv4 or IPv6 information of the user when the payment method is created or updated. Some gateways use this field for fraud prevention. If this field is passed to Zuora, Zuora directly passes it to gateways. If the IP address length is beyond 45 characters, a validation error occurs. For validating SEPA payment methods on Stripe v2, this field is required.
  - `makeDefault` (boolean, optional, default: false) — Specifies whether the payment method will be the default payment method of the customer account that owns the payment method. Only applicable if the `accountKey` field is set. When you set this field to `true`, make sure the payment method is supported by the default payment gateway.
  - `mandateInfo` (CreatePaymentMethodAutogiroMandateInfo, optional) — The container of the mandate information for the payment method.
  - `processingOptions` (CreatePaymentMethodAutogiroProcessingOptions, optional) — The container for payment method processing options.
  - `skipValidation` (boolean, optional, default: false) — Specify whether to skip the validation of the information through the payment gateway. For example, when migrating your payment methods, you can set this field to `true` to skip the validation.
- `type`: `Bacs` (Bacs)
  - `accountHolderInfo` (CreatePaymentMethodBacsAccountHolderInfo, required) — The container for the account holder information. The nested `accountHolderName` field is required.
  - `accountNumber` (string, required) — The number of the customer's bank account.
  - `bankCode` (string, required) — The sort code or number that identifies the bank. This is also known as the sort code.
  - `accountKey` (string, optional) — The customer account ID such as `2x92c0f859b0480f0159d3a4a6ee5bb6` or the customer account number such as `A02855638`. To create an orphan payment method that is not associated with any customer account, you can skip this field. As soon as the account information is available, associate the payment method with an account through the [Update a payment method](https://developer.zuora.com/v1-api-reference/api/operation/PUT_PaymentMethod/) operation.
  - `accountMaskNumber` (string, optional) — The masked account number such as \*\*\*\*1234. When creating BACS payment methods on Stripe, if the `tokens` field is provided, this `accountMaskNumber` field is required. For more information, see Overview of Stripe payment gateway integration.
  - `authGateway` (string, optional) — Internal ID of the payment gateway that Zuora will use to authorize the payments that are made with the payment method. If you do not set this field, Zuora will use one of the following payment gateways instead: * The default payment gateway of the customer account that owns the payment method, if the `accountKey` field is set. * The default payment gateway of your Zuora tenant, if the `accountKey` field is not set. If Payment Gateway Routing is enabled: * If this field is not specified, gateway routing rules will be invoked. * If this field is specified, the specified gateway will be used to process the payment. If Payment Gateway Routing is disabled: * If this field is not specified, the default payment gateway will be used to process the payment. The default gateway of the customer account takes precedence over the default gateway of the tenant. * If this field is specified, the specified gateway will be used to process the payment.
  - `currencyCode` (string, optional) — The currency used for payment method authorization.
  - `gatewayOptions` (CreatePaymentMethodBacsGatewayOptions, optional) — The field used to pass gateway-specific parameters and parameter values. The fields supported by gateways vary. For more information, see the Overview topic of each gateway integration in [Zuora Knowledge Center](https://knowledgecenter.zuora.com/Zuora_Billing/Billing_and_Payments/M_Payment_Gateways/Supported_Payment_Gateways). Zuora sends all the information that you specified to the gateway. If you specify any unsupported gateway option parameters, they will be ignored without error prompts.
  - `ipAddress` (string, optional) — The IPv4 or IPv6 information of the user when the payment method is created or updated. Some gateways use this field for fraud prevention. If this field is passed to Zuora, Zuora directly passes it to gateways. If the IP address length is beyond 45 characters, a validation error occurs. For validating SEPA payment methods on Stripe v2, this field is required.
  - `makeDefault` (boolean, optional, default: false) — Specifies whether the payment method will be the default payment method of the customer account that owns the payment method. Only applicable if the `accountKey` field is set. When you set this field to `true`, make sure the payment method is supported by the default payment gateway.
  - `mandateInfo` (CreatePaymentMethodBacsMandateInfo, optional) — The container of the mandate information for the payment method.
  - `processingOptions` (CreatePaymentMethodBacsProcessingOptions, optional) — The container for payment method processing options.
  - `skipValidation` (boolean, optional, default: false) — Specify whether to skip the validation of the information through the payment gateway. For example, when migrating your payment methods, you can set this field to `true` to skip the validation.
  - `tokenize` (boolean, optional, default: false) — When creating a BACS payment method on Adyen v2.0, set this field to `true` to support processing BACS recurring payments. For more information about other requirements for processing BACS recurring payments, see Overview of Adyen Integration v2.0.
  - `tokens` (CreatePaymentMethodBacsTokens, optional) — To create tokenized BACS payment methods on Stripe v2, pass in the existing token information through the fields in this container. For more information, see Overview of Stripe payment gateway integration.
- `type`: `Becs` (Becs)
  - `accountNumber` (string, required) — The number of the customer's bank account.
  - `branchCode` (string, required) — The branch code of the bank used for direct debit.
  - `accountHolderInfo` (CreatePaymentMethodBecsAccountHolderInfo, optional) — The container for the account holder information. The nested `accountHolderName` field is required.
  - `accountKey` (string, optional) — The customer account ID such as `2x92c0f859b0480f0159d3a4a6ee5bb6` or the customer account number such as `A02855638`. To create an orphan payment method that is not associated with any customer account, you can skip this field. As soon as the account information is available, associate the payment method with an account through the [Update a payment method](https://developer.zuora.com/v1-api-reference/api/operation/PUT_PaymentMethod/) operation.
  - `accountMaskNumber` (string, optional) — The masked account number such as ****1234.
  - `authGateway` (string, optional) — Internal ID of the payment gateway that Zuora will use to authorize the payments that are made with the payment method. If you do not set this field, Zuora will use one of the following payment gateways instead: * The default payment gateway of the customer account that owns the payment method, if the `accountKey` field is set. * The default payment gateway of your Zuora tenant, if the `accountKey` field is not set. If Payment Gateway Routing is enabled: * If this field is not specified, gateway routing rules will be invoked. * If this field is specified, the specified gateway will be used to process the payment. If Payment Gateway Routing is disabled: * If this field is not specified, the default payment gateway will be used to process the payment. The default gateway of the customer account takes precedence over the default gateway of the tenant. * If this field is specified, the specified gateway will be used to process the payment.
  - `currencyCode` (string, optional) — The currency used for payment method authorization.
  - `gatewayOptions` (CreatePaymentMethodBecsGatewayOptions, optional) — The field used to pass gateway-specific parameters and parameter values. The fields supported by gateways vary. For more information, see the Overview topic of each gateway integration in [Zuora Knowledge Center](https://knowledgecenter.zuora.com/Zuora_Billing/Billing_and_Payments/M_Payment_Gateways/Supported_Payment_Gateways). Zuora sends all the information that you specified to the gateway. If you specify any unsupported gateway option parameters, they will be ignored without error prompts.
  - `ipAddress` (string, optional) — The IPv4 or IPv6 information of the user when the payment method is created or updated. Some gateways use this field for fraud prevention. If this field is passed to Zuora, Zuora directly passes it to gateways. If the IP address length is beyond 45 characters, a validation error occurs. For validating SEPA payment methods on Stripe v2, this field is required.
  - `makeDefault` (boolean, optional, default: false) — Specifies whether the payment method will be the default payment method of the customer account that owns the payment method. Only applicable if the `accountKey` field is set. When you set this field to `true`, make sure the payment method is supported by the default payment gateway.
  - `mandateInfo` (CreatePaymentMethodBecsMandateInfo, optional) — The container of the mandate information for the payment method.
  - `processingOptions` (CreatePaymentMethodBecsProcessingOptions, optional) — The container for payment method processing options.
  - `skipValidation` (boolean, optional, default: false) — Specify whether to skip the validation of the information through the payment gateway. For example, when migrating your payment methods, you can set this field to `true` to skip the validation.
- `type`: `Becsnz` (Becsnz)
  - `accountHolderInfo` (CreatePaymentMethodBecsnzAccountHolderInfo, required) — The container for the account holder information. The nested `accountHolderName` field is required.
  - `accountNumber` (string, required) — The number of the customer's bank account.
  - `bankCode` (string, required) — The sort code or number that identifies the bank. This is also known as the sort code.
  - `branchCode` (string, required) — The branch code of the bank used for direct debit.
  - `accountKey` (string, optional) — The customer account ID such as `2x92c0f859b0480f0159d3a4a6ee5bb6` or the customer account number such as `A02855638`. To create an orphan payment method that is not associated with any customer account, you can skip this field. As soon as the account information is available, associate the payment method with an account through the [Update a payment method](https://developer.zuora.com/v1-api-reference/api/operation/PUT_PaymentMethod/) operation.
  - `accountMaskNumber` (string, optional) — The masked account number such as ****1234.
  - `authGateway` (string, optional) — Internal ID of the payment gateway that Zuora will use to authorize the payments that are made with the payment method. If you do not set this field, Zuora will use one of the following payment gateways instead: * The default payment gateway of the customer account that owns the payment method, if the `accountKey` field is set. * The default payment gateway of your Zuora tenant, if the `accountKey` field is not set. If Payment Gateway Routing is enabled: * If this field is not specified, gateway routing rules will be invoked. * If this field is specified, the specified gateway will be used to process the payment. If Payment Gateway Routing is disabled: * If this field is not specified, the default payment gateway will be used to process the payment. The default gateway of the customer account takes precedence over the default gateway of the tenant. * If this field is specified, the specified gateway will be used to process the payment.
  - `currencyCode` (string, optional) — The currency used for payment method authorization.
  - `gatewayOptions` (CreatePaymentMethodBecsnzGatewayOptions, optional) — The field used to pass gateway-specific parameters and parameter values. The fields supported by gateways vary. For more information, see the Overview topic of each gateway integration in [Zuora Knowledge Center](https://knowledgecenter.zuora.com/Zuora_Billing/Billing_and_Payments/M_Payment_Gateways/Supported_Payment_Gateways). Zuora sends all the information that you specified to the gateway. If you specify any unsupported gateway option parameters, they will be ignored without error prompts.
  - `ipAddress` (string, optional) — The IPv4 or IPv6 information of the user when the payment method is created or updated. Some gateways use this field for fraud prevention. If this field is passed to Zuora, Zuora directly passes it to gateways. If the IP address length is beyond 45 characters, a validation error occurs. For validating SEPA payment methods on Stripe v2, this field is required.
  - `makeDefault` (boolean, optional, default: false) — Specifies whether the payment method will be the default payment method of the customer account that owns the payment method. Only applicable if the `accountKey` field is set. When you set this field to `true`, make sure the payment method is supported by the default payment gateway.
  - `mandateInfo` (CreatePaymentMethodBecsnzMandateInfo, optional) — The container of the mandate information for the payment method.
  - `processingOptions` (CreatePaymentMethodBecsnzProcessingOptions, optional) — The container for payment method processing options.
  - `skipValidation` (boolean, optional, default: false) — Specify whether to skip the validation of the information through the payment gateway. For example, when migrating your payment methods, you can set this field to `true` to skip the validation.
- `type`: `PAD` (PAD)
  - `accountHolderInfo` (CreatePaymentMethodPadAccountHolderInfo, required) — The container for the account holder information. The nested `accountHolderName` field is required.
  - `accountNumber` (string, required) — The number of the customer's bank account.
  - `bankCode` (string, required) — The sort code or number that identifies the bank. This is also known as the sort code.
  - `branchCode` (string, required) — The branch code of the bank used for direct debit.
  - `accountKey` (string, optional) — The customer account ID such as `2x92c0f859b0480f0159d3a4a6ee5bb6` or the customer account number such as `A02855638`. To create an orphan payment method that is not associated with any customer account, you can skip this field. As soon as the account information is available, associate the payment method with an account through the [Update a payment method](https://developer.zuora.com/v1-api-reference/api/operation/PUT_PaymentMethod/) operation.
  - `accountMaskNumber` (string, optional) — The masked account number such as ****1234.
  - `authGateway` (string, optional) — Internal ID of the payment gateway that Zuora will use to authorize the payments that are made with the payment method. If you do not set this field, Zuora will use one of the following payment gateways instead: * The default payment gateway of the customer account that owns the payment method, if the `accountKey` field is set. * The default payment gateway of your Zuora tenant, if the `accountKey` field is not set. If Payment Gateway Routing is enabled: * If this field is not specified, gateway routing rules will be invoked. * If this field is specified, the specified gateway will be used to process the payment. If Payment Gateway Routing is disabled: * If this field is not specified, the default payment gateway will be used to process the payment. The default gateway of the customer account takes precedence over the default gateway of the tenant. * If this field is specified, the specified gateway will be used to process the payment.
  - `currencyCode` (string, optional) — The currency used for payment method authorization.
  - `gatewayOptions` (CreatePaymentMethodPadGatewayOptions, optional) — The field used to pass gateway-specific parameters and parameter values. The fields supported by gateways vary. For more information, see the Overview topic of each gateway integration in [Zuora Knowledge Center](https://knowledgecenter.zuora.com/Zuora_Billing/Billing_and_Payments/M_Payment_Gateways/Supported_Payment_Gateways). Zuora sends all the information that you specified to the gateway. If you specify any unsupported gateway option parameters, they will be ignored without error prompts.
  - `ipAddress` (string, optional) — The IPv4 or IPv6 information of the user when the payment method is created or updated. Some gateways use this field for fraud prevention. If this field is passed to Zuora, Zuora directly passes it to gateways. If the IP address length is beyond 45 characters, a validation error occurs. For validating SEPA payment methods on Stripe v2, this field is required.
  - `makeDefault` (boolean, optional, default: false) — Specifies whether the payment method will be the default payment method of the customer account that owns the payment method. Only applicable if the `accountKey` field is set. When you set this field to `true`, make sure the payment method is supported by the default payment gateway.
  - `mandateInfo` (CreatePaymentMethodPadMandateInfo, optional) — The container of the mandate information for the payment method.
  - `processingOptions` (CreatePaymentMethodPadProcessingOptions, optional) — The container for payment method processing options.
  - `skipValidation` (boolean, optional, default: false) — Specify whether to skip the validation of the information through the payment gateway. For example, when migrating your payment methods, you can set this field to `true` to skip the validation.
- `type`: `PayPalCP` (PayPalCP)
  - `BAID` (string, required) — ID of a PayPal billing agreement.
  - `email` (string, required) — Email address associated with the payment method.
  - `accountKey` (string, optional) — The customer account ID such as `2x92c0f859b0480f0159d3a4a6ee5bb6` or the customer account number such as `A02855638`. To create an orphan payment method that is not associated with any customer account, you can skip this field. As soon as the account information is available, associate the payment method with an account through the [Update a payment method](https://developer.zuora.com/v1-api-reference/api/operation/PUT_PaymentMethod/) operation.
  - `authGateway` (string, optional) — Internal ID of the payment gateway that Zuora will use to authorize the payments that are made with the payment method. If you do not set this field, Zuora will use one of the following payment gateways instead: * The default payment gateway of the customer account that owns the payment method, if the `accountKey` field is set. * The default payment gateway of your Zuora tenant, if the `accountKey` field is not set. If Payment Gateway Routing is enabled: * If this field is not specified, gateway routing rules will be invoked. * If this field is specified, the specified gateway will be used to process the payment. If Payment Gateway Routing is disabled: * If this field is not specified, the default payment gateway will be used to process the payment. The default gateway of the customer account takes precedence over the default gateway of the tenant. * If this field is specified, the specified gateway will be used to process the payment.
  - `currencyCode` (string, optional) — The currency used for payment method authorization.
  - `gatewayOptions` (CreatePmPayPalCpGatewayOptions, optional) — The field used to pass gateway-specific parameters and parameter values. The fields supported by gateways vary. For more information, see the Overview topic of each gateway integration in [Zuora Knowledge Center](https://knowledgecenter.zuora.com/Zuora_Billing/Billing_and_Payments/M_Payment_Gateways/Supported_Payment_Gateways). Zuora sends all the information that you specified to the gateway. If you specify any unsupported gateway option parameters, they will be ignored without error prompts.
  - `ipAddress` (string, optional) — The IPv4 or IPv6 information of the user when the payment method is created or updated. Some gateways use this field for fraud prevention. If this field is passed to Zuora, Zuora directly passes it to gateways. If the IP address length is beyond 45 characters, a validation error occurs. For validating SEPA payment methods on Stripe v2, this field is required.
  - `makeDefault` (boolean, optional, default: false) — Specifies whether the payment method will be the default payment method of the customer account that owns the payment method. Only applicable if the `accountKey` field is set. When you set this field to `true`, make sure the payment method is supported by the default payment gateway.
  - `skipValidation` (boolean, optional, default: false) — Specify whether to skip the validation of the information through the payment gateway. For example, when migrating your payment methods, you can set this field to `true` to skip the validation.
  - `tokenize` (boolean, optional, default: false) — Specify `true` to tokenize the payment method. Currently, this field is only supported on certain integrations. See this article for more information.
  - `tokens` (CreatePmPayPalCpTokens, optional) — To create tokenized payment methods, pass in the existing token information through the fields in this container. Currently, this field is only supported on certain integrations. See this article for more information.
- `type`: `PayPalEC` (PayPalEC)
  - `BAID` (string, required) — ID of a PayPal billing agreement.
  - `email` (string, required) — Email address associated with the payment method.
  - `accountKey` (string, optional) — The customer account ID such as `2x92c0f859b0480f0159d3a4a6ee5bb6` or the customer account number such as `A02855638`. To create an orphan payment method that is not associated with any customer account, you can skip this field. As soon as the account information is available, associate the payment method with an account through the [Update a payment method](https://developer.zuora.com/v1-api-reference/api/operation/PUT_PaymentMethod/) operation.
  - `authGateway` (string, optional) — Internal ID of the payment gateway that Zuora will use to authorize the payments that are made with the payment method. If you do not set this field, Zuora will use one of the following payment gateways instead: * The default payment gateway of the customer account that owns the payment method, if the `accountKey` field is set. * The default payment gateway of your Zuora tenant, if the `accountKey` field is not set. If Payment Gateway Routing is enabled: * If this field is not specified, gateway routing rules will be invoked. * If this field is specified, the specified gateway will be used to process the payment. If Payment Gateway Routing is disabled: * If this field is not specified, the default payment gateway will be used to process the payment. The default gateway of the customer account takes precedence over the default gateway of the tenant. * If this field is specified, the specified gateway will be used to process the payment.
  - `currencyCode` (string, optional) — The currency used for payment method authorization.
  - `gatewayOptions` (CreatePmPayPalEcGatewayOptions, optional) — The field used to pass gateway-specific parameters and parameter values. The fields supported by gateways vary. For more information, see the Overview topic of each gateway integration in [Zuora Knowledge Center](https://knowledgecenter.zuora.com/Zuora_Billing/Billing_and_Payments/M_Payment_Gateways/Supported_Payment_Gateways). Zuora sends all the information that you specified to the gateway. If you specify any unsupported gateway option parameters, they will be ignored without error prompts.
  - `ipAddress` (string, optional) — The IPv4 or IPv6 information of the user when the payment method is created or updated. Some gateways use this field for fraud prevention. If this field is passed to Zuora, Zuora directly passes it to gateways. If the IP address length is beyond 45 characters, a validation error occurs. For validating SEPA payment methods on Stripe v2, this field is required.
  - `makeDefault` (boolean, optional, default: false) — Specifies whether the payment method will be the default payment method of the customer account that owns the payment method. Only applicable if the `accountKey` field is set. When you set this field to `true`, make sure the payment method is supported by the default payment gateway.
  - `skipValidation` (boolean, optional, default: false) — Specify whether to skip the validation of the information through the payment gateway. For example, when migrating your payment methods, you can set this field to `true` to skip the validation.
- `type`: `PayPalNativeEC` (PayPalNativeEC)
  - `BAID` (string, required) — ID of a PayPal billing agreement. example: I-1TJ3GAGG82Y9
  - `accountKey` (string, optional) — The customer account ID such as `2x92c0f859b0480f0159d3a4a6ee5bb6` or the customer account number such as `A02855638`. To create an orphan payment method that is not associated with any customer account, you can skip this field. As soon as the account information is available, associate the payment method with an account through the [Update a payment method](https://developer.zuora.com/v1-api-reference/api/operation/PUT_PaymentMethod/) operation.
  - `authGateway` (string, optional) — Internal ID of the payment gateway that Zuora will use to authorize the payments that are made with the payment method. If you do not set this field, Zuora will use one of the following payment gateways instead: * The default payment gateway of the customer account that owns the payment method, if the `accountKey` field is set. * The default payment gateway of your Zuora tenant, if the `accountKey` field is not set. If Payment Gateway Routing is enabled: * If this field is not specified, gateway routing rules will be invoked. * If this field is specified, the specified gateway will be used to process the payment. If Payment Gateway Routing is disabled: * If this field is not specified, the default payment gateway will be used to process the payment. The default gateway of the customer account takes precedence over the default gateway of the tenant. * If this field is specified, the specified gateway will be used to process the payment.
  - `currencyCode` (string, optional) — The currency used for payment method authorization.
  - `email` (string, optional) — Email address associated with the payment method.
  - `gatewayOptions` (CreatePmPayPalNativeEcGatewayOptions, optional) — The field used to pass gateway-specific parameters and parameter values. The fields supported by gateways vary. For more information, see the Overview topic of each gateway integration in [Zuora Knowledge Center](https://knowledgecenter.zuora.com/Zuora_Billing/Billing_and_Payments/M_Payment_Gateways/Supported_Payment_Gateways). Zuora sends all the information that you specified to the gateway. If you specify any unsupported gateway option parameters, they will be ignored without error prompts.
  - `ipAddress` (string, optional) — The IPv4 or IPv6 information of the user when the payment method is created or updated. Some gateways use this field for fraud prevention. If this field is passed to Zuora, Zuora directly passes it to gateways. If the IP address length is beyond 45 characters, a validation error occurs. For validating SEPA payment methods on Stripe v2, this field is required.
  - `makeDefault` (boolean, optional, default: false) — Specifies whether the payment method will be the default payment method of the customer account that owns the payment method. Only applicable if the `accountKey` field is set. When you set this field to `true`, make sure the payment method is supported by the default payment gateway.
  - `skipValidation` (boolean, optional, default: false) — Specify whether to skip the validation of the information through the payment gateway. For example, when migrating your payment methods, you can set this field to `true` to skip the validation.
- `type`: `PayPalAdaptive` (PayPalAdaptive)
  - `email` (string, required) — Email address associated with the payment method.
  - `preapprovalKey` (string, required) — The PayPal preapproval key.
  - `accountKey` (string, optional) — The customer account ID such as `2x92c0f859b0480f0159d3a4a6ee5bb6` or the customer account number such as `A02855638`. To create an orphan payment method that is not associated with any customer account, you can skip this field. As soon as the account information is available, associate the payment method with an account through the [Update a payment method](https://developer.zuora.com/v1-api-reference/api/operation/PUT_PaymentMethod/) operation.
  - `authGateway` (string, optional) — Internal ID of the payment gateway that Zuora will use to authorize the payments that are made with the payment method. If you do not set this field, Zuora will use one of the following payment gateways instead: * The default payment gateway of the customer account that owns the payment method, if the `accountKey` field is set. * The default payment gateway of your Zuora tenant, if the `accountKey` field is not set. If Payment Gateway Routing is enabled: * If this field is not specified, gateway routing rules will be invoked. * If this field is specified, the specified gateway will be used to process the payment. If Payment Gateway Routing is disabled: * If this field is not specified, the default payment gateway will be used to process the payment. The default gateway of the customer account takes precedence over the default gateway of the tenant. * If this field is specified, the specified gateway will be used to process the payment.
  - `currencyCode` (string, optional) — The currency used for payment method authorization.
  - `gatewayOptions` (CreatePaymentMethodPayPalAdaptiveGatewayOptions, optional) — The field used to pass gateway-specific parameters and parameter values. The fields supported by gateways vary. For more information, see the Overview topic of each gateway integration in [Zuora Knowledge Center](https://knowledgecenter.zuora.com/Zuora_Billing/Billing_and_Payments/M_Payment_Gateways/Supported_Payment_Gateways). Zuora sends all the information that you specified to the gateway. If you specify any unsupported gateway option parameters, they will be ignored without error prompts.
  - `ipAddress` (string, optional) — The IPv4 or IPv6 information of the user when the payment method is created or updated. Some gateways use this field for fraud prevention. If this field is passed to Zuora, Zuora directly passes it to gateways. If the IP address length is beyond 45 characters, a validation error occurs. For validating SEPA payment methods on Stripe v2, this field is required.
  - `makeDefault` (boolean, optional, default: false) — Specifies whether the payment method will be the default payment method of the customer account that owns the payment method. Only applicable if the `accountKey` field is set. When you set this field to `true`, make sure the payment method is supported by the default payment gateway.
  - `skipValidation` (boolean, optional, default: false) — Specify whether to skip the validation of the information through the payment gateway. For example, when migrating your payment methods, you can set this field to `true` to skip the validation.
- `type`: `AdyenApplePay` (AdyenApplePay)
  - `applePaymentData` (string, required) — This field is specific for setting up Apple Pay for Adyen to include payload with Apple Pay token or Apple payment data. This information should be stringified. For more information, see [Set up Adyen Apple Pay](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/L_Payment_Methods/Payment_Method_Types/Apple_Pay_on_Web/Set_up_Adyen_Apple_Pay).
  - `accountKey` (string, optional) — The customer account ID such as `2x92c0f859b0480f0159d3a4a6ee5bb6` or the customer account number such as `A02855638`. To create an orphan payment method that is not associated with any customer account, you can skip this field. As soon as the account information is available, associate the payment method with an account through the [Update a payment method](https://developer.zuora.com/v1-api-reference/api/operation/PUT_PaymentMethod/) operation.
  - `authGateway` (string, optional) — Internal ID of the payment gateway that Zuora will use to authorize the payments that are made with the payment method. If you do not set this field, Zuora will use one of the following payment gateways instead: * The default payment gateway of the customer account that owns the payment method, if the `accountKey` field is set. * The default payment gateway of your Zuora tenant, if the `accountKey` field is not set. If Payment Gateway Routing is enabled: * If this field is not specified, gateway routing rules will be invoked. * If this field is specified, the specified gateway will be used to process the payment. If Payment Gateway Routing is disabled: * If this field is not specified, the default payment gateway will be used to process the payment. The default gateway of the customer account takes precedence over the default gateway of the tenant. * If this field is specified, the specified gateway will be used to process the payment.
  - `currencyCode` (string, optional) — The currency used for payment method authorization.
  - `email` (string, optional) — Email address associated with the payment method. This field is specific for setting up Apple Pay on Adyen v2.0. This field will be passed to Adyen as `shopperEmail`.
  - `gatewayOptions` (CreatePaymentMethodApplePayAdyenGatewayOptions, optional) — The field used to pass gateway-specific parameters and parameter values. The fields supported by gateways vary. For more information, see the Overview topic of each gateway integration in [Zuora Knowledge Center](https://knowledgecenter.zuora.com/Zuora_Billing/Billing_and_Payments/M_Payment_Gateways/Supported_Payment_Gateways). Zuora sends all the information that you specified to the gateway. If you specify any unsupported gateway option parameters, they will be ignored without error prompts.
  - `ipAddress` (string, optional) — The IPv4 or IPv6 information of the user when the payment method is created or updated. Some gateways use this field for fraud prevention. If this field is passed to Zuora, Zuora directly passes it to gateways. If the IP address length is beyond 45 characters, a validation error occurs. For validating SEPA payment methods on Stripe v2, this field is required.
  - `makeDefault` (boolean, optional, default: false) — Specifies whether the payment method will be the default payment method of the customer account that owns the payment method. Only applicable if the `accountKey` field is set. When you set this field to `true`, make sure the payment method is supported by the default payment gateway.
  - `skipValidation` (boolean, optional, default: false) — Specify whether to skip the validation of the information through the payment gateway. For example, when migrating your payment methods, you can set this field to `true` to skip the validation.
- `type`: `AdyenGooglePay` (AdyenGooglePay)
  - `googlePaymentToken` (string, required) — This field is specific for setting up Google Pay for Adyen gateway integrations to specify the stringified Google Pay token. For more information, see [Set up Adyen Google Pay](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/L_Payment_Methods/Payment_Method_Types/Set_up_Adyen_Google_Pay).
  - `accountKey` (string, optional) — The customer account ID such as `2x92c0f859b0480f0159d3a4a6ee5bb6` or the customer account number such as `A02855638`. To create an orphan payment method that is not associated with any customer account, you can skip this field. As soon as the account information is available, associate the payment method with an account through the [Update a payment method](https://developer.zuora.com/v1-api-reference/api/operation/PUT_PaymentMethod/) operation.
  - `authGateway` (string, optional) — Internal ID of the payment gateway that Zuora will use to authorize the payments that are made with the payment method. If you do not set this field, Zuora will use one of the following payment gateways instead: * The default payment gateway of the customer account that owns the payment method, if the `accountKey` field is set. * The default payment gateway of your Zuora tenant, if the `accountKey` field is not set. If Payment Gateway Routing is enabled: * If this field is not specified, gateway routing rules will be invoked. * If this field is specified, the specified gateway will be used to process the payment. If Payment Gateway Routing is disabled: * If this field is not specified, the default payment gateway will be used to process the payment. The default gateway of the customer account takes precedence over the default gateway of the tenant. * If this field is specified, the specified gateway will be used to process the payment.
  - `currencyCode` (string, optional) — The currency used for payment method authorization.
  - `email` (string, optional) — Email address associated with the payment method. This field is specific for setting up Google Pay on Adyen v2.0. This field will be passed to Adyen as `shopperEmail`.
  - `gatewayOptions` (CreatePaymentMethodGooglePayAdyenGatewayOptions, optional) — The field used to pass gateway-specific parameters and parameter values. The fields supported by gateways vary. For more information, see the Overview topic of each gateway integration in [Zuora Knowledge Center](https://knowledgecenter.zuora.com/Zuora_Billing/Billing_and_Payments/M_Payment_Gateways/Supported_Payment_Gateways). Zuora sends all the information that you specified to the gateway. If you specify any unsupported gateway option parameters, they will be ignored without error prompts.
  - `ipAddress` (string, optional) — The IPv4 or IPv6 information of the user when the payment method is created or updated. Some gateways use this field for fraud prevention. If this field is passed to Zuora, Zuora directly passes it to gateways. If the IP address length is beyond 45 characters, a validation error occurs. For validating SEPA payment methods on Stripe v2, this field is required.
  - `makeDefault` (boolean, optional, default: false) — Specifies whether the payment method will be the default payment method of the customer account that owns the payment method. Only applicable if the `accountKey` field is set. When you set this field to `true`, make sure the payment method is supported by the default payment gateway.
  - `skipValidation` (boolean, optional, default: false) — Specify whether to skip the validation of the information through the payment gateway. For example, when migrating your payment methods, you can set this field to `true` to skip the validation.
- `type`: `GooglePay` (GooglePay)
  - `googlePaymentToken` (string, required) — This field is specific for setting up Google Pay on Chase gateway integrations to specify the stringified Google Pay token. For more information, see [Set up Google Pay on Chase](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/L_Payment_Methods/Payment_Method_Types/Set_up_Google_Pay_on_Chase).
  - `accountKey` (string, optional) — The customer account ID such as `2x92c0f859b0480f0159d3a4a6ee5bb6` or the customer account number such as `A02855638`. To create an orphan payment method that is not associated with any customer account, you can skip this field. As soon as the account information is available, associate the payment method with an account through the [Update a payment method](https://developer.zuora.com/v1-api-reference/api/operation/PUT_PaymentMethod/) operation.
  - `authGateway` (string, optional) — Internal ID of the payment gateway that Zuora will use to authorize the payments that are made with the payment method. If you do not set this field, Zuora will use one of the following payment gateways instead: * The default payment gateway of the customer account that owns the payment method, if the `accountKey` field is set. * The default payment gateway of your Zuora tenant, if the `accountKey` field is not set. If Payment Gateway Routing is enabled: * If this field is not specified, gateway routing rules will be invoked. * If this field is specified, the specified gateway will be used to process the payment. If Payment Gateway Routing is disabled: * If this field is not specified, the default payment gateway will be used to process the payment. The default gateway of the customer account takes precedence over the default gateway of the tenant. * If this field is specified, the specified gateway will be used to process the payment.
  - `currencyCode` (string, optional) — The currency used for payment method authorization.
  - `gatewayOptions` (CreatePaymentMethodGooglePayChaseGatewayOptions, optional) — The field used to pass gateway-specific parameters and parameter values. The fields supported by gateways vary. For more information, see the Overview topic of each gateway integration in [Zuora Knowledge Center](https://knowledgecenter.zuora.com/Zuora_Billing/Billing_and_Payments/M_Payment_Gateways/Supported_Payment_Gateways). Zuora sends all the information that you specified to the gateway. If you specify any unsupported gateway option parameters, they will be ignored without error prompts.
  - `ipAddress` (string, optional) — The IPv4 or IPv6 information of the user when the payment method is created or updated. Some gateways use this field for fraud prevention. If this field is passed to Zuora, Zuora directly passes it to gateways. If the IP address length is beyond 45 characters, a validation error occurs. For validating SEPA payment methods on Stripe v2, this field is required.
  - `makeDefault` (boolean, optional, default: false) — Specifies whether the payment method will be the default payment method of the customer account that owns the payment method. Only applicable if the `accountKey` field is set. When you set this field to `true`, make sure the payment method is supported by the default payment gateway.
  - `skipValidation` (boolean, optional, default: false) — Specify whether to skip the validation of the information through the payment gateway. For example, when migrating your payment methods, you can set this field to `true` to skip the validation.
- `type`: `AmazonPay` (AmazonPay)
  - `amazonPayToken` (string, required) — This field is specific for setting up Amazon Pay gateway integrations to specify the stringified Amazon Pay token.
  - `accountKey` (string, optional) — The customer account ID such as `2x92c0f859b0480f0159d3a4a6ee5bb6` or the customer account number such as `A02855638`. To create an orphan payment method that is not associated with any customer account, you can skip this field. As soon as the account information is available, associate the payment method with an account through the [Update a payment method](https://developer.zuora.com/v1-api-reference/api/operation/PUT_PaymentMethod/) operation.
  - `authGateway` (string, optional) — Internal ID of the payment gateway that Zuora will use to authorize the payments that are made with the payment method. If you do not set this field, Zuora will use one of the following payment gateways instead: * The default payment gateway of the customer account that owns the payment method, if the `accountKey` field is set. * The default payment gateway of your Zuora tenant, if the `accountKey` field is not set. If Payment Gateway Routing is enabled: * If this field is not specified, gateway routing rules will be invoked. * If this field is specified, the specified gateway will be used to process the payment. If Payment Gateway Routing is disabled: * If this field is not specified, the default payment gateway will be used to process the payment. The default gateway of the customer account takes precedence over the default gateway of the tenant. * If this field is specified, the specified gateway will be used to process the payment.
  - `currencyCode` (string, optional) — The currency used for payment method authorization.
  - `gatewayOptions` (CreatePaymentMethodAmazonPayGatewayOptions, optional) — The field used to pass gateway-specific parameters and parameter values. The fields supported by gateways vary. For more information, see the Overview topic of each gateway integration in [Zuora Knowledge Center](https://knowledgecenter.zuora.com/Zuora_Billing/Billing_and_Payments/M_Payment_Gateways/Supported_Payment_Gateways). Zuora sends all the information that you specified to the gateway. If you specify any unsupported gateway option parameters, they will be ignored without error prompts.
  - `ipAddress` (string, optional) — The IPv4 or IPv6 information of the user when the payment method is created or updated. Some gateways use this field for fraud prevention. If this field is passed to Zuora, Zuora directly passes it to gateways. If the IP address length is beyond 45 characters, a validation error occurs. For validating SEPA payment methods on Stripe v2, this field is required.
  - `makeDefault` (boolean, optional, default: false) — Specifies whether the payment method will be the default payment method of the customer account that owns the payment method. Only applicable if the `accountKey` field is set. When you set this field to `true`, make sure the payment method is supported by the default payment gateway.
  - `skipValidation` (boolean, optional, default: false) — Specify whether to skip the validation of the information through the payment gateway. For example, when migrating your payment methods, you can set this field to `true` to skip the validation.

### ShipToContactPostOrder

Container for custom fields of a Contact object.

- `firstName` (string, required) — First name of the contact.
- `lastName` (string, required) — Last name of the contact.
- `address1` (string, optional) — First line of the contact's address. This is often a street address or a business name.
- `address2` (string, optional) — Second line of the contact's address.
- `city` (string, optional) — City of the contact's address.
- `contactDescription` (string, optional) — A description for the contact.
- `country` (string, optional) — Country; must be a valid country name or abbreviation.
- `county` (string, optional) — County of the contact's address.
- `fax` (string, optional) — Fax number of the contact.
- `homePhone` (string, optional) — Home phone number of the contact.
- `mobilePhone` (string, optional) — Mobile phone number of the contact.
- `nickname` (string, optional) — Nickname of the contact.
- `otherPhone` (string, optional) — Additional phone number of the contact. Use the `otherPhoneType` field to specify the type of phone number.
- `otherPhoneType` (enum, optional) — Specifies the type of phone number in the `otherPhone` field.
  - Allowed values: `Work`, `Mobile`, `Home`, `Other`
- `personalEmail` (string, optional) — Personal email address of the contact.
- `postalCode` (string, optional) — ZIP code or other postal code of the contact's address.
- `state` (string, optional) — State or province of the contact's address.
- `taxRegion` (string, optional, nullable) — Region defined in your taxation rules. Only applicable if you use Zuora Tax.
- `workEmail` (string, optional) — Business email address of the contact.
- `workPhone` (string, optional) — Business phone number of the contact.

### SoldToContactPostOrder

Container for custom fields of a Contact object.

- `firstName` (string, required) — First name of the contact.
- `lastName` (string, required) — Last name of the contact.
- `address1` (string, optional) — First line of the contact's address. This is often a street address or a business name.
- `address2` (string, optional) — Second line of the contact's address.
- `city` (string, optional) — City of the contact's address.
- `contactDescription` (string, optional) — A description for the contact.
- `country` (string, optional) — Country; must be a valid country name or abbreviation. If using Zuora Tax, you must specify a country in the sold-to contact to calculate tax. A bill-to contact may be used if no sold-to contact is provided.
- `county` (string, optional) — County of the contact's address.
- `fax` (string, optional) — Fax number of the contact.
- `homePhone` (string, optional) — Home phone number of the contact.
- `mobilePhone` (string, optional) — Mobile phone number of the contact.
- `nickname` (string, optional) — Nickname of the contact.
- `otherPhone` (string, optional) — Additional phone number of the contact. Use the `otherPhoneType` field to specify the type of phone number.
- `otherPhoneType` (enum, optional) — Specifies the type of phone number in the `otherPhone` field.
  - Allowed values: `Work`, `Mobile`, `Home`, `Other`
- `personalEmail` (string, optional) — Personal email address of the contact.
- `postalCode` (string, optional) — ZIP code or other postal code of the contact's address.
- `state` (string, optional) — State or province of the contact's address.
- `taxRegion` (string, optional, nullable) — Region defined in your taxation rules. Only applicable if you use Zuora Tax.
- `workEmail` (string, optional) — Business email address of the contact.
- `workPhone` (string, optional) — Business phone number of the contact.

### TaxInfo

Information about the tax exempt status of a customer account.

- `VATId` (string, optional) — EU Value Added Tax ID. **Note:** This feature is in Limited Availability. If you wish to have access to the feature, submit a request at [Zuora Global Support](https://support.zuora.com).
- `companyCode` (string, optional) — Unique code that identifies a company account in Avalara. Use this field to calculate taxes based on origin and sold-to addresses in Avalara. **Note:** This feature is in Limited Availability. If you wish to have access to the feature, submit a request at [Zuora Global Support](https://support.zuora.com).
- `exemptCertificateId` (string, optional) — ID of the customer tax exemption certificate. Applicable if you use Zuora Tax or Connect tax engines.
- `exemptCertificateType` (string, optional) — Type of tax exemption certificate that the customer holds. Applicable if you use Zuora Tax or Connect tax engines.
- `exemptDescription` (string, optional) — Description of the tax exemption certificate that the customer holds. Applicable if you use Zuora Tax or Connect tax engines.
- `exemptEffectiveDate` (date, optional) — Date when the customer tax exemption starts, in YYYY-MM-DD format. Applicable if you use Zuora Tax or Connect tax engines.
- `exemptExpirationDate` (date, optional) — Date when the customer tax exemption expires, in YYYY-MM-DD format. Applicable if you use Zuora Tax or Connect tax engines.
- `exemptIssuingJurisdiction` (string, optional) — Jurisdiction in which the customer tax exemption certificate was issued.
- `exemptStatus` (enum, optional, default: No) — Status of the account tax exemption. Applicable if you use Zuora Tax or Connect tax engines. Required if you use Zuora Tax.
  - Allowed values: `No`, `Yes`, `PendingVerification`

### ProcessingOptionsOrdersWithDelayedCapturePaymentBillingOptions

- `creditMemoReasonCode` (string, optional) — A code identifying the reason for the credit memo transaction that is generated by the request. The value must be an existing reason code. If you do not pass the field or pass the field with empty value, Zuora uses the default reason code.
- `documentDate` (date, optional) — The invoice date displayed on the invoice.
- `generateDraftInvoice` (boolean, optional) — Indicates if the current request needs to generate a draft invoice. Values are: * `true` * `false` (default)
- `targetDate` (date, optional) — Date through which to calculate charges if an invoice is generated. See [What is a Target Date?](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/J_Billing_Operations/G_Bill_Runs/Creating_Bill_Runs#What_is_a_Target_Date.3F). **Note**: If you do not specify this field, today's date is used by default.
- `chargeTypeToExclude` (list of enum, optional) — The types of the charges to be excluded from the generation of billing documents.
  - Allowed values: `OneTime`, `Recurring`, `Usage`

### ProcessingOptionsOrdersWithDelayedCapturePaymentElectronicPaymentOptions

Container for the electronic payment options.

- `authTransactionId` (string, optional) — The authorization transaction ID from the payment gateway. When you create a payment to capture the funds that have been authorized through [Create authorization](https://developer.zuora.com/api-references/api/operation/POST_CreateAuthorization/), pass in the `authTransactionId` field. It is highly recommended to also pass in `gatewayOrderId` that you used when authorizing the funds. `authTransactionId` is required, while `gatewayOrderId` is optional.
- `gatewayOrderId` (string, optional) — A merchant-specified natural key value that can be passed to the electronic payment gateway when a payment is created. If not specified, the payment number will be passed in instead. Gateways check duplicates on the gateway order ID to ensure that the same transaction is not entered twice accidentally. This ID can also be used to do reconciliation and tie the payment to a natural key in external systems. The source of this ID varies by merchant. Some merchants use shopping cart order IDs, and others use something different. Merchants use this ID to track transactions in their eCommerce systems. When you create a payment to capture the funds that have been authorized through [Create authorization](https://developer.zuora.com/api-references/api/operation/POST_CreateAuthorization/), pass in the `authTransactionId` field. It is highly recommended to also pass in `gatewayOrderId` that you used when authorizing the funds. `authTransactionId` is required, while `gatewayOrderId` is optional.
- `paymentGatewayId` (string, optional) — Specifies the ID of a payment gateway to override the default gateway. If Payment Gateway Routing is enabled: * If this field is not specified, gateway routing rules will be invoked. * If this field is specified, the specified gateway will be used to process the payment. If Payment Gateway Routing is disabled: * If this field is not specified, the default payment gateway will be used to process the payment. The default gateway of the customer account takes precedence over the default gateway of the tenant. * If this field is specified, the specified gateway will be used to process the payment.
- `paymentMethodId` (string, optional) — Specifies an electronic payment method. It can be one that has already been associated with an invoice owner, or an orphan payment method, which is not associated with any invoice owner. For an orphan payment method, this operation will then associate it with the account that this order will be created under.
- `gatewayOptions` (map from string to string, optional) — The field used to pass gateway-specific parameters and parameter values. The fields supported by gateways vary. For more information, see the overview topic of each gateway integration in Zuora Knowledge Center. Zuora sends all the information that you specified to the gateway. If you specify any unsupported gateway option parameters, they will be ignored without error prompts.
- `mitTransactionSource` (enum, optional) — Payment transaction source used by the Chase payment gateway to differentiate the transaction source in Stored Credential Transaction framework. - `C_Unscheduled`: Cardholder-initiated transaction (CIT) that does not occur on scheduled or regularly occurring dates. - `M_Recurring`: Merchant-initiated transaction (MIT) that occurs at regular intervals. - `M_Unscheduled`: Merchant-initiated transaction (MIT) that does not occur on scheduled or regularly occurring dates.
  - Allowed values: `C_Unscheduled`, `M_Recurring`, `M_Unscheduled`

### ProcessingOptionsOrdersWithDelayedCapturePaymentWriteOffBehavior

The financial information of the credit memo items generated to write off the invoice balance. **Note:** - All the credit memo items that are used to write off the invoice will be applied with the same financial information. - Credit memo items generated from the unconsumed services of the canceled subscription will not be applied with the finance information specified here.

- `financeInformation` (ProcessingOptionsOrdersWithDelayedCapturePaymentWriteOffBehaviorFinanceInformation, optional) — Container for the finance information related to the credit memo items that are created for invoice write-off.

### SubscriptionObjectCustomFields

Container for custom fields of a Subscription object.

### CreateOrderOrderAction

- `type` (enum, required) — Type of order action. Unless the type of order action is `RenewSubscription`, you must use the corresponding field to provide information about the order action. For example, if the type of order action is `AddProduct`, you must set the `addProduct` field. Zuora returns an error if you set a field that corresponds to a different type of order action. For example, if the type of order action is `AddProduct`, Zuora returns an error if you set the `updateProduct` field. A [pending order](https://knowledgecenter.zuora.com/BC_Subscription_Management/Orders/Pending_Order_and_Subscription) supports the following order actions: * CreateSubscription * AddProduct * UpdateProduct * RemoveProduct * RenewSubscription * TermsAndConditions * ChangePlan However, pending orders created through all order actions except for "Create new subscription": * Do not impact the subscription status. * Are in **Limited Availability**. If you want to have access to the feature, submit a request at [Zuora Global Support](https://support.zuora.com). A pending order is created in either of the following conditions: * [Zuora is configured to require service activation](https://knowledgecenter.zuora.com/CB_Billing/Billing_Settings/Define_Default_Subscription_Settings#Require_Service_Activation_of_Orders.3F) and the service activation date is not set in your "Create an order" call. * [Zuora is configured to require customer acceptance](https://knowledgecenter.zuora.com/CB_Billing/Billing_Settings/Define_Default_Subscription_Settings#Require_Customer_Acceptance_of_Orders.3F) and the customer acceptance date is not set in your "Create an order" call. * When a charge in the subscription has its `triggerEvent` field set as `SpecificDate` and the `specificTriggerDate` field is not set in your "Create an order" API call. **Note**: The change plan type of order action is supported for the Order to Revenue feature. However, it is currently not supported for the Billing - Revenue Integration feature. When Billing - Revenue Integration is enabled, the change plan type of order action will no longer be applicable in Zuora Billing.
  - Allowed values: `CreateSubscription`, `TermsAndConditions`, `AddProduct`, `UpdateProduct`, `RemoveProduct`, `RenewSubscription`, `CancelSubscription`, `OwnerTransfer`, `Suspend`, `Resume`, `ChangePlan`
- `addProduct` (CreateOrderRatePlanOverride, optional) — Information about an order action of type `AddProduct`. If you want to create a pending order through the "Add product" order action, and if the charge's trigger condition is `Specific Date`, you must set a charge number in the `chargeNumber` field for the "Add product" order action. In this case, if you do not set it, Zuora will not generate the charge number for you. See more information about pending orders in Pending orders and subscriptions.
- `cancelSubscription` (CancelSubscription, optional) — Information about an order action of type `CancelSubscription`.
- `changePlan` (CreateChangePlan, optional) — Information about an order action of type `ChangePlan`. Use the change plan type of order action to replace the existing rate plans in a subscription with other rate plans. **Note**: The change plan type of order action is supported for the Order to Revenue feature. However, it is currently not supported for the Billing - Revenue Integration feature. When Billing - Revenue Integration is enabled, the change plan type of order action will no longer be applicable in Zuora Billing. If you want to create a pending order through the "change plan" order action, and if the charge's trigger condition is `Specific Date`, you must set a charge number in the `chargeNumber` field for the "change plan" order action. In this case, if you do not set it, Zuora will not generate the charge number for you. See more information about pending orders in Pending orders and subscriptions.
- `changeReason` (string, optional) — The change reason set for an order action when an order is created.
- `createSubscription` (CreateOrderCreateSubscription, optional) — Information about an order action of type `CreateSubscription`.
- `customFields` (map from string to any, optional) — Container for custom fields of an Order Action object.
- `ownerTransfer` (OwnerTransfer, optional) — Information about an order action of type `OwnerTransfer`. **Note:** The Owner Transfer feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).
- `removeProduct` (RemoveProduct, optional) — Information about an order action of type `RemoveProduct`.
- `renewSubscription` (RenewSubscription, optional) — Information about an order action of type `RenewSubscription`.
- `resume` (CreateOrderResume, optional) — Information about an order action of type `Resume`.
- `suspend` (CreateOrderSuspend, optional) — Information about an order action of type `Suspend`.
- `termsAndConditions` (CreateOrderTermsAndConditions, optional) — Information about an order action of type `TermsAndConditions`.
- `triggerDates` (list of TriggerDate, optional) — Container for the contract effective, service activation, and customer acceptance dates of the order action. If [Zuora is configured to require service activation](https://knowledgecenter.zuora.com/CB_Billing/Billing_Settings/Define_Default_Subscription_Settings#Require_Service_Activation_of_Orders.3F) and the `ServiceActivation` field is not set for a `CreateSubscription` order action, a `Pending` order and a `Pending Activation` subscription are created. If [Zuora is configured to require customer acceptance](https://knowledgecenter.zuora.com/CB_Billing/Billing_Settings/Define_Default_Subscription_Settings#Require_Customer_Acceptance_of_Orders.3F) and the `CustomerAcceptance` field is not set for a `CreateSubscription` order action, a `Pending` order and a `Pending Acceptance` subscription are created. At the same time, if the service activation date field is also required and not set, a `Pending` order and a `Pending Activation` subscription are created instead. If [Zuora is configured to require service activation](https://knowledgecenter.zuora.com/CB_Billing/Billing_Settings/Define_Default_Subscription_Settings#Require_Service_Activation_of_Orders.3F) and the `ServiceActivation` field is not set for either of the following order actions, a `Pending` order is created. The subscription status is not impacted. **Note:** This feature is in **Limited Availability**. If you want to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/). * AddProduct * UpdateProduct * RemoveProduct * RenewSubscription * TermsAndConditions If [Zuora is configured to require customer acceptance](https://knowledgecenter.zuora.com/CB_Billing/Billing_Settings/Define_Default_Subscription_Settings#Require_Customer_Acceptance_of_Orders.3F) and the `CustomerAcceptance` field is not set for either of the following order actions, a `Pending` order is created. The subscription status is not impacted. **Note:** This feature is in **Limited Availability**. If you want to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/). * AddProduct * UpdateProduct * RemoveProduct * RenewSubscription * TermsAndConditions
- `updateProduct` (CreateOrderRatePlanUpdate, optional) — Information about an order action of type `UpdateProduct`.

### QuoteObjectFields

The fields populated for a quote when a quote is sent to Zuora Billing from Zuora Quote.

- `OpportunityCloseDate__QT` (string, optional) — The closing date of the Opportunity. This field is used in Zuora Reporting Data Sources to report on Subscription metrics. If the subscription was originated from Zuora Quotes, the value is populated with the value from Zuora Quotes.
- `OpportunityName__QT` (string, optional) — The unique identifier of the Opportunity. This field is used in the Zuora Reporting Data Sources to report on Subscription metrics. If the subscription was originated from Zuora Quotes, the value is populated with the value from Zuora Quotes. **Character limit**: 100
- `QuoteBusinessType__QT` (string, optional) — The specific identifier for the type of business transaction the Quote represents such as New, Upsell, Downsell, Renewal or Churn. This field is used in the Zuora Reporting Data Sources to report on Subscription metrics. If the subscription was originated from Zuora Quotes, the value is populated with the value from Zuora Quotes. **Character limit**: 32
- `QuoteNumber__QT` (string, optional) — The unique identifier of the Quote. This field is used in the Zuora Reporting Data Sources to report on Subscription metrics. If the subscription was originated from Zuora Quotes, the value is populated with the value from Zuora Quotes. **Character limit**: 32
- `QuoteType__QT` (string, optional) — The Quote type that represents the subscription lifecycle stage such as New, Amendment, Renew or Cancel. This field is used in the Zuora Reporting Data Sources to report on Subscription metrics. If the subscription was originated from Zuora Quotes, the value is populated with the value from Zuora Quotes. **Character limit**: 32

### RampRequest

Container of the ramp definitions. It is used to create, update, or remove the ramp definition for the new subscription.

- `charges` (list of RampChargeRequest, optional) — Container for the rate plan charges that are considered as part of the ramp deal. * If this field is not specified, all the one-time and recurring regular charges of the new subscription are automatically considered as part of the ramp deal. * If this field is specified, either 'chargeNumber' or 'uniqueToken' must be specified.
- `delete` (boolean, optional) — Whether to remove the ramp definition from the new subscription. If you want to remove the ramp definition, this field is the only required field for the `ramp` object.
- `description` (string, optional) — The short description of the ramp.
- `intervals` (list of RampIntervalRequest, optional) — Container for the intervals that the ramp is split into in its timeline. It is required when you want to create or update the ramp definition. The ramp intervals cannot have any overlap or gap between each other.
- `name` (string, optional) — The name of the ramp.

### CommitmentOutputSchedulesItems

- `id` (string, optional) — The ID of the schedule.
- `startDate` (string, optional) — The start date of the schedule.
- `endDate` (string, optional) — The end date of the schedule.
- `prepaymentDefinition` (PrepaymentDefinition, optional) — The prepayment definition for the commitment schedule.
- `totalAmount` (double, optional) — The total amount of the schedule.
- `status` (enum, optional) — The status of the schedule.
  - Allowed values: `Active`, `Evaluated`, `Cancelled`, `CancelledPendingEvaluation`

### AccountCreditCardHolder

Information about the cardholder of a credit card payment method associated with an account. If you do not provide information about the cardholder, Zuora uses the account's bill-to contact.

- `addressLine1` (string, optional) — First line of the cardholder's address.
- `addressLine2` (string, optional) — Second line of the cardholder's address.
- `cardHolderName` (string, optional) — Full name of the cardholder as it appears on the card. For example, "John J Smith", 50 characters or less. The value must consist only of US-ASCII characters and must not include special characters.
- `city` (string, optional) — City of the cardholder's address. It is recommended to provide the city and country information when creating a payment method. The information will be used to process payments. If the information is not provided during payment method creation, the city and country data will be missing during payment processing.
- `country` (string, optional) — Country of the cardholder's address. The value of this field must be a valid country name or abbreviation. It is recommended to provide the city and country information when creating a payment method. The information will be used to process payments. If the information is not provided during payment method creation, the city and country data will be missing during payment processing.
- `email` (string, optional) — Email address of the cardholder.
- `phone` (string, optional) — Phone number of the cardholder.
- `state` (string, optional) — State or province of the cardholder's address.
- `zipCode` (string, optional) — ZIP code or other postal code of the cardholder's address.

### CreatePaymentMethodCardholderInfo

Container for cardholder information. The nested `cardHolderName` field is required.

- `cardHolderName` (string, required) — The card holder's full name as it appears on the card, e.g., "John J Smith", 50 characters or less. The value must consist only of US-ASCII characters and must not include special characters.
- `addressLine1` (string, optional) — First address line, 255 characters or less.
- `addressLine2` (string, optional) — Second address line, 255 characters or less.
- `city` (string, optional) — City, 40 characters or less. It is recommended to provide the city and country information when creating a payment method. The information will be used to process payments. If the information is not provided during payment method creation, the city and country data will be missing during payment processing.
- `country` (string, optional) — Country, must be a valid country name or abbreviation. It is recommended to provide the city and country information when creating a payment method. The information will be used to process payments. If the information is not provided during payment method creation, the city and country data will be missing during payment processing.
- `email` (string, optional) — Card holder's email address, 80 characters or less.
- `phone` (string, optional) — Phone number, 40 characters or less.
- `state` (string, optional) — State; must be a valid subregion (state or province) name or code. For more information, see View subregions of a specific country or region.
- `zipCode` (string, optional) — Zip code, 20 characters or less.

### CreatePaymentMethodCreditCardGatewayOptions

The field used to pass gateway-specific parameters and parameter values. The fields supported by gateways vary. For more information, see the Overview topic of each gateway integration in [Zuora Knowledge Center](https://knowledgecenter.zuora.com/Zuora_Billing/Billing_and_Payments/M_Payment_Gateways/Supported_Payment_Gateways). Zuora sends all the information that you specified to the gateway. If you specify any unsupported gateway option parameters, they will be ignored without error prompts.

- `key` (string, optional) — The name of a gateway-specific parameter.
- `value` (string, optional) — The value of the gateway-specific parameter.

### CreatePaymentMethodCreditCardMandateInfo

The container of the mandate information for the payment method.

- `mandateId` (string, optional) — The mandate ID.
- `mandateReason` (string, optional) — The reason of the mandate from the gateway side.
- `mandateStatus` (string, optional) — The status of the mandate from the gateway side.

### CreatePaymentMethodCreditCardProcessingOptions

The container for payment method processing options.

- `checkDuplicated` (boolean, optional) — Indicates whether to perform a duplication check when you create a payment method. The default value is `false`. With this field set to `true`, Zuora will check the active and closed payment methods associated with the same billing account to ensure that no duplicate payment methods are created. For more information, see Duplication check on payment methods.

### CreatePaymentMethodCreditCardTokens

To create tokenized payment methods, pass in the existing token information through the fields in this container. Currently, this field is only supported on certain integrations. See this article for more information.

- `gatewayType` (string, required) — The type of the payment gateway to generate the tokens. This field is case-sensitive.
- `tokenId` (string, required) — Pass in the first token of the payment method.
- `secondTokenId` (string, optional) — Pass in the second token of the payment method.
- `thirdTokenId` (string, optional) — Pass in the third token of the payment method.

### CreatePaymentMethodCcReferenceTransactionGatewayOptions

The field used to pass gateway-specific parameters and parameter values. The fields supported by gateways vary. For more information, see the Overview topic of each gateway integration in [Zuora Knowledge Center](https://knowledgecenter.zuora.com/Zuora_Billing/Billing_and_Payments/M_Payment_Gateways/Supported_Payment_Gateways). Zuora sends all the information that you specified to the gateway. If you specify any unsupported gateway option parameters, they will be ignored without error prompts.

- `key` (string, optional) — The name of a gateway-specific parameter.
- `value` (string, optional) — The value of the gateway-specific parameter.

### CreatePaymentMethodCcReferenceTransactionMandateInfo

The container of the mandate information for the payment method.

- `mandateId` (string, optional) — The mandate ID.
- `mandateReason` (string, optional) — The reason of the mandate from the gateway side.
- `mandateStatus` (string, optional) — The status of the mandate from the gateway side.

### CreatePaymentMethodAchGatewayOptions

The field used to pass gateway-specific parameters and parameter values. The fields supported by gateways vary. For more information, see the Overview topic of each gateway integration in [Zuora Knowledge Center](https://knowledgecenter.zuora.com/Zuora_Billing/Billing_and_Payments/M_Payment_Gateways/Supported_Payment_Gateways). Zuora sends all the information that you specified to the gateway. If you specify any unsupported gateway option parameters, they will be ignored without error prompts.

- `key` (string, optional) — The name of a gateway-specific parameter.
- `value` (string, optional) — The value of the gateway-specific parameter.

### CreatePaymentMethodAchMandateInfo

The container of the mandate information for the payment method.

- `mandateId` (string, optional) — The mandate ID.
- `mandateReason` (string, optional) — The reason of the mandate from the gateway side.
- `mandateStatus` (string, optional) — The status of the mandate from the gateway side.

### CreatePaymentMethodAchProcessingOptions

The container for payment method processing options.

- `checkDuplicated` (boolean, optional) — Indicates whether to perform a duplication check when you create a payment method. The default value is `false`. With this field set to `true`, Zuora will check the active and closed payment methods associated with the same billing account to ensure that no duplicate payment methods are created. For more information, see Duplication check on payment methods.

### CreatePaymentMethodAchTokens

To create tokenized payment methods, pass in the existing token information through the fields in this container. Currently, this field is only supported on certain integrations. See this article for more information.

- `gatewayType` (string, required) — The type of the payment gateway to generate the tokens. This field is case-sensitive.
- `tokenId` (string, required) — Pass in the first token of the payment method.
- `secondTokenId` (string, optional) — Pass in the second token of the payment method.
- `thirdTokenId` (string, optional) — Pass in the third token of the payment method.

### CreatePaymentMethodSepaAccountHolderInfo

The container for the account holder information. The nested `accountHolderName` field is required. However, for the creation of tokenized SEPA payment methods, this field is optional. Currently, SEPA tokenization is supported on selected payment gateway integrations. See this article for more information.

- `accountHolderName` (string, required) — The full name of the bank account holder.
- `addressLine1` (string, optional) — The first line of the address for the account holder. This field is required for SEPA Direct Debit payment methods on Stripe v2 for [certain countries](https://stripe.com/docs/payments/sepa-debit/set-up-payment?platform=web#web-submit-payment-method).
- `addressLine2` (string, optional) — The second line of the address for the account holder.
- `city` (string, optional) — The city where the account holder stays. It is recommended to provide the city and country information when creating a payment method. The information will be used to process payments. If the information is not provided during payment method creation, the city and country data will be missing during payment processing.
- `country` (string, optional) — The country where the account holder stays. This field is required for SEPA payment methods on Stripe v2 for [certain countries](https://stripe.com/docs/payments/sepa-debit/set-up-payment?platform=web#web-submit-payment-method).
- `email` (string, optional) — The email address of the account holder.
- `firstName` (string, optional) — The first name of the account holder.
- `lastName` (string, optional) — The last name of the account holder.
- `phone` (string, optional) — The phone number of the account holder.
- `state` (string, optional) — The state where the account holder stays.
- `zipCode` (string, optional) — The zip code for the address of the account holder.

### CreatePaymentMethodSepaGatewayOptions

The field used to pass gateway-specific parameters and parameter values. The fields supported by gateways vary. For more information, see the Overview topic of each gateway integration in [Zuora Knowledge Center](https://knowledgecenter.zuora.com/Zuora_Billing/Billing_and_Payments/M_Payment_Gateways/Supported_Payment_Gateways). Zuora sends all the information that you specified to the gateway. If you specify any unsupported gateway option parameters, they will be ignored without error prompts.

- `key` (string, optional) — The name of a gateway-specific parameter.
- `value` (string, optional) — The value of the gateway-specific parameter.

### CreatePaymentMethodSepaMandateInfo

The container of the mandate information for the payment method.

- `mandateId` (string, optional) — The mandate ID.
- `mandateReason` (string, optional) — The reason of the mandate from the gateway side.
- `mandateStatus` (string, optional) — The status of the mandate from the gateway side.

### CreatePaymentMethodSepaProcessingOptions

The container for payment method processing options.

- `checkDuplicated` (boolean, optional) — Indicates whether to perform a duplication check when you create a payment method. The default value is `false`. With this field set to `true`, Zuora will check the active and closed payment methods associated with the same billing account to ensure that no duplicate payment methods are created. For more information, see Duplication check on payment methods.

### CreatePaymentMethodSepaTokens

To create tokenized payment methods, pass in the existing token information through the fields in this container. Currently, SEPA tokenization is supported on selected payment gateway integrations. See this article for more information.

- `gatewayType` (enum, required) — The type of the payment gateway to generate the tokens. This field is case-sensitive.
  - Allowed values: `Adyen`, `Stripe`
- `tokenId` (string, required) — Pass in the first token of the payment method.
- `secondTokenId` (string, optional) — Pass in the second token of the payment method.
- `thirdTokenId` (string, optional) — Pass in the third token of the payment method.

### CreatePaymentMethodBetalingsserviceAccountHolderInfo

The container for the account holder information. The nested `accountHolderName` field is required.

- `accountHolderName` (string, optional) — Required. The full name of the bank account holder.
- `addressLine1` (string, optional) — The first line of the address for the account holder.
- `addressLine2` (string, optional) — The second line of the address for the account holder.
- `city` (string, optional) — The city where the account holder stays. It is recommended to provide the city and country information when creating a payment method. The information will be used to process payments. If the information is not provided during payment method creation, the city and country data will be missing during payment processing.
- `country` (string, optional) — The country where the account holder stays.
- `email` (string, optional) — The email address of the account holder.
- `firstName` (string, optional) — The first name of the account holder.
- `lastName` (string, optional) — The last name of the account holder.
- `phone` (string, optional) — The phone number of the account holder.
- `state` (string, optional) — The state where the account holder stays.
- `zipCode` (string, optional) — The zip code for the address of the account holder.

### CreatePaymentMethodBetalingsserviceGatewayOptions

The field used to pass gateway-specific parameters and parameter values. The fields supported by gateways vary. For more information, see the Overview topic of each gateway integration in [Zuora Knowledge Center](https://knowledgecenter.zuora.com/Zuora_Billing/Billing_and_Payments/M_Payment_Gateways/Supported_Payment_Gateways). Zuora sends all the information that you specified to the gateway. If you specify any unsupported gateway option parameters, they will be ignored without error prompts.

- `key` (string, optional) — The name of a gateway-specific parameter.
- `value` (string, optional) — The value of the gateway-specific parameter.

### CreatePaymentMethodBetalingsserviceMandateInfo

The container of the mandate information for the payment method.

- `mandateId` (string, optional) — The mandate ID.
- `mandateReason` (string, optional) — The reason of the mandate from the gateway side.
- `mandateStatus` (string, optional) — The status of the mandate from the gateway side.

### CreatePaymentMethodBetalingsserviceProcessingOptions

The container for payment method processing options.

- `checkDuplicated` (boolean, optional) — Indicates whether to perform a duplication check when you create a payment method. The default value is `false`. With this field set to `true`, Zuora will check the active and closed payment methods associated with the same billing account to ensure that no duplicate payment methods are created. For more information, see Duplication check on payment methods.

### CreatePaymentMethodAutogiroAccountHolderInfo

The container for the account holder information. The nested `accountHolderName` field is required.

- `accountHolderName` (string, optional) — Required. The full name of the bank account holder.
- `addressLine1` (string, optional) — The first line of the address for the account holder.
- `addressLine2` (string, optional) — The second line of the address for the account holder.
- `city` (string, optional) — The city where the account holder stays. It is recommended to provide the city and country information when creating a payment method. The information will be used to process payments. If the information is not provided during payment method creation, the city and country data will be missing during payment processing.
- `country` (string, optional) — The country where the account holder stays.
- `email` (string, optional) — The email address of the account holder.
- `firstName` (string, optional) — The first name of the account holder.
- `lastName` (string, optional) — The last name of the account holder.
- `phone` (string, optional) — The phone number of the account holder.
- `state` (string, optional) — The state where the account holder stays.
- `zipCode` (string, optional) — The zip code for the address of the account holder.

### CreatePaymentMethodAutogiroGatewayOptions

The field used to pass gateway-specific parameters and parameter values. The fields supported by gateways vary. For more information, see the Overview topic of each gateway integration in [Zuora Knowledge Center](https://knowledgecenter.zuora.com/Zuora_Billing/Billing_and_Payments/M_Payment_Gateways/Supported_Payment_Gateways). Zuora sends all the information that you specified to the gateway. If you specify any unsupported gateway option parameters, they will be ignored without error prompts.

- `key` (string, optional) — The name of a gateway-specific parameter.
- `value` (string, optional) — The value of the gateway-specific parameter.

### CreatePaymentMethodAutogiroMandateInfo

The container of the mandate information for the payment method.

- `mandateId` (string, optional) — The mandate ID.
- `mandateReason` (string, optional) — The reason of the mandate from the gateway side.
- `mandateStatus` (string, optional) — The status of the mandate from the gateway side.

### CreatePaymentMethodAutogiroProcessingOptions

The container for payment method processing options.

- `checkDuplicated` (boolean, optional) — Indicates whether to perform a duplication check when you create a payment method. The default value is `false`. With this field set to `true`, Zuora will check the active and closed payment methods associated with the same billing account to ensure that no duplicate payment methods are created. For more information, see Duplication check on payment methods.

### CreatePaymentMethodBacsAccountHolderInfo

The container for the account holder information. The nested `accountHolderName` field is required.

- `accountHolderName` (string, optional) — Required. The full name of the bank account holder.
- `addressLine1` (string, optional) — The first line of the address for the account holder.
- `addressLine2` (string, optional) — The second line of the address for the account holder.
- `city` (string, optional) — The city where the account holder stays. It is recommended to provide the city and country information when creating a payment method. The information will be used to process payments. If the information is not provided during payment method creation, the city and country data will be missing during payment processing.
- `country` (string, optional) — The country where the account holder stays.
- `email` (string, optional) — The email address of the account holder.
- `firstName` (string, optional) — The first name of the account holder.
- `lastName` (string, optional) — The last name of the account holder.
- `phone` (string, optional) — The phone number of the account holder.
- `state` (string, optional) — The state where the account holder stays.
- `zipCode` (string, optional) — The zip code for the address of the account holder.

### CreatePaymentMethodBacsGatewayOptions

The field used to pass gateway-specific parameters and parameter values. The fields supported by gateways vary. For more information, see the Overview topic of each gateway integration in [Zuora Knowledge Center](https://knowledgecenter.zuora.com/Zuora_Billing/Billing_and_Payments/M_Payment_Gateways/Supported_Payment_Gateways). Zuora sends all the information that you specified to the gateway. If you specify any unsupported gateway option parameters, they will be ignored without error prompts.

- `key` (string, optional) — The name of a gateway-specific parameter.
- `value` (string, optional) — The value of the gateway-specific parameter.

### CreatePaymentMethodBacsMandateInfo

The container of the mandate information for the payment method.

- `mandateId` (string, optional) — The mandate ID.
- `mandateReason` (string, optional) — The reason of the mandate from the gateway side.
- `mandateStatus` (string, optional) — The status of the mandate from the gateway side.

### CreatePaymentMethodBacsProcessingOptions

The container for payment method processing options.

- `checkDuplicated` (boolean, optional) — Indicates whether to perform a duplication check when you create a payment method. The default value is `false`. With this field set to `true`, Zuora will check the active and closed payment methods associated with the same billing account to ensure that no duplicate payment methods are created. For more information, see Duplication check on payment methods.

### CreatePaymentMethodBacsTokens

To create tokenized BACS payment methods on Stripe v2, pass in the existing token information through the fields in this container. For more information, see Overview of Stripe payment gateway integration.

- `gatewayType` (enum, optional) — Required. The type of the payment gateway to generate the tokens. This field is case-sensitive.
  - Allowed values: `Stripe`
- `secondTokenId` (string, optional) — Pass in the second token of the payment method. For more information, see Overview of Stripe payment gateway integration.
- `thirdTokenId` (string, optional) — Pass in the third token of the payment method.
- `tokenId` (string, optional) — Required. Pass in the first token of the payment method. For more information, see Overview of Stripe payment gateway integration.

### CreatePaymentMethodBecsAccountHolderInfo

The container for the account holder information. The nested `accountHolderName` field is required.

- `accountHolderName` (string, optional) — Required. The full name of the bank account holder.
- `addressLine1` (string, optional) — The first line of the address for the account holder.
- `addressLine2` (string, optional) — The second line of the address for the account holder.
- `city` (string, optional) — The city where the account holder stays. It is recommended to provide the city and country information when creating a payment method. The information will be used to process payments. If the information is not provided during payment method creation, the city and country data will be missing during payment processing.
- `country` (string, optional) — The country where the account holder stays.
- `email` (string, optional) — The email address of the account holder.
- `firstName` (string, optional) — The first name of the account holder.
- `lastName` (string, optional) — The last name of the account holder.
- `phone` (string, optional) — The phone number of the account holder.
- `state` (string, optional) — The state where the account holder stays.
- `zipCode` (string, optional) — The zip code for the address of the account holder.

### CreatePaymentMethodBecsGatewayOptions

The field used to pass gateway-specific parameters and parameter values. The fields supported by gateways vary. For more information, see the Overview topic of each gateway integration in [Zuora Knowledge Center](https://knowledgecenter.zuora.com/Zuora_Billing/Billing_and_Payments/M_Payment_Gateways/Supported_Payment_Gateways). Zuora sends all the information that you specified to the gateway. If you specify any unsupported gateway option parameters, they will be ignored without error prompts.

- `key` (string, optional) — The name of a gateway-specific parameter.
- `value` (string, optional) — The value of the gateway-specific parameter.

### CreatePaymentMethodBecsMandateInfo

The container of the mandate information for the payment method.

- `mandateId` (string, optional) — The mandate ID.
- `mandateReason` (string, optional) — The reason of the mandate from the gateway side.
- `mandateStatus` (string, optional) — The status of the mandate from the gateway side.

### CreatePaymentMethodBecsProcessingOptions

The container for payment method processing options.

- `checkDuplicated` (boolean, optional) — Indicates whether to perform a duplication check when you create a payment method. The default value is `false`. With this field set to `true`, Zuora will check the active and closed payment methods associated with the same billing account to ensure that no duplicate payment methods are created. For more information, see Duplication check on payment methods.

### CreatePaymentMethodBecsnzAccountHolderInfo

The container for the account holder information. The nested `accountHolderName` field is required.

- `accountHolderName` (string, optional) — Required. The full name of the bank account holder.
- `addressLine1` (string, optional) — The first line of the address for the account holder.
- `addressLine2` (string, optional) — The second line of the address for the account holder.
- `city` (string, optional) — The city where the account holder stays. It is recommended to provide the city and country information when creating a payment method. The information will be used to process payments. If the information is not provided during payment method creation, the city and country data will be missing during payment processing.
- `country` (string, optional) — The country where the account holder stays.
- `email` (string, optional) — The email address of the account holder.
- `firstName` (string, optional) — The first name of the account holder.
- `lastName` (string, optional) — The last name of the account holder.
- `phone` (string, optional) — The phone number of the account holder.
- `state` (string, optional) — The state where the account holder stays.
- `zipCode` (string, optional) — The zip code for the address of the account holder.

### CreatePaymentMethodBecsnzGatewayOptions

The field used to pass gateway-specific parameters and parameter values. The fields supported by gateways vary. For more information, see the Overview topic of each gateway integration in [Zuora Knowledge Center](https://knowledgecenter.zuora.com/Zuora_Billing/Billing_and_Payments/M_Payment_Gateways/Supported_Payment_Gateways). Zuora sends all the information that you specified to the gateway. If you specify any unsupported gateway option parameters, they will be ignored without error prompts.

- `key` (string, optional) — The name of a gateway-specific parameter.
- `value` (string, optional) — The value of the gateway-specific parameter.

### CreatePaymentMethodBecsnzMandateInfo

The container of the mandate information for the payment method.

- `mandateId` (string, optional) — The mandate ID.
- `mandateReason` (string, optional) — The reason of the mandate from the gateway side.
- `mandateStatus` (string, optional) — The status of the mandate from the gateway side.

### CreatePaymentMethodBecsnzProcessingOptions

The container for payment method processing options.

- `checkDuplicated` (boolean, optional) — Indicates whether to perform a duplication check when you create a payment method. The default value is `false`. With this field set to `true`, Zuora will check the active and closed payment methods associated with the same billing account to ensure that no duplicate payment methods are created. For more information, see Duplication check on payment methods.

### CreatePaymentMethodPadAccountHolderInfo

The container for the account holder information. The nested `accountHolderName` field is required.

- `accountHolderName` (string, optional) — Required. The full name of the bank account holder.
- `addressLine1` (string, optional) — The first line of the address for the account holder.
- `addressLine2` (string, optional) — The second line of the address for the account holder.
- `city` (string, optional) — The city where the account holder stays. It is recommended to provide the city and country information when creating a payment method. The information will be used to process payments. If the information is not provided during payment method creation, the city and country data will be missing during payment processing.
- `country` (string, optional) — The country where the account holder stays.
- `email` (string, optional) — The email address of the account holder.
- `firstName` (string, optional) — The first name of the account holder.
- `lastName` (string, optional) — The last name of the account holder.
- `phone` (string, optional) — The phone number of the account holder.
- `state` (string, optional) — The state where the account holder stays.
- `zipCode` (string, optional) — The zip code for the address of the account holder.

### CreatePaymentMethodPadGatewayOptions

The field used to pass gateway-specific parameters and parameter values. The fields supported by gateways vary. For more information, see the Overview topic of each gateway integration in [Zuora Knowledge Center](https://knowledgecenter.zuora.com/Zuora_Billing/Billing_and_Payments/M_Payment_Gateways/Supported_Payment_Gateways). Zuora sends all the information that you specified to the gateway. If you specify any unsupported gateway option parameters, they will be ignored without error prompts.

- `key` (string, optional) — The name of a gateway-specific parameter.
- `value` (string, optional) — The value of the gateway-specific parameter.

### CreatePaymentMethodPadMandateInfo

The container of the mandate information for the payment method.

- `mandateId` (string, optional) — The mandate ID.
- `mandateReason` (string, optional) — The reason of the mandate from the gateway side.
- `mandateStatus` (string, optional) — The status of the mandate from the gateway side.

### CreatePaymentMethodPadProcessingOptions

The container for payment method processing options.

- `checkDuplicated` (boolean, optional) — Indicates whether to perform a duplication check when you create a payment method. The default value is `false`. With this field set to `true`, Zuora will check the active and closed payment methods associated with the same billing account to ensure that no duplicate payment methods are created. For more information, see Duplication check on payment methods.

### CreatePmPayPalCpGatewayOptions

The field used to pass gateway-specific parameters and parameter values. The fields supported by gateways vary. For more information, see the Overview topic of each gateway integration in [Zuora Knowledge Center](https://knowledgecenter.zuora.com/Zuora_Billing/Billing_and_Payments/M_Payment_Gateways/Supported_Payment_Gateways). Zuora sends all the information that you specified to the gateway. If you specify any unsupported gateway option parameters, they will be ignored without error prompts.

- `key` (string, optional) — The name of a gateway-specific parameter.
- `value` (string, optional) — The value of the gateway-specific parameter.

### CreatePmPayPalCpTokens

To create tokenized payment methods, pass in the existing token information through the fields in this container. Currently, this field is only supported on certain integrations. See this article for more information.

- `gatewayType` (string, required) — The type of the payment gateway to generate the tokens. This field is case-sensitive.
- `tokenId` (string, required) — Pass in the first token of the payment method.
- `secondTokenId` (string, optional) — Pass in the second token of the payment method.
- `thirdTokenId` (string, optional) — Pass in the third token of the payment method.

### CreatePmPayPalEcGatewayOptions

The field used to pass gateway-specific parameters and parameter values. The fields supported by gateways vary. For more information, see the Overview topic of each gateway integration in [Zuora Knowledge Center](https://knowledgecenter.zuora.com/Zuora_Billing/Billing_and_Payments/M_Payment_Gateways/Supported_Payment_Gateways). Zuora sends all the information that you specified to the gateway. If you specify any unsupported gateway option parameters, they will be ignored without error prompts.

- `key` (string, optional) — The name of a gateway-specific parameter.
- `value` (string, optional) — The value of the gateway-specific parameter.

### CreatePmPayPalNativeEcGatewayOptions

The field used to pass gateway-specific parameters and parameter values. The fields supported by gateways vary. For more information, see the Overview topic of each gateway integration in [Zuora Knowledge Center](https://knowledgecenter.zuora.com/Zuora_Billing/Billing_and_Payments/M_Payment_Gateways/Supported_Payment_Gateways). Zuora sends all the information that you specified to the gateway. If you specify any unsupported gateway option parameters, they will be ignored without error prompts.

- `key` (string, optional) — The name of a gateway-specific parameter.
- `value` (string, optional) — The value of the gateway-specific parameter.

### CreatePaymentMethodPayPalAdaptiveGatewayOptions

The field used to pass gateway-specific parameters and parameter values. The fields supported by gateways vary. For more information, see the Overview topic of each gateway integration in [Zuora Knowledge Center](https://knowledgecenter.zuora.com/Zuora_Billing/Billing_and_Payments/M_Payment_Gateways/Supported_Payment_Gateways). Zuora sends all the information that you specified to the gateway. If you specify any unsupported gateway option parameters, they will be ignored without error prompts.

- `key` (string, optional) — The name of a gateway-specific parameter.
- `value` (string, optional) — The value of the gateway-specific parameter.

### CreatePaymentMethodApplePayAdyenGatewayOptions

The field used to pass gateway-specific parameters and parameter values. The fields supported by gateways vary. For more information, see the Overview topic of each gateway integration in [Zuora Knowledge Center](https://knowledgecenter.zuora.com/Zuora_Billing/Billing_and_Payments/M_Payment_Gateways/Supported_Payment_Gateways). Zuora sends all the information that you specified to the gateway. If you specify any unsupported gateway option parameters, they will be ignored without error prompts.

- `key` (string, optional) — The name of a gateway-specific parameter.
- `value` (string, optional) — The value of the gateway-specific parameter.

### CreatePaymentMethodGooglePayAdyenGatewayOptions

The field used to pass gateway-specific parameters and parameter values. The fields supported by gateways vary. For more information, see the Overview topic of each gateway integration in [Zuora Knowledge Center](https://knowledgecenter.zuora.com/Zuora_Billing/Billing_and_Payments/M_Payment_Gateways/Supported_Payment_Gateways). Zuora sends all the information that you specified to the gateway. If you specify any unsupported gateway option parameters, they will be ignored without error prompts.

- `key` (string, optional) — The name of a gateway-specific parameter.
- `value` (string, optional) — The value of the gateway-specific parameter.

### CreatePaymentMethodGooglePayChaseGatewayOptions

The field used to pass gateway-specific parameters and parameter values. The fields supported by gateways vary. For more information, see the Overview topic of each gateway integration in [Zuora Knowledge Center](https://knowledgecenter.zuora.com/Zuora_Billing/Billing_and_Payments/M_Payment_Gateways/Supported_Payment_Gateways). Zuora sends all the information that you specified to the gateway. If you specify any unsupported gateway option parameters, they will be ignored without error prompts.

- `key` (string, optional) — The name of a gateway-specific parameter.
- `value` (string, optional) — The value of the gateway-specific parameter.

### CreatePaymentMethodAmazonPayGatewayOptions

The field used to pass gateway-specific parameters and parameter values. The fields supported by gateways vary. For more information, see the Overview topic of each gateway integration in [Zuora Knowledge Center](https://knowledgecenter.zuora.com/Zuora_Billing/Billing_and_Payments/M_Payment_Gateways/Supported_Payment_Gateways). Zuora sends all the information that you specified to the gateway. If you specify any unsupported gateway option parameters, they will be ignored without error prompts.

- `key` (string, optional) — The name of a gateway-specific parameter.
- `value` (string, optional) — The value of the gateway-specific parameter.

### ProcessingOptionsOrdersWithDelayedCapturePaymentWriteOffBehaviorFinanceInformation

Container for the finance information related to the credit memo items that are created for invoice write-off.

- `deferredRevenueAccountingCode` (string, optional) — The accounting code for the deferred revenue, such as Monthly Recurring Liability.
- `onAccountAccountingCode` (string, optional) — The accounting code that maps to an on account in your accounting system.
- `recognizedRevenueAccountingCode` (string, optional) — The accounting code for the recognized revenue, such as Monthly Recurring Charges or Overage Charges.
- `revenueRecognitionRuleName` (string, optional) — The name of the revenue recognition rule governing the revenue schedule.

### CreateOrderRatePlanOverride

Information about an order action of type `AddProduct`. If you want to create a pending order through the "Add product" order action, and if the charge's trigger condition is `Specific Date`, you must set a charge number in the `chargeNumber` field for the "Add product" order action. In this case, if you do not set it, Zuora will not generate the charge number for you. See more information about pending orders in Pending orders and subscriptions.

- `chargeOverrides` (list of CreateOrderChargeOverride, optional) — List of charges associated with the rate plan.
- `clearingExistingFeatures` (boolean, optional) — Specifies whether all features in the rate plan will be cleared.
- `customFields` (map from string to any, optional) — Container for custom fields of the Rate Plan object. The custom fields of the Rate Plan object are used when rate plans are subscribed.
- `externalCatalogPlanId` (string, optional) — An external ID of the product rate plan to be added. You can use this field to specify a product rate plan that is imported from an external system. The value of the `externalCatalogPlanId` field must match one of the values that are predefined in the `externallyManagedPlanIds` field on a product rate plan. **Note:** If both `externalCatalogPlanId` and `productRatePlanId` are provided. They must point to the same product rate plan. Otherwise, the request would fail.
- `externallyManagedPlanId` (string, optional) — Indicates the unique identifier for the rate plan purchased on a third-party store. This field is used to represent a subscription rate plan created through third-party stores.
- `isAddingSubsetCharges` (boolean, optional) — Specifies whether to add a subset of charges to the subscription. **Note:** To access this field for adding a subset of charges, submit a request at Zuora Global Support.
- `isFromExternalCatalog` (boolean, optional) — Indicates whether the rate plan is created from the Zuora product catalog or from an external product catalog. **Note:** This field is available when the Standalone Orders feature is enabled.
- `productRatePlanId` (string, optional) — Internal identifier of the product rate plan that the rate plan is based on.
- `productRatePlanNumber` (string, optional) — Number of a product rate plan for this subscription.
- `ratePlanName` (string, optional) — Name of the standalone rate plan. **Note:** This field is available when the Standalone Orders feature is enabled.
- `subscriptionProductFeatures` (list of CreateOrderRatePlanFeatureOverride, optional) — List of features associated with the rate plan. The system compares the `subscriptionProductFeatures` and `featureId` fields in the request with the counterpart fields in a rate plan. The comparison results are as follows: * If there is no `subscriptionProductFeatures` field or the field is empty, features in the rate plan remain unchanged. But if the `clearingExistingFeatures` field is additionally set to true, all features in the rate plan are cleared. * If the `subscriptionProductFeatures` field contains the `featureId` nested fields, as well as the optional `description` and `customFields` nested fields, the features indicated by the featureId nested fields in the request overwrite all features in the rate plan.
- `subscriptionRatePlanNumber` (string, optional) — Number of a subscription rate plan for this subscription.
- `uniqueToken` (string, optional) — Unique identifier for the rate plan. This identifier enables you to refer to the rate plan before the rate plan has an internal identifier in Zuora. For instance, suppose that you want to use a single order to add a product to a subscription and later update the same product. When you add the product, you can set a unique identifier for the rate plan. Then when you update the product, you can use the same unique identifier to specify which rate plan to modify.

### CancelSubscription

Information about an order action of type `CancelSubscription`.

- `cancellationPolicy` (enum, required)
  - Allowed values: `EndOfCurrentTerm`, `EndOfLastInvoicePeriod`, `SpecificDate`
- `cancellationEffectiveDate` (date, optional)

### CreateChangePlan

Information about an order action of type `ChangePlan`. Use the change plan type of order action to replace the existing rate plans in a subscription with other rate plans. **Note**: The change plan type of order action is supported for the Order to Revenue feature. However, it is currently not supported for the Billing - Revenue Integration feature. When Billing - Revenue Integration is enabled, the change plan type of order action will no longer be applicable in Zuora Billing. If you want to create a pending order through the "change plan" order action, and if the charge's trigger condition is `Specific Date`, you must set a charge number in the `chargeNumber` field for the "change plan" order action. In this case, if you do not set it, Zuora will not generate the charge number for you. See more information about pending orders in Pending orders and subscriptions.

- `newProductRatePlan` (CreateOrderChangePlanRatePlanOverride, required) — Information about the new product rate plan to add.
- `effectivePolicy` (enum, optional) — The default value for the `effectivePolicy` field is as follows: * If the rate plan change (from old to new) is an upgrade, the effective policy is `EffectiveImmediately` by default. * If the rate plan change (from old to new) is a downgrade, the effective policy is `EffectiveEndOfBillingPeriod` by default. * Otherwise, the effective policy is `SpecificDate` by default. **Notes**: * When setting this field to `EffectiveEndOfBillingPeriod`, you cannot set the billing trigger dates for the subscription as the system will automatically set the trigger dates to the end of billing period, and you cannot set the following billing trigger date settings to `Yes`: * Require Customer Acceptance of Orders? * Require Service Activation of Orders? * When setting this field to `SpecificDate`, you must also set the contract effective date in the `triggerDates` field as follows: * Set the `name` field as `ContractEffective` * Specify a date for the `triggerDate` field
  - Allowed values: `EffectiveImmediately`, `EffectiveEndOfBillingPeriod`, `SpecificDate`
- `externalCatalogPlanId` (string, optional) — An external ID of the rate plan to be removed. You can use this field to specify an existing rate plan in your subscription. The value of the `externalCatalogPlanId` field must match one of the values that are predefined in the `externallyManagedPlanIds` field on a product rate plan. However, if there are multiple rate plans with the same `productRatePlanId` value existing in the subscription, you must use the `ratePlanId` field to remove the rate plan. The `externalCatalogPlanId` field cannot be used to distinguish multiple rate plans in this case. **Note:** Please provide only one of `externalCatalogPlanId`, `ratePlanId` or `productRatePlanId`. If more than 1 field is provided then the request would fail.
- `productRatePlanId` (string, optional) — ID of the product rate plan that the removed rate plan is based on.
- `productRatePlanNumber` (string, optional) — Number of a product rate plan for this subscription.
- `ratePlanId` (string, optional) — ID of the rate plan to remove. This can be the latest version or any history version of ID. Note that the removal of a rate plan through the Change Plan order action supports the function of removal before future-dated removals, as in a Remove Product order action.
- `resetBcd` (boolean, optional, default: false) — If resetBcd is true then reset the Account BCD to the effective date; if it is false keep the original BCD. **Note**: If the rate plan change is an upgrade (the `subType` field is `Upgrade`), then the effective policy is `EffectiveImmediately` by default. In this case, if you do not specify the `resetBcd` field, the system sets this field to `true` while BCD is the effective date.
- `subType` (enum, optional) — Use this field to choose the sub type for your change plan order action. However, if you do not set this field, the field will be automatically generated by the system according to the following rules: When the old and new rate plans are within the same Grading catalog group: * If the grade of new plan is greater than that of the old plan, this is an "Upgrade". * If the grade of new plan is less than that of the old plan, this is a "Downgrade". * If the grade of new plan equals that of the old plan, this is a "Crossgrade". When the old and new rate plans are not in the same Grading catalog group, or either has no group, this is "PlanChanged".
  - Allowed values: `Upgrade`, `Downgrade`, `Crossgrade`, `PlanChanged`
- `subscriptionRatePlanNumber` (string, optional) — Number of a rate plan for this subscription.

### CreateOrderCreateSubscription

Information about an order action of type `CreateSubscription`.

- `billToContactId` (string, optional) — The ID of the bill-to contact associated with the subscription. **Note**: * If you have the Flexible Billing Attributes feature disabled, this field is unavailable in the request body and the value of this field is `null` in the response body. * If you have the Flexible Billing Attributes feature enabled, and you do not specify this field in the request or you select **Default Contact from Account** for this field during subscription creation, the value of this field is automatically set to `null` in the response body.
- `currency` (string, optional) — The code of currency that is used for this subscription. If the currency is not selected, the default currency from the account will be used. All subscriptions in the same order must use the same currency. The currency for a subscription cannot be changed. **Note**: This field is available only if you have the Multiple Currencies feature enabled.
- `invoiceGroupNumber` (string, optional, nullable) — The number of the invoice group associated with the subscription. After enabling the Invoice Grouping feature, you can specify invoice group numbers to bill subscriptions and order line items based on specific criteria. For the same account, Zuora generates separate invoices for subscriptions and order line items, each identified by unique invoice group numbers. For more information, see [Invoice Grouping](https://knowledgecenter.zuora.com/Billing/Subscriptions/Invoice_Grouping). **Note**: * If you have the Flexible Billing Attributes feature disabled, this field is unavailable in the request body and the value of this field is `null` in the response body. * If you have the Flexible Billing Attributes feature enabled, and you do not specify this field in the request during subscription creation, the value of this field is automatically set to `null` in the response body.
- `invoiceSeparately` (boolean, optional) — Specifies whether the subscription appears on a separate invoice when Zuora generates invoices.
- `invoiceTemplateId` (string, optional) — The ID of the invoice template associated with the subscription. **Note**: * If you have the Flexible Billing Attributes feature disabled, this field is unavailable in the request body and the value of this field is `null` in the response body. * If you have the Flexible Billing Attributes feature enabled, and you do not specify this field in the request or you select **Default Template from Account** for this field during subscription creation, the value of this field is automatically set to `null` in the response body.
- `newSubscriptionOwnerAccount` (CreateOrderCreateSubscriptionNewSubscriptionOwnerAccount, optional) — Container for the data access control field.
- `notes` (string, optional) — Notes about the subscription. These notes are only visible to Zuora users.
- `paymentProfile` (CreateOrderCreateSubscriptionPaymentProfile, optional) — Container for payment gateway and payment method details of a payment. If you do not set this field, the payment method and payment gateway values cannot be set in the subscription. **Note:** - If multiple order actions are specified, they will be applied in the same order they appear in the API payload. - If one or more of these order actions include the `paymentProfile` element, the changes will be applied in sequence, and the result will be consistent with the last `paymentProfile` element.
- `paymentTerm` (string, optional) — The name of the payment term associated with the subscription. For example, `Net 30`. The payment term determines the due dates of invoices. **Note**: * If you have the Flexible Billing Attributes feature disabled, this field is unavailable in the request body and the value of this field is `null` in the response body. * If you have the Flexible Billing Attributes feature enabled, and you do not specify this field in the request or you select **Default Term from Account** for this field during subscription creation, the value of this field is automatically set to `null` in the response body.
- `sequenceSetId` (string, optional, nullable) — The ID of the sequence set associated with the subscription. **Note**: * If you have the Flexible Billing Attributes feature disabled, this field is unavailable in the request body and the value of this field is `null` in the response body. * If you have the Flexible Billing Attributes feature enabled, and you do not specify this field in the request or you select **Default Set from Account** for this field during subscription creation, the value of this field is automatically set to `null` in the response body.
- `shipToContactId` (string, optional) — The ID of the ship-to contact associated with the subscription. It must be a contact of the subscription owner. **Note:** To access this field, you must have the ShipToContactSupport permission. If you want to enable this permission, submit a request at Zuora Global Support.
- `soldToContactId` (string, optional) — The ID of the sold-to contact associated with the subscription. **Note**: * If you have the Flexible Billing Attributes feature disabled, this field is unavailable in the request body and the value of this field is `null` in the response body. * If you have the Flexible Billing Attributes feature enabled, and you do not specify this field in the request or you select **Default Contact from Account** for this field during subscription creation, the value of this field is automatically set to `null` in the response body.
- `subscribeToRatePlans` (list of CreateOrderRatePlanOverride, optional) — List of rate plans associated with the subscription.
- `subscriptionNumber` (string, optional) — Subscription number of the subscription. For example, A-S00000001. If you do not set this field, Zuora will generate the subscription number.
- `subscriptionOwnerAccountNumber` (string, optional) — Account number of an existing account that will own the subscription. For example, A00000001. If you do not set this field or the `newSubscriptionOwnerAccount` field, the account that owns the order will also own the subscription. Zuora will return an error if you set this field and the `newSubscriptionOwnerAccount` field.
- `invoiceOwnerAccountNumber` (string, optional) — Account number of an existing account that will own the invoice. For example, A00000001. If you do not set this field, the account that owns the order will also own this invoice.
- `terms` (CreateOrderCreateSubscriptionTerms, optional) — Container for the terms and renewal settings of the subscription.

### OwnerTransfer

Information about an order action of type `OwnerTransfer`. **Note:** The Owner Transfer feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).

- `billToContactId` (string, optional) — The contact id of the bill to contact that the subscription is being transferred to. **Note**: * If you have the Flexible Billing Attributes feature disabled, this field is unavailable in the request body and the value of this field is `null` in the response body. * If you have the Flexible Billing Attributes feature enabled, and you do not specify this field in the request or you select **Default Contact from Account** for this field during subscription creation, the value of this field is automatically set to `null` in the response body.
- `clearingExistingBillToContact` (boolean, optional, default: false) — Whether to clear the existing bill-to contact ID at the subscription level. This field is mutually exclusive with the `billToContactId` field. **Note**: If you have the [Flexible Billing Attributes](https://docs.zuora.com/en/zuora-billing/bill-your-customer/leverage-advanced-capabilities/flexible-billing/flexible-billing-attributes/overview-of-flexible-billing-attributes) feature disabled, this field is unavailable in the request body and the value of this field is `null` in the response body.
- `clearingExistingInvoiceGroupNumber` (boolean, optional, default: false) — Whether to clear the existing invoice group number at the subscription level. This field is mutually exclusive with the `invoiceGroupNumber` field. **Note**: If you have the [Flexible Billing Attributes](https://docs.zuora.com/en/zuora-billing/bill-your-customer/leverage-advanced-capabilities/flexible-billing/flexible-billing-attributes/overview-of-flexible-billing-attributes) feature disabled, this field is unavailable in the request body and the value of this field is `null` in the response body.
- `clearingExistingInvoiceTemplate` (boolean, optional, default: false) — Whether to clear the existing invoice template ID at the subscription level. This field is mutually exclusive with the `invoiceTemplateId` field. **Note**: If you have the [Flexible Billing Attributes](https://docs.zuora.com/en/zuora-billing/bill-your-customer/leverage-advanced-capabilities/flexible-billing/flexible-billing-attributes/overview-of-flexible-billing-attributes) feature disabled, this field is unavailable in the request body and the value of this field is `null` in the response body.
- `clearingExistingPaymentTerm` (boolean, optional, default: false) — Whether to clear the existing payment term at the subscription level. This field is mutually exclusive with the `paymentTerm` field. **Note**: If you have the [Flexible Billing Attributes](https://docs.zuora.com/en/zuora-billing/bill-your-customer/leverage-advanced-capabilities/flexible-billing/flexible-billing-attributes/overview-of-flexible-billing-attributes) feature disabled, this field is unavailable in the request body and the value of this field is `null` in the response body.
- `clearingExistingSequenceSet` (boolean, optional, default: false) — Whether to clear the existing sequence set ID at the subscription level. This field is mutually exclusive with the `sequenceSetId` field. **Note**: If you have the [Flexible Billing Attributes](https://docs.zuora.com/en/zuora-billing/bill-your-customer/leverage-advanced-capabilities/flexible-billing/flexible-billing-attributes/overview-of-flexible-billing-attributes) feature disabled, this field is unavailable in the request body and the value of this field is `null` in the response body.
- `clearingExistingShipToContact` (boolean, optional, default: false) — Whether to clear the existing ship-to contact ID at the subscription level. This field is mutually exclusive with the `shipToContactId` field. **Note:** To access this field, you must have the ShipToContactSupport permission. If you want to enable this permission, submit a request at Zuora Global Support.
- `clearingExistingSoldToContact` (boolean, optional, default: false) — Whether to clear the existing sold-to contact ID at the subscription level. This field is mutually exclusive with the `soldToContactId` field. **Note**: If you have the [Flexible Billing Attributes](https://docs.zuora.com/en/zuora-billing/bill-your-customer/leverage-advanced-capabilities/flexible-billing/flexible-billing-attributes/overview-of-flexible-billing-attributes) feature disabled, this field is unavailable in the request body and the value of this field is `null` in the response body.
- `destinationAccountNumber` (string, optional) — The account number of the account that the subscription is being transferred to.
- `destinationInvoiceAccountNumber` (string, optional) — The account number of the invoice owner account that the subscription is being transferred to.
- `invoiceGroupNumber` (string, optional, nullable) — The number of the invoice group associated with the subscription. After enabling the Invoice Grouping feature, you can specify invoice group numbers to bill subscriptions and order line items based on specific criteria. For the same account, Zuora generates separate invoices for subscriptions and order line items, each identified by unique invoice group numbers. For more information, see [Invoice Grouping](https://knowledgecenter.zuora.com/Billing/Subscriptions/Invoice_Grouping). **Note**: * If you have the Flexible Billing Attributes feature disabled, this field is unavailable in the request body and the value of this field is `null` in the response body. * If you have the Flexible Billing Attributes feature enabled, and you do not specify this field in the request during subscription creation, the value of this field is automatically set to `null` in the response body.
- `invoiceTemplateId` (string, optional) — The ID of the invoice template associated with the subscription. **Note**: * If you have the Flexible Billing Attributes feature disabled, this field is unavailable in the request body and the value of this field is `null` in the response body. * If you have the Flexible Billing Attributes feature enabled, and you do not specify this field in the request or you select **Default Template from Account** for this field during subscription creation, the value of this field is automatically set to `null` in the response body.
- `paymentProfile` (OwnerTransferPaymentProfile, optional) — Container for payment gateway and payment method details of a payment. If you do not set this field, the payment method and payment gateway values cannot be set in the subscription. **Note:** - If multiple order actions are specified, they will be applied in the same order they appear in the API payload. - If one or more of these order actions include the `paymentProfile` element, the changes will be applied in sequence, and the result will be consistent with the last `paymentProfile` element.
- `paymentTerm` (string, optional) — Name of the payment term associated with the account. For example, "Net 30". The payment term determines the due dates of invoices. **Note**: * If you have the Flexible Billing Attributes feature disabled, this field is unavailable in the request body and the value of this field is `null` in the response body. * If you have the Flexible Billing Attributes feature enabled, and you do not specify this field in the request or you select **Default Term from Account** for this field during subscription creation, the value of this field is automatically set to `null` in the response body.
- `sequenceSetId` (string, optional, nullable) — The ID of the sequence set associated with the subscription. **Note**: * If you have the Flexible Billing Attributes feature disabled, this field is unavailable in the request body and the value of this field is `null` in the response body. * If you have the Flexible Billing Attributes feature enabled, and you do not specify this field in the request or you select **Default Set from Account** for this field during subscription creation, the value of this field is automatically set to `null` in the response body.
- `shipToContactId` (string, optional) — The ID of the ship-to contact associated with the subscription. **Note**: To access this field, you must have the ShipToContactSupport permission. If you want to enable this permission, submit a request at Zuora Global Support.
- `soldToContactId` (string, optional) — The ID of the sold-to contact associated with the subscription. **Note**: * If you have the Flexible Billing Attributes feature disabled, this field is unavailable in the request body and the value of this field is `null` in the response body. * If you have the Flexible Billing Attributes feature enabled, and you do not specify this field in the request or you select **Default Contact from Account** for this field during subscription creation, the value of this field is automatically set to `null` in the response body.

### RemoveProduct

Information about an order action of type `RemoveProduct`.

- `externalCatalogPlanId` (string, optional) — An external ID of the rate plan to be removed. You can use this field to specify an existing rate plan in your subscription. The value of the `externalCatalogPlanId` field must match one of the values that are predefined in the `externallyManagedPlanIds` field on a product rate plan. However, if there are multiple rate plans with the same `productRatePlanId` value existing in the subscription, you must use the `ratePlanId` field to remove the rate plan. The `externalCatalogPlanId` field cannot be used to distinguish multiple rate plans in this case. **Note:** If both `externalCatalogPlanId` and `ratePlanId` are provided. They must point to the same product rate plan. Otherwise, the request would fail.
- `productRatePlanNumber` (string, optional) — Number of a product rate plan for this subscription.
- `ratePlanId` (string, optional) — ID of the rate plan to remove. This can be the latest version or any history version of ID.
- `subscriptionRatePlanNumber` (string, optional) — Number of a rate plan for this subscription.
- `uniqueToken` (string, optional) — Unique identifier for the rate plan. This identifier enables you to refer to the rate plan before the rate plan has an internal identifier in Zuora.
- `customFields` (map from string to RemoveProductCustomFields, optional) — Container for custom fields of a Rate Plan object.
- `chargeUpdates` (list of OrderActionRatePlanChargeRemove, optional)

### RenewSubscription

Information about an order action of type `RenewSubscription`.

- `billToContactId` (string, optional) — The ID of the bill-to contact associated with the subscription. **Note**: * If you have the Flexible Billing Attributes feature disabled, this field is unavailable in the request body and the value of this field is `null` in the response body. * If you have the Flexible Billing Attributes feature enabled, and you do not specify this field in the request or you select **Default Contact from Account** for this field during subscription creation, the value of this field is automatically set to `null` in the response body.
- `clearingExistingBillToContact` (boolean, optional, default: false) — Whether to clear the existing bill-to contact ID at the subscription level. This field is mutually exclusive with the `billToContactId` field. **Note**: If you have the [Flexible Billing Attributes](https://docs.zuora.com/en/zuora-billing/bill-your-customer/leverage-advanced-capabilities/flexible-billing/flexible-billing-attributes/overview-of-flexible-billing-attributes) feature disabled, this field is unavailable in the request body and the value of this field is `null` in the response body.
- `clearingExistingInvoiceGroupNumber` (boolean, optional, default: false) — Whether to clear the existing invoice group number at the subscription level. This field is mutually exclusive with the `invoiceGroupNumber` field. **Note**: If you have the [Flexible Billing Attributes](https://docs.zuora.com/en/zuora-billing/bill-your-customer/leverage-advanced-capabilities/flexible-billing/flexible-billing-attributes/overview-of-flexible-billing-attributes) feature disabled, this field is unavailable in the request body and the value of this field is `null` in the response body.
- `clearingExistingInvoiceTemplate` (boolean, optional, default: false) — Whether to clear the existing invoice template ID at the subscription level. This field is mutually exclusive with the `invoiceTemplateId` field. **Note**: If you have the [Flexible Billing Attributes](https://docs.zuora.com/en/zuora-billing/bill-your-customer/leverage-advanced-capabilities/flexible-billing/flexible-billing-attributes/overview-of-flexible-billing-attributes) feature disabled, this field is unavailable in the request body and the value of this field is `null` in the response body.
- `clearingExistingPaymentTerm` (boolean, optional, default: false) — Whether to clear the existing payment term at the subscription level. This field is mutually exclusive with the `paymentTerm` field. **Note**: If you have the [Flexible Billing Attributes](https://docs.zuora.com/en/zuora-billing/bill-your-customer/leverage-advanced-capabilities/flexible-billing/flexible-billing-attributes/overview-of-flexible-billing-attributes) feature disabled, this field is unavailable in the request body and the value of this field is `null` in the response body.
- `clearingExistingSequenceSet` (boolean, optional, default: false) — Whether to clear the existing sequence set ID at the subscription level. This field is mutually exclusive with the `sequenceSetId` field. **Note**: If you have the [Flexible Billing Attributes](https://docs.zuora.com/en/zuora-billing/bill-your-customer/leverage-advanced-capabilities/flexible-billing/flexible-billing-attributes/overview-of-flexible-billing-attributes) feature disabled, this field is unavailable in the request body and the value of this field is `null` in the response body.
- `clearingExistingShipToContact` (boolean, optional, default: false) — Whether to clear the existing ship-to contact ID at the subscription level. This field is mutually exclusive with the `shipToContactId` field. **Note:** To access this field, you must have the ShipToContactSupport permission. If you want to enable this permission, submit a request at Zuora Global Support.
- `clearingExistingSoldToContact` (boolean, optional, default: false) — Whether to clear the existing sold-to contact ID at the subscription level. This field is mutually exclusive with the `soldToContactId` field. **Note**: If you have the [Flexible Billing Attributes](https://docs.zuora.com/en/zuora-billing/bill-your-customer/leverage-advanced-capabilities/flexible-billing/flexible-billing-attributes/overview-of-flexible-billing-attributes) feature disabled, this field is unavailable in the request body and the value of this field is `null` in the response body.
- `invoiceGroupNumber` (string, optional, nullable) — The number of the invoice group associated with the subscription. After enabling the Invoice Grouping feature, you can specify invoice group numbers to bill subscriptions and order line items based on specific criteria. For the same account, Zuora generates separate invoices for subscriptions and order line items, each identified by unique invoice group numbers. For more information, see [Invoice Grouping](https://knowledgecenter.zuora.com/Billing/Subscriptions/Invoice_Grouping). **Note**: * If you have the Flexible Billing Attributes feature disabled, this field is unavailable in the request body and the value of this field is `null` in the response body. * If you have the Flexible Billing Attributes feature enabled, and you do not specify this field in the request during subscription creation, the value of this field is automatically set to `null` in the response body.
- `invoiceTemplateId` (string, optional, nullable) — The ID of the invoice template associated with the subscription. **Note**: * If you have the Flexible Billing Attributes feature disabled, this field is unavailable in the request body and the value of this field is `null` in the response body. * If you have the Flexible Billing Attributes feature enabled, and you do not specify this field in the request or you select **Default Template from Account** for this field during subscription creation, the value of this field is automatically set to `null` in the response body.
- `paymentTerm` (string, optional) — The name of the payment term associated with the subscription. For example, `Net 30`. The payment term determines the due dates of invoices. **Note**: * If you have the Flexible Billing Attributes feature disabled, this field is unavailable in the request body and the value of this field is `null` in the response body. * If you have the Flexible Billing Attributes feature enabled, and you do not specify this field in the request or you select **Default Term from Account** for this field during subscription creation, the value of this field is automatically set to `null` in the response body..
- `sequenceSetId` (string, optional, nullable) — The ID of the sequence set associated with the subscription. **Note**: * If you have the Flexible Billing Attributes feature disabled, this field is unavailable in the request body and the value of this field is `null` in the response body. * If you have the Flexible Billing Attributes feature enabled, and you do not specify this field in the request or you select **Default Set from Account** for this field during subscription creation, the value of this field is automatically set to `null` in the response body.
- `shipToContactId` (string, optional) — The ID of the ship-to contact associated with the subscription. **Note:** To access this field, you must have the ShipToContactSupport permission. If you want to enable this permission, submit a request at Zuora Global Support.
- `soldToContactId` (string, optional) — The ID of the sold-to contact associated with the subscription. **Note**: * If you have the Flexible Billing Attributes feature disabled, this field is unavailable in the request body and the value of this field is `null` in the response body. * If you have the Flexible Billing Attributes feature enabled, and you do not specify this field in the request or you select **Default Contact from Account** for this field during subscription creation, the value of this field is automatically set to `null` in the response body.

### CreateOrderResume

Information about an order action of type `Resume`.

- `resumePolicy` (enum, required) — Resume methods. Specify a way to resume a subscription. See [Resume Date](https://knowledgecenter.zuora.com/BC_Subscription_Management/Subscriptions/Resume_a_Subscription#Resume_Date) for more information. If `SuspendDate` is specfied, the resumption will take place on the same day as the suspension.
  - Allowed values: `Today`, `FixedPeriodsFromSuspendDate`, `FixedPeriodsFromToday`, `SpecificDate`, `SuspendDate`
- `extendsTerm` (boolean, optional) — Specifies whether to extend the subscription term by the length of time the suspension is in effect.
- `resumePeriods` (integer, optional) — This field is applicable only when the `resumePolicy` field is set to `FixedPeriodsFromToday` or `FixedPeriodsFromSuspendDate`. It must be used together with the `resumePeriodsType` field. The total number of the periods used to specify when a subscription resumption takes effect. The subscription resumption will take place after the specified time frame (`suspendPeriods` multiplied by `suspendPeriodsType`) from today's date.
- `resumePeriodsType` (enum, optional) — This field is applicable only when the `resumePolicy` field is set to `FixedPeriodsFromToday` or `FixedPeriodsFromSuspendDate`. It must be used together with the `resumePeriods` field. The period type used to specify when a subscription resumption takes effect. The subscription suspension will take place after the specified time frame (`suspendPeriods` multiplied by `suspendPeriodsType`) from today's date.
  - Allowed values: `Day`, `Week`, `Month`, `Year`
- `resumeSpecificDate` (date, optional) — This field is applicable only when the `resumePolicy` field is set to `SpecificDate`. A specific date when the subscription resumption takes effect, in YYYY-MM-DD format. The value should not be earlier than the subscription suspension date.

### CreateOrderSuspend

Information about an order action of type `Suspend`.

- `suspendPolicy` (enum, required) — Suspend methods. Specify a way to suspend a subscription. See [Suspend Date](https://knowledgecenter.zuora.com/BC_Subscription_Management/Subscriptions/Suspend_a_Subscription#Suspend_Date) for more information.
  - Allowed values: `Today`, `EndOfLastInvoicePeriod`, `FixedPeriodsFromToday`, `SpecificDate`
- `suspendPeriods` (integer, optional) — This field is applicable only when the `suspendPolicy` field is set to `FixedPeriodsFromToday`. It must be used together with the `suspendPeriodsType` field. The total number of the periods used to specify when a subscription suspension takes effect. The subscription suspension will take place after the specified time frame (`suspendPeriods` multiplied by `suspendPeriodsType`) from today's date.
- `suspendPeriodsType` (enum, optional) — This field is applicable only when the `suspendPolicy` field is set to `FixedPeriodsFromToday`. It must be used together with the `suspendPeriods` field. The period type used to specify when a subscription suspension takes effect. The subscription suspension will take place after the specified time frame (`suspendPeriods` multiplied by `suspendPeriodsType`) from today's date.
  - Allowed values: `Day`, `Week`, `Month`, `Year`
- `suspendSpecificDate` (date, optional) — This field is applicable only when the `suspendPolicy` field is set to `SpecificDate`. A specific date when the subscription suspension takes effect, in YYYY-MM-DD format. The value should not be earlier than the subscription's contract effective date or later [available versions](https://developer.zuora.com/api-references/api/overview/#section/API-Versions/Minor-Version) than the subscription's term end date.

### CreateOrderTermsAndConditions

Information about an order action of type `TermsAndConditions`.

- `autoRenew` (boolean, optional)
- `billToContactId` (string, optional) — The ID of the bill-to contact associated with the subscription. **Note**: * If you have the Flexible Billing Attributes feature disabled, this field is unavailable in the request body and the value of this field is `null` in the response body. * If you have the Flexible Billing Attributes feature enabled, and you do not specify this field in the request or you select **Default Contact from Account** for this field during subscription creation, the value of this field is automatically set to `null` in the response body.
- `clearingExistingBillToContact` (boolean, optional, default: false) — Whether to clear the existing bill-to contact ID at the subscription level. This field is mutually exclusive with the `billToContactId` field. **Note**: If you have the [Flexible Billing Attributes](https://docs.zuora.com/en/zuora-billing/bill-your-customer/leverage-advanced-capabilities/flexible-billing/flexible-billing-attributes/overview-of-flexible-billing-attributes) feature disabled, this field is unavailable in the request body and the value of this field is `null` in the response body.
- `clearingExistingInvoiceGroupNumber` (boolean, optional, default: false) — Whether to clear the existing invoice group number at the subscription level. This field is mutually exclusive with the `invoiceGroupNumber` field. **Note**: If you have the [Flexible Billing Attributes](https://docs.zuora.com/en/zuora-billing/bill-your-customer/leverage-advanced-capabilities/flexible-billing/flexible-billing-attributes/overview-of-flexible-billing-attributes) feature disabled, this field is unavailable in the request body and the value of this field is `null` in the response body.
- `clearingExistingInvoiceTemplate` (boolean, optional, default: false) — Whether to clear the existing invoice template ID at the subscription level. This field is mutually exclusive with the `invoiceTemplateId` field. **Note**: If you have the [Flexible Billing Attributes](https://docs.zuora.com/en/zuora-billing/bill-your-customer/leverage-advanced-capabilities/flexible-billing/flexible-billing-attributes/overview-of-flexible-billing-attributes) feature disabled, this field is unavailable in the request body and the value of this field is `null` in the response body.
- `clearingExistingPaymentTerm` (boolean, optional, default: false) — Whether to clear the existing payment term at the subscription level. This field is mutually exclusive with the `paymentTerm` field. **Note**: If you have the [Flexible Billing Attributes](https://docs.zuora.com/en/zuora-billing/bill-your-customer/leverage-advanced-capabilities/flexible-billing/flexible-billing-attributes/overview-of-flexible-billing-attributes) feature disabled, this field is unavailable in the request body and the value of this field is `null` in the response body.
- `clearingExistingSequenceSet` (boolean, optional, default: false) — Whether to clear the existing sequence set ID at the subscription level. This field is mutually exclusive with the `sequenceSetId` field. **Note**: If you have the [Flexible Billing Attributes](https://docs.zuora.com/en/zuora-billing/bill-your-customer/leverage-advanced-capabilities/flexible-billing/flexible-billing-attributes/overview-of-flexible-billing-attributes) feature disabled, this field is unavailable in the request body and the value of this field is `null` in the response body.
- `clearingExistingShipToContact` (boolean, optional, default: false) — Whether to clear the existing ship-to contact ID at the subscription level. This field is mutually exclusive with the `shipToContactId` field. **Note**: To access this field, you must have the ShipToContactSupport permission. If you want to enable this permission, submit a request at Zuora Global Support.
- `clearingExistingSoldToContact` (boolean, optional, default: false) — Whether to clear the existing sold-to contact ID at the subscription level. This field is mutually exclusive with the `soldToContactId` field. **Note**: If you have the [Flexible Billing Attributes](https://docs.zuora.com/en/zuora-billing/bill-your-customer/leverage-advanced-capabilities/flexible-billing/flexible-billing-attributes/overview-of-flexible-billing-attributes) feature disabled, this field is unavailable in the request body and the value of this field is `null` in the response body.
- `communicationProfileId` (string, optional) — The ID of the communication profile associated with the subscription. **Note**: This field is available in the request body only if you have the Flexible Billing Attributes feature turned on. The value is `null` in the response body without this feature turned on.
- `clearingExistingCommunicationProfile` (boolean, optional, default: false) — Whether to clear the existing communication profile at the subscription level. This field is mutually exclusive with the `communicationProfileId` field.
- `invoiceGroupNumber` (string, optional, nullable) — The number of the invoice group associated with the subscription. After enabling the Invoice Grouping feature, you can specify invoice group numbers to bill subscriptions and order line items based on specific criteria. For the same account, Zuora generates separate invoices for subscriptions and order line items, each identified by unique invoice group numbers. For more information, see [Invoice Grouping](https://knowledgecenter.zuora.com/Billing/Subscriptions/Invoice_Grouping). **Note**: * If you have the Flexible Billing Attributes feature disabled, this field is unavailable in the request body and the value of this field is `null` in the response body. * If you have the Flexible Billing Attributes feature enabled, and you do not specify this field in the request during subscription creation, the value of this field is automatically set to `null` in the response body.
- `invoiceSeparately` (boolean, optional) — Specifies whether the subscription appears on a separate invoice while generating invoices.
- `invoiceTemplateId` (string, optional) — The ID of the invoice template associated with the subscription. **Note**: * If you have the Flexible Billing Attributes feature disabled, this field is unavailable in the request body and the value of this field is `null` in the response body. * If you have the Flexible Billing Attributes feature enabled, and you do not specify this field in the request or you select **Default Template from Account** for this field during subscription creation, the value of this field is automatically set to `null` in the response body.
- `lastTerm` (LastTerm, optional) — The length of the period for the current subscription term.
- `paymentProfile` (CreateOrderTermsAndConditionsPaymentProfile, optional) — Container for payment gateway and payment method details of a payment. If you do not set this field, the payment method and payment gateway values cannot be set in the subscription. **Note:** - If multiple order actions are specified, they will be applied in the same order they appear in the API payload. - If one or more of these order actions include the `paymentProfile` element, the changes will be applied in sequence, and the result will be consistent with the last `paymentProfile` element.
- `paymentTerm` (string, optional) — The name of the payment term associated with the subscription. For example, `Net 30`. The payment term determines the due dates of invoices. **Note**: * If you have the Flexible Billing Attributes feature disabled, this field is unavailable in the request body and the value of this field is `null` in the response body. * If you have the Flexible Billing Attributes feature enabled, and you do not specify this field in the request or you select **Default Term from Account** for this field during subscription creation, the value of this field is automatically set to `null` in the response body.
- `renewalSetting` (enum, optional)
  - Allowed values: `RENEW_WITH_SPECIFIC_TERM`, `RENEW_TO_EVERGREEN`
- `renewalTerms` (list of RenewalTerm, optional)
- `scheduledCancelDate` (date, optional) — The date when the subscription is scheduled to be canceled. The subscription is not canceled until the date specified in this field.
- `scheduledSuspendDate` (date, optional) — The date when the subscription is scheduled to be suspended. The subscription is not suspended until the date specified in this field.
- `scheduledResumeDate` (date, optional) — The date when the subscription is scheduled to be resumed. The subscription is not resumed until the date specified in this field.
- `clearingScheduledCancelDate` (boolean, optional, default: false) — Whether to clear the value of the `scheduledCancelDate` field. **Note**: Do not set this field and the `scheduledCancelDate` field simultaneously.
- `clearingScheduledSuspendDate` (boolean, optional, default: false) — Whether to clear the value of the `scheduledSuspendDate` field. **Note**: Do not set this field and the `scheduledSuspendDate` field simultaneously.
- `clearingScheduledResumeDate` (boolean, optional, default: false) — Whether to clear the value of the `scheduledResumeDate` field. **Note**: Do not set this field and the `scheduledResumeDate` field simultaneously.
- `sequenceSetId` (string, optional) — The ID of the sequence set associated with the subscription. **Note**: * If you have the Flexible Billing Attributes feature disabled, this field is unavailable in the request body and the value of this field is `null` in the response body. * If you have the Flexible Billing Attributes feature enabled, and you do not specify this field in the request or you select **Default Set from Account** for this field during subscription creation, the value of this field is automatically set to `null` in the response body.
- `shipToContactId` (string, optional) — The ID of the ship-to contact associated with the subscription. **Note**: To access this field, you must have the ShipToContactSupport permission. If you want to enable this permission, submit a request at Zuora Global Support.
- `soldToContactId` (string, optional) — The ID of the sold-to contact associated with the subscription. **Note**: * If you have the Flexible Billing Attributes feature disabled, this field is unavailable in the request body and the value of this field is `null` in the response body. * If you have the Flexible Billing Attributes feature enabled, and you do not specify this field in the request or you select **Default Contact from Account** for this field during subscription creation, the value of this field is automatically set to `null` in the response body.

### TriggerDate

- `name` (enum, optional) — Name of the trigger date of the order action.
  - Allowed values: `ContractEffective`, `ServiceActivation`, `CustomerAcceptance`
- `triggerDate` (date, optional) — Trigger date in YYYY-MM-DD format.

### CreateOrderRatePlanUpdate

Information about an order action of type `UpdateProduct`.

- `chargeUpdates` (list of CreateOrderChargeUpdate, optional) — Array of the JSON objects containing the information for a charge update in the `updateProduct` type of order action.
- `clearingExistingFeatures` (boolean, optional) — Specifies whether all features in the rate plan will be cleared.
- `customFields` (map from string to any, optional) — Container for custom fields of the Rate Plan object. The custom fields of the Rate Plan object are used when rate plans are subscribed.
- `externalCatalogPlanId` (string, optional) — An external ID of the rate plan to be updated. You can use this field to specify an existing rate plan in your subscription. The value of the `externalCatalogPlanId` field must match one of the values that are predefined in the `externallyManagedPlanIds` field on a product rate plan. However, if there are multiple rate plans with the same `productRatePlanId` value existing in the subscription, you must use the `ratePlanId` field to update the rate plan. The `externalCatalogPlanId` field cannot be used to distinguish multiple rate plans in this case. **Note:** If both `externalCatalogPlanId` and `ratePlanId` are provided. They must point to the same product rate plan. Otherwise, the request would fail.
- `isAddingSubsetCharges` (boolean, optional) — Specifies whether to add a subset of charges to the subscription. **Note:** To access this field for adding a subset of charges, submit a request at Zuora Global Support.
- `productRatePlanNumber` (string, optional) — Number of a product rate plan for this subscription.
- `ratePlanId` (string, optional) — The id of the rate plan to be updated. It can be the latest version or any history version id.
- `specificUpdateDate` (date, optional) — The specific date when the Update Product order action takes effect. This field allows you to update a charge before a future-dated Update Product order action on the subscription. The format of the date is yyyy-mm-dd. **Note**: After you use this option, the charge's `TriggerEvent` field value will be changed to `SpecificDate`. See [Update a Product on Subscription with Future-dated Updates](https://knowledgecenter.zuora.com/BC_Subscription_Management/Orders/AC_Orders_Tutorials/C_Update_a_Product_in_a_Subscription/Update_a_Product_on_Subscription_with_Future-dated_Updates) for more information about this feature.
- `subscriptionProductFeatures` (list of CreateOrderRatePlanFeatureOverride, optional) — List of features associated with the rate plan. The system compares the `subscriptionProductFeatures` and `featureId` fields in the request with the counterpart fields in a rate plan. The comparison results are as follows: * If there is no `subscriptionProductFeatures` field or the field is empty, features in the rate plan remain unchanged. But if the `clearingExistingFeatures` field is additionally set to true, all features in the rate plan are cleared. * If the `subscriptionProductFeatures` field contains the `featureId` nested fields, as well as the optional `description` and `customFields` nested fields, the features indicated by the featureId nested fields in the request overwrite all features in the rate plan.
- `subscriptionRatePlanNumber` (string, optional) — Number of a rate plan for this subscription.
- `uniqueToken` (string, optional) — A unique string to represent the rate plan in the order. The unique token is used to perform multiple actions against a newly added rate plan. For example, if you want to add and update a product in the same order, assign a unique token to the newly added rate plan and use that token in future order actions.

### RampChargeRequest

- `chargeNumber` (string, optional) — The number of the rate plan charge.
- `uniqueToken` (string, optional) — Unique identifier for the charge. This identifier enables you to refer to the charge before the charge has an internal identifier in Zuora.

### RampIntervalRequest

Container for the intervals that the ramp is split into in its timeline. Zuora can report metrics for this specific period.

- `endDate` (date, required) — The end date of the interval.
- `startDate` (date, required) — The start date of the interval.
- `description` (string, optional) — The short description of the interval.
- `name` (string, optional) — The name of the interval.

### PrepaymentDefinition

The prepayment definition for the commitment schedule.

- `prepaymentFrequency` (enum, optional) — The prepayment frequency for the prepayment definition. If the value is `Specific_Months`, `Specific_Weeks`, or `Specific_Days`, use the `specificFrequency` field to specify the duration.
  - Allowed values: `Month`, `Quarter`, `Semi_Annual`, `Annual`, `Eighteen_Months`, `Two_Years`, `Three_Years`, `Five_Years`, `Specific_Months`, `Week`, `Specific_Weeks`, `Specific_Days`
- `specificFrequency` (integer, optional) — The specific frequency length. This field is required when `prepaymentFrequency` is `Specific_Months`, `Specific_Weeks`, or `Specific_Days`.
- `customFields` (map from string to any, optional) — Container for custom fields of a prepayment definition object.

### CreateOrderChargeOverride

Charge associated with a rate plan.

- `productRatePlanChargeId` (string, required) — Internal identifier of the product rate plan charge that the charge is based on. You can specify either `productRatePlanChargeId` or `productRatePlanChargeNumber`. When `isAddingSubsetCharges` is set to true, the product rate charge specified by `productRatePlanChargeId` is added to the existing rate plan specified by `ratePlanId`.
- `accountReceivableAccountingCode` (string, optional) — The accountReceivableAccountingCode of a standalone charge. **Note:** This field is available when the Standalone Orders, Zuora Finance, and Invoice Settlement features are enabled.
- `adjustmentLiabilityAccountingCode` (string, optional) — The adjustmentLiabilityAccountingCode of a standalone charge. **Note:** This field is available when the Standalone Orders feature and the Billing - Revenue Integration or Order to Revenue feature are enabled.
- `adjustmentRevenueAccountingCode` (string, optional) — The adjustmentRevenueAccountingCode of a standalone charge. **Note:** This field is available when the Standalone Orders feature and the Billing - Revenue Integration or Order to Revenue feature are enabled.
- `billing` (CreateOrderChargeOverrideBilling, optional) — Billing information about the charge.
- `chargeFunction` (enum, optional) — **Note**: This field is only available if you have both the Prepaid with Drawdown and Standalone Orders features enabled. With this field, you can use a standalone order to subscribe to a minimum commitment subscription. This field defines what type of charge it is: * CommitmentTrueUp: For recurring charges. Currency based minimum commitment charge. * CreditCommitment: For usage charges. Credit to minimum commitment funds.
  - Allowed values: `CommitmentTrueUp`, `CreditCommitment`
- `creditOption` (enum, optional) — **Note**: This field is only available if you have both the Minimum Commitment and Standalone Orders features enabled. With this field, you can use a standalone order to subscribe to a minimum commitment subscription. This field defines the way to calculate credit. See [Credit Option](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/J_Billing_Operations/Prepaid_with_Drawdown/Create_prepayment_charge#Credit_Option) for more information.
  - Allowed values: `TimeBased`, `ConsumptionBased`, `FullCreditBack`
- `chargeModel` (string, optional) — The chargeModel of a standalone charge. Supported charge models: * `FlatFee` * `PerUnit` * `Volume` * `Tiered` * `DiscountFixedAmount` * `DiscountPercentage` **Note:** This field is available when the Standalone Orders feature is enabled.
- `chargeNumber` (string, optional) — Charge number of the charge. For example, C-00000307. * If you do not set this field, Zuora will generate a charge number starting with a default prefix, for example, C-. This default prefix is predefined in **Billing Settings** > **Define Default Subscription and Order Settings**. * If you want to use a custom charge number, do not use the default prefix predefined in **Billing Settings** > **Define Default Subscription and Order Settings**. Use your own prefix, for example, SC-.
- `chargeType` (string, optional) — The chargeType of a standalone charge. Supported charge types: * `OneTime` * `Recurring` * `Usage` **Note:** This field is available when the Standalone Orders feature is enabled.
- `contractAssetAccountingCode` (string, optional) — The contractAssetAccountingCode of a standalone charge. **Note:** This field is available when the Standalone Orders feature and the Billing - Revenue Integration or Order to Revenue feature are enabled.
- `contractLiabilityAccountingCode` (string, optional) — The contractLiabilityAccountingCode of a standalone charge. **Note:** This field is available when the Standalone Orders feature and the Billing - Revenue Integration or Order to Revenue feature are enabled.
- `contractRecognizedRevenueAccountingCode` (string, optional) — The contractRecognizedRevenueAccountingCode of a standalone charge. **Note:** This field is available when the Standalone Orders feature and the Billing - Revenue Integration or Order to Revenue feature are enabled.
- `customFields` (RatePlanChargeObjectCustomFields, optional) — Container for custom fields of a Rate Plan Charge object.
- `deferredRevenueAccountingCode` (string, optional) — The deferredRevenueAccountingCode of a standalone charge. **Note:** This field is available when the Standalone Orders and Zuora Finance features are enabled.
- `description` (string, optional) — Description of the charge.
- `drawdownRate` (double, optional) — **Note**: This field is only available if you have the [Prepaid with Drawdown](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/J_Billing_Operations/Prepaid_with_Drawdown) feature enabled. The [conversion rate](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/J_Billing_Operations/Prepaid_with_Drawdown/Create_drawdown_charge#UOM_Conversion) between Usage UOM and Drawdown UOM for a [drawdown charge](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/J_Billing_Operations/Prepaid_with_Drawdown/Create_drawdown_charge). Must be a positive number (>0).
- `drawdownScope` (enum, optional) — The scope in which the funds are applicable for the usage drawdown charges during drawdown. Valid for the charge with function of `Prepayment` or `CommitmentTrueUp`. * `SUBSCRIPTION` - only usage charges of the same subscription can be drawn down. * `ACCOUNT` - only usage charges in the same account (subscription owner) can be drawn down. **Note:** This field is only available if you have the Prepaid with Drawdown feature enabled.
  - Allowed values: `SUBSCRIPTION`, `ACCOUNT`
- `endDate` (EndConditions, optional) — Specifies when a charge becomes inactive.
- `estimatedStartDate` (date, optional) — The estimated start date of the pending charge in an active subscription. If you specify `SpecificDate` in the `startDate` > `triggerEvent` field and want to create a completed order and an active subscription, you must specify either the `estimatedStartDate` or `startDate` > `specificTriggerDate` field: - `estimatedStartDate`: The charge will be in pending status. - `specificTriggerDate`: The charge will be in active status. The value of this field must be a date within the subscription term. The system will then automatically calculate the estimated end date for the pending charge. The estimated start and end dates are used to manage the estimated charge duration and forecast the revenue for the pending charge. **Note:** This field is available only when the Pending Subscription Processing feature is turned on.
- `excludeItemBillingFromRevenueAccounting` (boolean, optional, default: false) — The flag to exclude rate plan charge related invoice items, invoice item adjustments, credit memo items, and debit memo items from revenue accounting. If both the following features are enabled in your tenant, you must ensure the `excludeItemBillingFromRevenueAccounting` field is set consistently for a prepayment charge and the corresponding drawdown charge. In addition, if the `excludeItemBookingFromRevenueAccounting` field in a Create Subscription or Add Product order action is set to `false`, you must also set the `excludeItemBillingFromRevenueAccounting` field in this order action to `false`. * Prepaid with Drawdown * Unbilled Usage **Note**: This field is only available if you have the Order to Revenue or [Zuora Billing - Revenue Integration](https://knowledgecenter.zuora.com/Zuora_Revenue/Zuora_Billing_-_Revenue_Integration) feature enabled.
- `excludeItemBookingFromRevenueAccounting` (boolean, optional, default: false) — The flag to exclude rate plan charges from revenue accounting. If both the following features are enabled in your tenant, you must ensure the `excludeItemBookingFromRevenueAccounting` field is set consistently for a prepayment charge and the corresponding drawdown charge. * Prepaid with Drawdown * Unbilled Usage **Note**: This field is only available if you have the Order to Revenue or [Zuora Billing - Revenue Integration](https://knowledgecenter.zuora.com/Zuora_Revenue/Zuora_Billing_-_Revenue_Integration) feature enabled.
- `isAllocationEligible` (boolean, optional) — This field is used to identify if the charge segment is allocation eligible in revenue recognition. **Note**: The field is only available if you have the Order to Revenue feature enabled. To enable this field, submit a request at Zuora Global Support.
- `isRollover` (boolean, optional) — **Note**: This field is only available if you have the [Prepaid with Drawdown](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/J_Billing_Operations/Prepaid_with_Drawdown) feature enabled. The value is either "True" or "False". It determines whether the rollover fields are needed.
- `isUnbilled` (boolean, optional) — This field is used to dictate how to perform the accounting during revenue recognition. **Note**: The field is only available if you have the Order to Revenue feature enabled. To enable this field, submit a request at Zuora Global Support.
- `name` (string, optional) — The name of a standalone charge. **Note:** This field is available when the Standalone Orders feature is enabled.
- `negotiatedPriceTable` (list of NegotiatedItems, optional) — Array of negotiated price table information. The rate card entries provided in the array will override the existing rate card entries in the standard price table to form a negotiated price table that will be used during pricing evaluation. **Note:** To enable the Negotiated Price Table feature, submit a request to Zuora Global Support.
- `pobPolicy` (string, optional) — The pobPolicy of a standalone charge. **Note:** This field is available when the Standalone Orders feature is enabled.
- `prepaidQuantity` (double, optional) — **Note**: This field is only available if you have the [Prepaid with Drawdown](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/J_Billing_Operations/Prepaid_with_Drawdown) feature enabled. The number of units included in a [prepayment charge](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/J_Billing_Operations/Prepaid_with_Drawdown/Create_prepayment_charge). Must be a positive number (>0).
- `prepaymentUnitType` (enum, optional) — The unit type of the prepayment charge. For topup (recurring/one-time) charges, this field indicates what type of funds are created. For drawdown (usage) charges, this field indicates what type of funds are drawn down from those created by topup charges. * If the prepaid charge is `UNIT`, it will create a fund with given prepaidUom. * If the prepaid charge is `CURRENCY`, it will create a fund with the currency amount calculated in list price. **Note:** This field is only available if you have the Prepaid with Drawdown feature enabled.
  - Allowed values: `UNIT`, `CURRENCY`
- `pricing` (CreateOrderChargeOverridePricing, optional) — Pricing information about the charge.
- `pricingAttributes` (map from string to any, optional) — Container for pricing attribute and value that provide additional context for dynamic pricing. The pricing attribute values are used to get the charge’s list price from the product catalog. For the pricing attribute mapped to a Zuora object field, Zuora will retrieve the value automatically, you don’t need to pass its value explicitly. If you pass a value that doesn’t match the actual value of the Zuora object, an error will be returned. Note that for any pricing attribute mapped to the field of Zuora object Usage, because its value is only determined when the usage record arrives, you can’t provide a value via Orders API payload and Zuora will not retrieve its value automatically. **Note:** To enable Dynamic Pricing, submit a request to Zuora Global Support.
- `productCategory` (string, optional) — The productCategory of a standalone charge. **Note:** This field is available when the Standalone Orders feature is enabled.
- `productClass` (string, optional) — The productClass of a standalone charge. **Note:** This field is available when the Standalone Orders feature is enabled.
- `productFamily` (string, optional) — The productFamily of a standalone charge. **Note:** This field is available when the Standalone Orders feature is enabled.
- `productLine` (string, optional) — The productLine of a standalone charge. **Note:** This field is available when the Standalone Orders feature is enabled.
- `productRatePlanChargeNumber` (string, optional) — Number of a product rate-plan charge for this subscription. You can specify either `productRatePlanChargeId` or `productRatePlanChargeNumber`.
- `prorationOption` (enum, optional) — **Note**: This field is only available if you have the Charge Level Proration feature enabled. For more information, see Usage charge proration and Charge level proration option for a recurring charge. You can use this field to specify the charge-level proration option for a usage charge or recurring charge when you creating or adding a subscription rate plan charge through an order. The tenant-level proration option will be overridden. * `NoProration`: charge-level proration option that you can set for a usage charge. This option means to not use any proration, which is the default current system behavior for a usage charge. * `TimeBasedProration`: charge-level proration option that you can set for a usage charge. This option means to prorate the usage charge amount using the actual number of days if the billing period is a partial period. * `DefaultFromTenantSetting`: charge-level proration option that you can set for a recurring charge. This option means to follow the customer billing rule proration setting. * `ChargeFullPeriod`: charge-level proration option that you can set for a recurring charge. This options means to charge the full period amount for a partial billing period. Note that this setting means that there is no proration for either collecting or refunding. Even if you cancel the recurring charge in the middle of a billing period, there is no refund for this billing period. * `CustomizeProrationOptionOverrides`: charge-level proration option that you can set for a recurring charge. This option means to use the customized charge proration settings that is specified by the `ratingPropertiesOverride` field.
  - Allowed values: `NoProration`, `TimeBasedProration`, `DefaultFromTenantSetting`, `ChargeFullPeriod`, `CustomizeProrationOptionOverrides`
- `ratingPropertiesOverride` (CreateOrderChargeOverrideRatingPropertiesOverride, optional) — **Note**: This field is only available if you have the Charge Level Proration feature enabled. For more information, see Charge level proration option for a recurring charge. This field is used only when the value of the `prorationOption` field is set to `CustomizeProrationOptionOverrides`. Use this field to specify more customized proration options for a recurring charge when you creating or adding a subscription rate plan charge through an order. The tenant-level proration option will be overridden.
- `recognizedRevenueAccountingCode` (string, optional) — The recognizedRevenueAccountingCode of a standalone charge. **Note:** This field is available when the Standalone Orders and Zuora Finance features are enabled.
- `revRecCode` (string, optional) — Revenue Recognition Code
- `revRecTriggerCondition` (enum, optional) — Specifies the revenue recognition trigger condition. * `Contract Effective Date` * `Service Activation Date` * `Customer Acceptance Date`
  - Allowed values: `Contract Effective Date`, `Service Activation Date`, `Customer Acceptance Date`
- `revenueRecognitionRuleName` (string, optional) — Specifies the revenue recognition rule, such as `Recognize upon invoicing` or `Recognize daily over time`.
- `revenueRecognitionTiming` (enum, optional) — Specifies the type of revenue recognition timing. Predefined options are listed as enum values in this API Reference. Other options might also be avaliable depending on the revenue recognition policy configuration in the Zuora Billing UI. **Note**: This field is only available if you have both the Order to Revenue feature and the Standalone Orders feature enabled.
  - Allowed values: `Upon Billing Document Posting Date`, `Upon Order Activation Date`
- `revenueAmortizationMethod` (enum, optional) — Specifies the type of revenue amortization method. Predefined options are listed as enum values in this API Reference. Other options might also be avaliable depending on the revenue recognition policy configuration in the Zuora Billing UI. **Note**: This field is only available if you have both the Order to Revenue feature and the Standalone Orders feature enabled.
  - Allowed values: `Immediate`, `Ratable Using Start And End Dates`
- `rolloverApply` (enum, optional) — **Note**: This field is only available if you have the [Prepaid with Drawdown](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/J_Billing_Operations/Prepaid_with_Drawdown) feature enabled. This field defines the priority of rollover, which is either first or last.
  - Allowed values: `ApplyFirst`, `ApplyLast`
- `rolloverPeriodLength` (integer, optional) — **Note**: This field is only available if you have the [Prepaid with Drawdown](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/J_Billing_Operations/Prepaid_with_Drawdown) feature enabled. Use this field when you want to set the rollover fund's period length shorter than the prepayment charge's validity period. In this case, you must set the `rolloverPeriods` field to 1. For example, you can define the rollover fund's period length as 5 months, shorter than the prepayment charge's validity period: a year.
- `rolloverPeriods` (double, optional) — **Note**: This field is only available if you have the [Prepaid with Drawdown](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/J_Billing_Operations/Prepaid_with_Drawdown) feature enabled. This field defines the number of rollover periods, it is restricted to 3.
- `startDate` (CreateOrderTriggerParams, optional) — Specifies when a charge becomes active.
- `taxCode` (string, optional) — The tax code of a charge. This field is available when the `taxable` field is set to `true`.
- `taxMode` (enum, optional) — The tax mode of a charge. This field is available when the `taxable` field is set to `true`.
  - Allowed values: `TaxExclusive`, `TaxInclusive`
- `taxable` (boolean, optional) — The flag indicates whether the charge is taxable. If this field is set to `true`, you must specify the `taxCode` and `taxMode` fields.
- `unBilledReceivablesAccountingCode` (string, optional) — The unBilledReceivablesAccountingCode of a standalone charge. **Note:** This field is available when the Standalone Orders feature and the Billing - Revenue Integration or Order to Revenue feature are enabled.
- `uniqueToken` (string, optional) — Unique identifier for the charge. This identifier enables you to refer to the charge before the charge has an internal identifier in Zuora. For instance, suppose that you want to use a single order to add a product to a subscription and later update the same product. When you add the product, you can set a unique identifier for the charge. Then when you update the product, you can use the same unique identifier to specify which charge to modify.
- `upsellOriginChargeNumber` (string, optional) — The identifier of the original upselling charge associated with the current charge. For a termed subscription, you can now use the "Create an order" API operation to perform an Add Product order action to make a product quantity upsell for per unit recurring charges. The benefit is that the charge added by this approach will be automatically combined with the original existing charge for which you want to upsell when the subscription is renewed. The approach is as follows: * Use an Add Product order action to add a charge that is of the same charge type, charge model, and charge end date as the existing per unit recurring charge for which you want to make a quantity upsell. * In the preceding charge to add, use the `upsellOriginChargeNumber` field to specify the existing rate plan charge for which you want to make the quantity upsell. Note that a termed subscription with such upsell charges can not be changed to an evergreen subscription. **Note**: The Quantity Upsell feature is in the **Early Adopter** phase. We are actively soliciting feedback from a small set of early adopters before releasing it as generally available. If you want to join this early adopter program, submit a request at [Zuora Global Support](https://support.zuora.com).
- `validityPeriodType` (enum, optional) — **Note**: This field is only available if you have enabled either of the following: * Prepaid with Drawdown * Minimum Commitment * Both Minimum Commitment and Standalone Orders You can use this field in the following scenarios: * When you create a [prepayment charge](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/J_Billing_Operations/Prepaid_with_Drawdown/Create_prepayment_charge), use this field to define the period in which the prepayment units are valid to use. * When you override the setting of commitment true-up charge from the product catalog, set this field consistently with the value of the `billing` > `billingPeriod` field in this charge. * When you use a standalone order to create a commitment true-up charge, set this field consistently with the value of the `billing` > `billingPeriod` field in this charge.
  - Allowed values: `SUBSCRIPTION_TERM`, `ANNUAL`, `SEMI_ANNUAL`, `QUARTER`, `MONTH`

### CreateOrderRatePlanFeatureOverride

Information about feature in rate plan.

- `featureId` (string, required) — Internal identifier of the feature in the product catalog.
- `customFields` (map from string to any, optional) — A container for custom fields of the feature.
- `description` (string, optional) — A description of the feature.

### CreateOrderChangePlanRatePlanOverride

Information about the new product rate plan to add.

- `chargeOverrides` (list of ChangePlanChargeOverride, optional) — List of charges associated with the rate plan.
- `clearingExistingFeatures` (boolean, optional) — Specifies whether all features in the rate plan will be cleared.
- `customFields` (map from string to any, optional) — Container for custom fields of the Rate Plan object. The custom fields of the Rate Plan object are used when rate plans are subscribed.
- `externalCatalogPlanId` (string, optional) — An external ID of the product rate plan to be added. You can use this field to specify a product rate plan that is imported from an external system. The value of the `externalCatalogPlanId` field must match one of the values that are predefined in the `externallyManagedPlanIds` field on a product rate plan. **Note:** If both `externalCatalogPlanId` and `productRatePlanId` are provided. They must point to the same product rate plan. Otherwise, the request would fail.
- `externallyManagedPlanId` (string, optional) — Indicates the unique identifier for the rate plan purchased on a third-party store. This field is used to represent a subscription rate plan created through third-party stores.
- `subscriptionRatePlanNumber` (string, optional) — Number of a subscription rate plan for this subscription.
- `isFromExternalCatalog` (boolean, optional) — Indicates whether the rate plan is created from the Zuora product catalog or from an external product catalog. **Note:** This field is available when the Standalone Orders feature is enabled.
- `productRatePlanId` (string, optional) — Internal identifier of the product rate plan that the rate plan is based on.
- `productRatePlanNumber` (string, optional) — Number of a product rate plan for this subscription.
- `ratePlanName` (string, optional) — Name of the standalone rate plan. **Note:** This field is available when the Standalone Orders feature is enabled.
- `subscriptionProductFeatures` (list of CreateOrderRatePlanFeatureOverride, optional) — List of features associated with the rate plan. The system compares the `subscriptionProductFeatures` and `featureId` fields in the request with the counterpart fields in a rate plan. The comparison results are as follows: * If there is no `subscriptionProductFeatures` field or the field is empty, features in the rate plan remain unchanged. But if the `clearingExistingFeatures` field is additionally set to true, all features in the rate plan are cleared. * If the `subscriptionProductFeatures` field contains the `featureId` nested fields, as well as the optional `description` and `customFields` nested fields, the features indicated by the featureId nested fields in the request overwrite all features in the rate plan.
- `uniqueToken` (string, optional) — Unique identifier for the rate plan. This identifier enables you to refer to the rate plan before the rate plan has an internal identifier in Zuora. For instance, suppose that you want to use a single order to add a product to a subscription and later update the same product. When you add the product, you can set a unique identifier for the rate plan. Then when you update the product, you can use the same unique identifier to specify which rate plan to modify.

### CreateOrderCreateSubscriptionNewSubscriptionOwnerAccount

Container for the data access control field.

- `billCycleDay` (integer, required) — Day of the month that the account prefers billing periods to begin on. If set to 0, the bill cycle day will be set as "AutoSet".
- `billToContact` (BillToContactPostOrder, required) — Container for custom fields of a Contact object.
- `currency` (string, required) — ISO 3-letter currency code (uppercase). For example, USD.
- `name` (string, required) — Account name.
- `accountNumber` (string, optional) — Account number. For example, A00000001.
- `additionalEmailAddresses` (string, optional) — List of additional email addresses to receive emailed invoices. Values should be a comma-separated list of email addresses.
- `allowInvoiceEdit` (boolean, optional) — Indicates if associated invoices can be edited. Values are: * `true` * `false` (default)
- `autoPay` (boolean, optional) — Specifies whether future payments are automatically billed when they are due.
- `batch` (string, optional) — Name of the billing batch that the account belongs to. For example, Batch1.
- `communicationProfileId` (string, optional) — Internal identifier of the communication profile that Zuora uses when sending notifications to the account's contacts.
- `creditCard` (creditCard, optional) — Default payment method associated with an account. Only credit card payment methods are supported.
- `creditMemoTemplateId` (string, optional) — **Note:** This field is only available if you have [Invoice Settlement](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/Invoice_Settlement) enabled. The Invoice Settlement feature is generally available as of Zuora Billing Release 296 (March 2021). This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice Item Settlement. If you want to enable Invoice Settlement, see [Invoice Settlement Enablement and Checklist Guide](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/Invoice_Settlement/Invoice_Settlement_Migration_Checklist_and_Guide) for more information. The unique ID of the credit memo template, configured in **Billing Settings** > **Manage Billing Document Configuration** through the Zuora UI. For example, 2c92c08a6246fdf101626b1b3fe0144b.
- `crmId` (string, optional) — External identifier of the account in a CRM system.
- `customFields` (AccountObjectCustomFields, optional) — Container for custom fields of an Account object.
- `customerServiceRepName` (string, optional) — Name of the account's customer service representative, if applicable.
- `debitMemoTemplateId` (string, optional) — **Note:** This field is only available if you have [Invoice Settlement](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/Invoice_Settlement) enabled. The Invoice Settlement feature is generally available as of Zuora Billing Release 296 (March 2021). This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice Item Settlement. If you want to enable Invoice Settlement, see [Invoice Settlement Enablement and Checklist Guide](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/Invoice_Settlement/Invoice_Settlement_Migration_Checklist_and_Guide) for more information. The unique ID of the debit memo template, configured in **Billing Settings** > **Manage Billing Document Configuration** through the Zuora UI. For example, 2c92c08d62470a8501626b19d24f19e2.
- `hpmCreditCardPaymentMethodId` (string, optional) — The ID of the payment method associated with this account. The payment method specified for this field will be set as the default payment method of the account. If the `autoPay` field is set to `true`, you must provide the credit card payment method ID for either this field or the `creditCard` field, but not both. For the Credit Card Reference Transaction payment method, you can specify the payment method ID in this field or use the `paymentMethod` field to create a CC Reference Transaction payment method for an account.
- `invoiceDeliveryPrefsEmail` (boolean, optional) — Specifies whether to turn on the invoice delivery method 'Email' for the new account. Values are: * `true` (default). Turn on the invoice delivery method 'Email' for the new account. * `false`. Turn off the invoice delivery method 'Email' for the new account.
- `invoiceDeliveryPrefsPrint` (boolean, optional) — Specifies whether to turn on the invoice delivery method 'Print' for the new account. Values are: * `true`. Turn on the invoice delivery method 'Print' for the new account. * `false` (default). Turn off the invoice delivery method 'Print' for the new account.
- `invoiceTemplateId` (string, optional) — Internal identifier of the invoice template that Zuora uses when generating invoices for the account.
- `notes` (string, optional) — Notes about the account. These notes are only visible to Zuora users.
- `parentId` (string, optional) — Identifier of the parent customer account for this Account object. Use this field if you have Customer Hierarchy enabled.
- `paymentGateway` (string, optional) — The payment gateway that Zuora uses when processing electronic payments and refunds for the account. If you do not specify this field or if the value of this field is null, Zuora uses your default payment gateway.
- `paymentMethod` (POSTPaymentMethodRequest, optional) — Payment method information associated with an account.
- `paymentTerm` (string, optional) — Name of the payment term associated with the account. For example, "Net 30". The payment term determines the due dates of invoices.
- `purchaseOrderNumber` (string, optional) — The number of the purchase order associated with this account. Purchase order information generally comes from customers.
- `salesRep` (string, optional) — The name of the sales representative associated with this account, if applicable.
- `soldToContact` (SoldToContactPostOrder, optional) — Container for custom fields of a Contact object.
- `taxInfo` (TaxInfo, optional) — Information about the tax exempt status of a customer account.

### CreateOrderCreateSubscriptionPaymentProfile

Container for payment gateway and payment method details of a payment. If you do not set this field, the payment method and payment gateway values cannot be set in the subscription. **Note:** - If multiple order actions are specified, they will be applied in the same order they appear in the API payload. - If one or more of these order actions include the `paymentProfile` element, the changes will be applied in sequence, and the result will be consistent with the last `paymentProfile` element.

- `paymentGatewayId` (string, optional) — The ID of the gateway instance that processes the payment. This field remains unset, if you do not provide value.
- `paymentMethodId` (string, optional) — The ID of the payment method. This field remains unset, if you do not provide value.

### CreateOrderCreateSubscriptionTerms

Container for the terms and renewal settings of the subscription.

- `initialTerm` (CreateOrderCreateSubscriptionTermsInitialTerm, required) — Information about the first term of the subscription.
- `autoRenew` (boolean, optional) — Specifies whether the subscription automatically renews at the end of the each term. Only applicable if the type of the first term is `TERMED`.
- `renewalSetting` (enum, optional) — Specifies the type of the terms that follow the first term if the subscription is renewed. Only applicable if the type of the first term is `TERMED`. * `RENEW_WITH_SPECIFIC_TERM` - Each renewal term has a predefined duration. The first entry in `renewalTerms` specifies the duration of the second term of the subscription, the second entry in `renewalTerms` specifies the duration of the third term of the subscription, and so on. The last entry in `renewalTerms` specifies the ultimate duration of each renewal term. * `RENEW_TO_EVERGREEN` - The second term of the subscription does not have a predefined duration.
  - Allowed values: `RENEW_WITH_SPECIFIC_TERM`, `RENEW_TO_EVERGREEN`
- `renewalTerms` (list of RenewalTerm, optional) — List of renewal terms of the subscription. Only applicable if the type of the first term is `TERMED` and the value of the `renewalSetting` field is `RENEW_WITH_SPECIFIC_TERM`.

### OwnerTransferPaymentProfile

Container for payment gateway and payment method details of a payment. If you do not set this field, the payment method and payment gateway values cannot be set in the subscription. **Note:** - If multiple order actions are specified, they will be applied in the same order they appear in the API payload. - If one or more of these order actions include the `paymentProfile` element, the changes will be applied in sequence, and the result will be consistent with the last `paymentProfile` element.

- `paymentGatewayId` (string, optional) — The ID of the gateway instance that processes the payment. This field remains unset, if you do not provide value.
- `paymentMethodId` (string, optional) — The ID of the payment method. This field remains unset, if you do not provide value.

### RemoveProductCustomFields

Custom fields of the Rate Plan object. The name of each custom field has the form *customField*\_\_c. Custom field names are case sensitive. See [Manage Custom Fields](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Manage_Custom_Fields) for more information.

### OrderActionRatePlanChargeRemove

The JSON object containing the information for a charge update(custom fields only) in the 'RemoveProduct' type order action. A custom field of rate plan charge can be updated from a subscription through one order action. - If you update customFields of a charge while removing a rate plan, specify the following fields: - `chargeNumber` - `productRatePlanChargeId` - `productRatePlanNumber` - `uniqueToken` - `customFields`

- `chargeNumber` (string, optional) — Read only. Identifies the charge to be updated.
- `productRatePlanChargeId` (string, optional) — Identifier of the rate plan that was updated.
- `productRatePlanNumber` (string, optional) — Number of a product rate plan for this subscription.
- `uniqueToken` (string, optional) — A unique string to represent the rate plan charge in the order. The unique token is used to perform multiple actions against a newly added rate plan. For example, if you want to add and update a product in the same order, you would assign a unique token to the product rate plan when added and use that token in future order actions.
- `customFields` (map from string to OrderActionRatePlanChargeRemoveCustomFields, optional) — Container for custom fields of a Rate Plan Charge object.

### LastTerm

The length of the period for the current subscription term.

- `termType` (enum, required)
  - Allowed values: `TERMED`, `EVERGREEN`
- `period` (integer, optional) — Specify only when the termType is 'TERMED'.
- `periodType` (enum, optional) — Specify only when the termType is 'TERMED'.
  - Allowed values: `Month`, `Year`, `Day`, `Week`
- `startDate` (date, optional) — The start date of the current term. You can change the term start date of a renewed subscription through a T&Cs order action. However, when changing it to an earlier date, this date must not be earlier than the term start date of the current term before this T&Cs.
- `endDate` (date, optional) — The end date of the current term, in YYYY-MM-DD format.

### CreateOrderTermsAndConditionsPaymentProfile

Container for payment gateway and payment method details of a payment. If you do not set this field, the payment method and payment gateway values cannot be set in the subscription. **Note:** - If multiple order actions are specified, they will be applied in the same order they appear in the API payload. - If one or more of these order actions include the `paymentProfile` element, the changes will be applied in sequence, and the result will be consistent with the last `paymentProfile` element.

- `paymentGatewayId` (string, optional) — The ID of the gateway instance that processes the payment. This field remains unset, if you do not provide value.
- `paymentMethodId` (string, optional) — The ID of the payment method. This field remains unset, if you do not provide value.

### RenewalTerm

- `period` (integer, optional) — Duration of the renewal term in months, years, days, or weeks, depending on the value of the `periodType` field.
- `periodType` (enum, optional) — Unit of time that the renewal term is measured in.
  - Allowed values: `Month`, `Year`, `Day`, `Week`

### CreateOrderChargeUpdate

The JSON object containing the information for a charge update in the 'UpdateProduct' type order action.

- `billing` (BillingUpdate, optional)
- `chargeNumber` (string, optional) — The number of the charge to be updated. The value of this field is inherited from the `subscriptions` > `orderActions` > `addProduct` > `chargeOverrides` > `chargeNumber` field.
- `estimatedStartDate` (date, optional) — The estimated start date of the pending charge in an active subscription. The value of this field must be a date within the subscription term. The system will then automatically calculate the estimated end date for the pending charge. The estimated start and end dates are used to manage the estimated charge duration and forecast the revenue for the pending charge. **Note:** This field is available only when the Pending Subscription Processing feature is turned on.
- `negotiatedPriceTable` (list of NegotiatedItems, optional) — Array of negotiated price table information. The rate card entries provided in the array will override the existing rate card entries in the standard price table to form a negotiated price table that will be\ used during pricing evaluation. **Note:** To enable the Negotiated Price Table feature, submit a request to Zuora Global Support.
- `pricingAttributes` (map from string to any, optional) — Container for pricing attribute and value that provide additional context for dynamic pricing. The pricing attribute values included in the array will update the existing values. For the pricing attribute mapped to a Zuora object field, Zuora will retrieve the value automatically, you don’t need to pass its value explicitly. If you pass a value that doesn’t match the actual value of the Zuora object, an error will be returned. Note that for any pricing attribute mapped to the field of Zuora object Usage, because its value is only determined when the usage record arrives, you can’t provide a value via Orders API payload and Zuora will not retrieve its value automatically. **Note:** To enable Dynamic Pricing, submit a request to Zuora Global Support.
- `productRatePlanChargeId` (string, optional) — ID of a product rate plan charge for this subscription. When `isAddingSubsetCharges` is set to true, the product rate charge specified by `productRatePlanChargeId` is added to the existing rate plan specified by `ratePlanId`.
- `productRatePlanChargeNumber` (string, optional) — Number of a product rate plan charge for this subscription. When `isAddingSubsetCharges` is set to true, the product rate charge specified by `productRatePlanChargeNumber` is added to the existing rate plan specified by `ratePlanId`.
- `customFields` (RatePlanChargeObjectCustomFields, optional) — Container for custom fields of a Rate Plan Charge object.
- `description` (string, optional)
- `effectiveDate` (CreateOrderUpdateProductTriggerParams, optional) — Specifies when a charge becomes active.
- `prepaidQuantity` (double, optional) — **Note**: This field is only available if you have the [Prepaid with Drawdown](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/J_Billing_Operations/Prepaid_with_Drawdown) feature enabled. The number of units included in a [prepayment charge](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/J_Billing_Operations/Prepaid_with_Drawdown/Create_prepayment_charge). Must be a positive number (>0).
- `pricing` (CreateOrderPricingUpdate, optional) — Pricing information about the charge.
- `uniqueToken` (string, optional) — A unique string to represent the rate plan charge in the order. The unique token is used to perform multiple actions against a newly added rate plan charge. For example, if you want to add and update a product in the same order, assign a unique token to the newly added rate plan charge and use that token in future order actions.

### CreateOrderChargeOverrideBilling

Billing information about the charge.

- `billCycleDay` (integer, optional) — Day of the month that each billing period begins on. Only applicable if the value of the `billCycleType` field is `SpecificDayofMonth`.
- `billCycleType` (enum, optional) — Specifies how Zuora determines the day that each billing period begins on. * `DefaultFromCustomer` - Each billing period begins on the bill cycle day of the account that owns the subscription. * `SpecificDayofMonth` - Use the `billCycleDay` field to specify the day of the month that each billing period begins on. * `SubscriptionStartDay` - Each billing period begins on the same day of the month as the start date of the subscription. * `ChargeTriggerDay` - Each billing period begins on the same day of the month as the date when the charge becomes active. * `SpecificDayofWeek` - Use the `weeklyBillCycleDay` field to specify the day of the week that each billing period begins on.
  - Allowed values: `DefaultFromCustomer`, `SpecificDayofMonth`, `SubscriptionStartDay`, `ChargeTriggerDay`, `SpecificDayofWeek`
- `billingPeriod` (enum, optional) — Billing frequency of the charge. The value of this field controls the duration of each billing period. If the value of this field is `Specific_Days`, `Specific_Months` or `Specific_Weeks`, use the `specificBillingPeriod` field to specify the duration of each billing period.
  - Allowed values: `Month`, `Quarter`, `Semi_Annual`, `Annual`, `Eighteen_Months`, `Two_Years`, `Three_Years`, `Five_Years`, `Specific_Months`, `Subscription_Term`, `Week`, `Specific_Weeks`, `Specific_Days`
- `billingPeriodAlignment` (enum, optional) — Specifies how Zuora determines when to start new billing periods. You can use this field to align the billing periods of different charges. * `AlignToCharge` - Zuora starts a new billing period on the first billing day that falls on or after the date when the charge becomes active. * `AlignToSubscriptionStart` - Zuora starts a new billing period on the first billing day that falls on or after the start date of the subscription. * `AlignToTermStart` - For each term of the subscription, Zuora starts a new billing period on the first billing day that falls on or after the start date of the term. See the `billCycleType` field for information about how Zuora determines the billing day. **Note**: This field is not supported in one time charges.
  - Allowed values: `AlignToCharge`, `AlignToSubscriptionStart`, `AlignToTermStart`
- `billingTiming` (enum, optional) — Specifies whether to invoice for a billing period on the first day of the billing period (billing in advance) or the first day of the next billing period (billing in arrears).
  - Allowed values: `IN_ADVANCE`, `IN_ARREARS`
- `specificBillingPeriod` (integer, optional) — Duration of each billing period in months or weeks, depending on the value of the `billingPeriod` field. Only applicable if the value of the `billingPeriod` field is `Specific_Months` or `Specific_Weeks`.
- `weeklyBillCycleDay` (enum, optional) — Day of the week that each billing period begins on. Only applicable if the value of the `billCycleType` field is `SpecificDayofWeek`.
  - Allowed values: `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday`, `Saturday`

### RatePlanChargeObjectCustomFields

Container for custom fields of a Rate Plan Charge object.

### EndConditions

Specifies when a charge becomes inactive.

- `endDateCondition` (enum, optional) — Condition for the charge to become inactive. - If the value of this field is `Fixed_Period`, the charge is active for a predefined duration based on the value of the `upToPeriodsType` and `upToPeriods` fields. - If the value of this field is `Specific_End_Date`, use the `specificEndDate` field to specify the date when the charge becomes inactive.
  - Allowed values: `Subscription_End`, `Fixed_Period`, `Specific_End_Date`
- `endDatePolicy` (enum, optional) — End date policy of the discount charge to become active when the **Apply to billing period partially** checkbox is selected from the product catalog UI or the `applyToBillingPeriodPartially` field is set as true from the "CRUD: Create a product rate plan charge" operation. - If the value of this field is `FixedPeriod`, the charge is active for a predefined duration based on the value of the `upToPeriodsType` and `upToPeriods` fields. - If the value of this field is `SpecificEndDate`, use the `specificEndDate` field to specify the date when the charge becomes inactive. **Notes**: - You must enable the [Enhanced Discounts](https://knowledgecenter.zuora.com/Zuora_Billing/Build_products_and_prices/Basic_concepts_and_terms/B_Charge_Models/D_Manage_Enhanced_Discount) feature to access this field. - You can use either `endDateCondition` or `endDatePolicy` to define when a discount charge ends, but not both at the same time.
  - Allowed values: `AlignToApplyToCharge`, `SpecificEndDate`, `FixedPeriod`
- `specificEndDate` (date, optional) — Date in YYYY-MM-DD format. Only applicable if the value of the `endDateCondition` field is `Specific_End_Date`.
- `upToPeriods` (integer, optional) — Duration of the charge in billing periods, days, weeks, months, or years, depending on the value of the `upToPeriodsType` field. Only applicable if the value of the `endDateCondition` field is `Fixed_Period`.
- `upToPeriodsType` (enum, optional) — Unit of time that the charge duration is measured in. Only applicable if the value of the `endDateCondition` field is `Fixed_Period`.
  - Allowed values: `Billing_Periods`, `Days`, `Weeks`, `Months`, `Years`

### NegotiatedItems

- `items` (map from string to any, optional) — The rate card entry object. **Note:** For more information, refer to the rate card definition in the product catalog.

### CreateOrderChargeOverridePricing

Pricing information about the charge.

- `chargeModelData` (ChargeModelDataOverride, optional) — Container for charge model configuration data. **Note**: This field is only available if you have the High Water Mark, Pre-Rated Pricing, or Multi-Attribute Pricing charge models enabled. The High Water Mark and Pre-Rated Pricing charge models are available for customers with Enterprise and Nine editions by default. If you are a Growth customer, see [Zuora Editions](https://docs.zuora.com/en/entitlements/current-entitlements/zuora-editions) for pricing information.
- `discount` (DiscountPricingOverride, optional) — Pricing information about a discount charge.
- `oneTimeFlatFee` (OneTimeFlatFeePricingOverride, optional) — Pricing information about a one-time charge that uses the "flat fee" charge model. In this charge model, the charge has a fixed price.
- `oneTimePerUnit` (OneTimePerUnitPricingOverride, optional) — Pricing information about a one-time charge that uses the "per unit" charge model. In this charge model, the charge has a fixed price per unit purchased.
- `oneTimeTiered` (OneTimeTieredPricingOverride, optional) — Pricing information about a one-time charge that uses the "tiered pricing" charge model. In this charge model, the charge has cumulative pricing tiers that become effective as units are purchased.
- `oneTimeVolume` (OneTimeVolumePricingOverride, optional) — Pricing information about a one-time charge that uses the "volume pricing" charge model. In this charge model, the charge has a variable price per unit, depending on how many units are purchased.
- `recurringCalculated` (RecurringCalculatedPricingOverride, optional) — Pricing information about a recurring charge that uses the "calculated" charge model.
- `recurringDeliveryBased` (RecurringDeliveryPricingOverride, optional) — Pricing information about a recurring charge that uses the Delivery Pricing charge model. In this charge model, the charge has a fixed price. This field is only available if you have the Delivery Pricing charge model enabled.
- `recurringFlatFee` (RecurringFlatFeePricingOverride, optional) — Pricing information about a recurring charge that uses the "flat fee" charge model. In this charge model, the charge has a fixed price.
- `recurringPerUnit` (RecurringPerUnitPricingOverride, optional) — Pricing information about a recurring charge that uses the "per unit" charge model. In this charge model, the charge has a fixed price per unit purchased.
- `recurringTiered` (RecurringTieredPricingOverride, optional) — Pricing information about a recurring charge that uses the "tiered pricing" charge model. In this charge model, the charge has cumulative pricing tiers that become effective as units are purchased.
- `recurringVolume` (RecurringVolumePricingOverride, optional) — Pricing information about a recurring charge that uses the "volume pricing" charge model. In this charge model, the charge has a variable price per unit, depending on how many units are purchased.
- `usageFlatFee` (UsageFlatFeePricingOverride, optional) — Pricing information about a usage charge that uses the "flat fee" charge model. In this charge model, the charge has a fixed price.
- `usageOverage` (UsageOveragePricingOverride, optional) — Pricing information about a usage charge that uses the "overage" charge model. In this charge model, the charge has an allowance of free units and a fixed price per additional unit consumed.
- `usagePerUnit` (UsagePerUnitPricingOverride, optional) — Pricing information about a usage charge that uses the "per unit" charge model. In this charge model, the charge has a fixed price per unit consumed.
- `usageTiered` (UsageTieredPricingOverride, optional) — Pricing information about a usage charge that uses the "tiered pricing" charge model. In this charge model, the charge has cumulative pricing tiers that become effective as units are consumed.
- `usageTieredWithOverage` (UsageTieredWithOveragePricingOverride, optional) — Pricing information about a usage charge that uses the "tiered with overage" charge model. In this charge model, the charge has cumulative pricing tiers that become effective as units are consumed. The charge also has a fixed price per unit consumed beyond the limit of the final tier.
- `usageVolume` (UsageVolumePricingOverride, optional) — Pricing information about a usage charge that uses the "volume pricing" charge model. In this charge model, the charge has a variable price per unit, depending on how many units are consumed.

### CreateOrderChargeOverrideRatingPropertiesOverride

**Note**: This field is only available if you have the Charge Level Proration feature enabled. For more information, see Charge level proration option for a recurring charge. This field is used only when the value of the `prorationOption` field is set to `CustomizeProrationOptionOverrides`. Use this field to specify more customized proration options for a recurring charge when you creating or adding a subscription rate plan charge through an order. The tenant-level proration option will be overridden.

- `isProratePartialMonth` (boolean, optional) — **Note**: This field is only available if you have the Charge Level Proration feature enabled. For more information, see Charge level proration option for a recurring charge. Use this field to specify whether to prorate the recurring charge for a partial month. The tenant-level proration option will be overridden.
- `prorationUnit` (enum, optional) — **Note**: This field is only available if you have the Charge Level Proration feature enabled. For more information, see Charge level proration option for a recurring charge. Use this field to specify the unit of proration for a recurring charge. The tenant-level proration option will be overridden.
  - Allowed values: `ProrateByDay`, `ProrateByMonthFirst`
- `daysInMonth` (enum, optional) — **Note**: This field is only available if you have the Charge Level Proration feature enabled. For more information, see Charge level proration option for a recurring charge. Use this field to specify the number of days counted for a month when prorating a recurring charge. The tenant-level proration option will be overridden. See more details for each of the following enum values in Proration.
  - Allowed values: `UseActualDays`, `Assume30Days`, `Assume30DaysStrict`

### CreateOrderTriggerParams

Specifies when a charge becomes active.

- `periodsAfterChargeStart` (integer, optional) — Duration of the discount charge in days, weeks, months, or years, depending on the value of the `startPeriodsType` field. Only applicable if the value of the `startDatePolicy` field is `FixedPeriodAfterApplyToChargeStartDate`. **Note**: You must enable the [Enhanced Discounts](https://knowledgecenter.zuora.com/Zuora_Billing/Build_products_and_prices/Basic_concepts_and_terms/B_Charge_Models/D_Manage_Enhanced_Discount) feature to access this field.
- `specificTriggerDate` (date, optional) — Date in YYYY-MM-DD format. Only applicable if the value of the `triggerEvent` field is `SpecificDate`. While this field is applicable, if this field is not set, your `CreateSubscription` order action creates a `Pending` order and a `Pending Acceptance` subscription. If at the same time the service activation date is required and not set, a `Pending Activation` subscription is created. While this field is applicable, if this field is not set, the following order actions create a `Pending` order but do not impact the subscription status. **Note**: This feature is in **Limited Availability**. If you want to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/). * AddProduct * UpdateProduct * RemoveProduct * RenewSubscription * TermsAndConditions
- `startDatePolicy` (enum, optional) — Start date policy of the discount charge to become active when the **Apply to billing period partially** checkbox is selected from the product catalog UI or the `applyToBillingPeriodPartially` field is set as true from the "CRUD: Create a product rate plan charge" operation. - If the value of this field is `SpecificDate`, use the `specificTriggerDate` field to specify the date when the charge becomes active. - If the value of this field is `FixedPeriodAfterApplyToChargeStartDate`, the charge is active for a predefined duration based on the value of the `upToPeriodsType` and `upToPeriods` fields. **Notes**: - You must enable the [Enhanced Discounts](https://knowledgecenter.zuora.com/Zuora_Billing/Build_products_and_prices/Basic_concepts_and_terms/B_Charge_Models/D_Manage_Enhanced_Discount) feature to access this field. - You can use either `triggerEvent` or `startDatePolicy` to define when a discount charge starts, but not both at the same time.
  - Allowed values: `AlignToApplyToCharge`, `SpecificDate`, `EndOfLastInvoicePeriodOfApplyToCharge`, `FixedPeriodAfterApplyToChargeStartDate`
- `startPeriodsType` (enum, optional) — Unit of time that the discount charge duration is measured in. Only applicable if the value of the `startDatePolicy` field is `FixedPeriodAfterApplyToChargeStartDate`. **Note**: You must enable the [Enhanced Discounts](https://knowledgecenter.zuora.com/Zuora_Billing/Build_products_and_prices/Basic_concepts_and_terms/B_Charge_Models/D_Manage_Enhanced_Discount) feature to access this field.
  - Allowed values: `Days`, `Weeks`, `Months`, `Years`
- `triggerEvent` (enum, optional) — Condition for the charge to become active. If the value of this field is `SpecificDate`, use the `specificTriggerDate` field to specify the date when the charge becomes active.
  - Allowed values: `ContractEffective`, `ServiceActivation`, `CustomerAcceptance`, `SpecificDate`

### ChangePlanChargeOverride

Charge associated with a rate plan.

- `productRatePlanChargeId` (string, required) — Internal identifier of the product rate plan charge that the charge is based on. You can specify either `productRatePlanChargeId` or `productRatePlanChargeNumber`.
- `accountReceivableAccountingCode` (string, optional) — The accountReceivableAccountingCode of a standalone charge. **Note:** This field is available when the Standalone Orders, Zuora Finance, and Invoice Settlement features are enabled.
- `adjustmentLiabilityAccountingCode` (string, optional) — The adjustmentLiabilityAccountingCode of a standalone charge. **Note:** This field is available when the Standalone Orders feature and the Billing - Revenue Integration or Order to Revenue feature are enabled.
- `adjustmentRevenueAccountingCode` (string, optional) — The adjustmentRevenueAccountingCode of a standalone charge. **Note:** This field is available when the Standalone Orders feature and the Billing - Revenue Integration or Order to Revenue feature are enabled.
- `billing` (ChangePlanChargeOverrideBilling, optional) — Billing information about the charge.
- `chargeFunction` (enum, optional) — **Note**: This field is only available if you have both the Prepaid with Drawdown and Standalone Orders features enabled. With this field, you can use a standalone order to subscribe to a minimum commitment subscription. This field defines what type of charge it is: * CommitmentTrueUp: For recurring charges. Currency based minimum commitment charge. * CreditCommitment: For usage charges. Credit to minimum commitment funds.
  - Allowed values: `CommitmentTrueUp`, `CreditCommitment`
- `creditOption` (enum, optional) — **Note**: This field is only available if you have both the Minimum Commitment and Standalone Orders features enabled. With this field, you can use a standalone order to subscribe to a minimum commitment subscription. This field defines the way to calculate credit. See [Credit Option](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/J_Billing_Operations/Prepaid_with_Drawdown/Create_prepayment_charge#Credit_Option) for more information.
  - Allowed values: `TimeBased`, `ConsumptionBased`, `FullCreditBack`
- `chargeModel` (string, optional) — The chargeModel of a standalone charge. Supported charge models: * `FlatFee` * `PerUnit` * `Volume` * `Tiered` * `DiscountFixedAmount` * `DiscountPercentage` **Note:** This field is available when the Standalone Orders feature is enabled.
- `chargeNumber` (string, optional) — Charge number of the charge. For example, C-00000307. * If you do not set this field, Zuora will generate a charge number starting with a default prefix, for example, C-. This default prefix is predefined in **Billing Settings** > **Define Default Subscription and Order Settings**. * If you want to use a custom charge number, do not use the default prefix predefined in **Billing Settings** > **Define Default Subscription and Order Settings**. Use your own prefix, for example, SC-.
- `chargeType` (string, optional) — The chargeType of a standalone charge. Supported charge types: * `OneTime` * `Recurring` * `Usage` **Note:** This field is available when the Standalone Orders feature is enabled.
- `contractAssetAccountingCode` (string, optional) — The contractAssetAccountingCode of a standalone charge. **Note:** This field is available when the Standalone Orders feature and the Billing - Revenue Integration or Order to Revenue feature are enabled.
- `contractLiabilityAccountingCode` (string, optional) — The contractLiabilityAccountingCode of a standalone charge. **Note:** This field is available when the Standalone Orders feature and the Billing - Revenue Integration or Order to Revenue feature are enabled.
- `contractRecognizedRevenueAccountingCode` (string, optional) — The contractRecognizedRevenueAccountingCode of a standalone charge. **Note:** This field is available when the Standalone Orders feature and the Billing - Revenue Integration or Order to Revenue feature are enabled.
- `customFields` (RatePlanChargeObjectCustomFields, optional) — Container for custom fields of a Rate Plan Charge object.
- `deferredRevenueAccountingCode` (string, optional) — The deferredRevenueAccountingCode of a standalone charge. **Note:** This field is available when the Standalone Orders and Zuora Finance features are enabled.
- `description` (string, optional) — Description of the charge.
- `drawdownRate` (double, optional) — **Note**: This field is only available if you have the [Prepaid with Drawdown](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/J_Billing_Operations/Prepaid_with_Drawdown) feature enabled. The [conversion rate](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/J_Billing_Operations/Prepaid_with_Drawdown/Create_drawdown_charge#UOM_Conversion) between Usage UOM and Drawdown UOM for a [drawdown charge](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/J_Billing_Operations/Prepaid_with_Drawdown/Create_drawdown_charge). Must be a positive number (>0).
- `drawdownScope` (enum, optional) — The scope in which the funds are applicable for the usage drawdown charges during drawdown. Valid for the charge with function of `Prepayment` or `CommitmentTrueUp`. * `SUBSCRIPTION` - only usage charges of the same subscription can be drawn down. * `ACCOUNT` - only usage charges in the same account (subscription owner) can be drawn down. **Note:** This field is only available if you have the Prepaid with Drawdown feature enabled.
  - Allowed values: `SUBSCRIPTION`, `ACCOUNT`
- `endDate` (EndConditions, optional) — Specifies when a charge becomes inactive.
- `estimatedStartDate` (date, optional) — The estimated start date of the pending charge in an active subscription. If you specify `SpecificDate` in the `startDate` > `triggerEvent` field and want to create a completed order and an active subscription, you must specify either the `estimatedStartDate` or `startDate` > `specificTriggerDate` field: - `estimatedStartDate`: The charge will be in pending status. - `specificTriggerDate`: The charge will be in active status. The value of this field must be a date within the subscription term. The system will then automatically calculate the estimated end date for the pending charge. The estimated start and end dates are used to manage the estimated charge duration and forecast the revenue for the pending charge. **Note:** This field is available only when the Pending Subscription Processing feature is turned on.
- `excludeItemBillingFromRevenueAccounting` (boolean, optional, default: false) — The flag to exclude rate plan charge related invoice items, invoice item adjustments, credit memo items, and debit memo items from revenue accounting. **Note**: This field is only available if you have the Order to Revenue or [Zuora Billing - Revenue Integration](https://knowledgecenter.zuora.com/Zuora_Revenue/Zuora_Billing_-_Revenue_Integration) feature enabled.
- `excludeItemBookingFromRevenueAccounting` (boolean, optional, default: false) — The flag to exclude rate plan charges from revenue accounting. **Note**: This field is only available if you have the Order to Revenue or [Zuora Billing - Revenue Integration](https://knowledgecenter.zuora.com/Zuora_Revenue/Zuora_Billing_-_Revenue_Integration) feature enabled.
- `isAllocationEligible` (boolean, optional) — This field is used to identify if the charge segment is allocation eligible in revenue recognition. **Note**: The field is only available if you have the Order to Revenue feature enabled. To enable this field, submit a request at Zuora Global Support.
- `isRollover` (boolean, optional) — **Note**: This field is only available if you have the [Prepaid with Drawdown](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/J_Billing_Operations/Prepaid_with_Drawdown) feature enabled. The value is either "True" or "False". It determines whether the rollover fields are needed.
- `isUnbilled` (boolean, optional) — This field is used to dictate how to perform the accounting during revenue recognition. **Note**: The field is only available if you have the Order to Revenue feature enabled. To enable this field, submit a request at Zuora Global Support.
- `name` (string, optional) — The name of a standalone charge. **Note:** This field is available when the Standalone Orders feature is enabled.
- `negotiatedPriceTable` (list of NegotiatedItems, optional) — Array of negotiated price table information. The rate card entries provided in the array will override the existing rate card entries in the standard price table to form a negotiated price table that will be\ used during pricing evaluation. **Note:** To enable the Negotiated Price Table feature, submit a request to Zuora Global Support.
- `pobPolicy` (string, optional) — The pobPolicy of a standalone charge. **Note:** This field is available when the Standalone Orders feature is enabled.
- `prepaidQuantity` (double, optional) — **Note**: This field is only available if you have the [Prepaid with Drawdown](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/J_Billing_Operations/Prepaid_with_Drawdown) feature enabled. The number of units included in a [prepayment charge](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/J_Billing_Operations/Prepaid_with_Drawdown/Create_prepayment_charge). Must be a positive number (>0).
- `prepaymentUnitType` (enum, optional) — The unit type of the prepayment charge. For topup (recurring/one-time) charges, this field indicates what type of funds are created. For drawdown (usage) charges, this field indicates what type of funds are drawn down from those created by topup charges. * If the prepaid charge is `UNIT`, it will create a fund with given prepaidUom. * If the prepaid charge is `CURRENCY`, it will create a fund with the currency amount calculated in list price. **Note:** This field is only available if you have the Prepaid with Drawdown feature enabled.
  - Allowed values: `UNIT`, `CURRENCY`
- `pricing` (ChangePlanChargeOverridePricing, optional) — Pricing information about the charge.
- `pricingAttributes` (map from string to any, optional) — Container for pricing attribute and value that provide additional context for dynamic pricing. The pricing attribute values are used to get the charge’s list price from the product catalog. For the pricing attribute mapped to a Zuora object field, Zuora will retrieve the value automatically, you don’t need to pass its value explicitly. If you pass a value that doesn’t match the actual value of the Zuora object, an error will be returned. Note that for any pricing attribute mapped to the field of Zuora object Usage, because its value is only determined when the usage record arrives, you can’t provide a value via Orders API payload and Zuora will not retrieve its value automatically. **Note:** To enable Dynamic Pricing, submit a request to Zuora Global Support.
- `productCategory` (string, optional) — The productCategory of a standalone charge. **Note:** This field is available when the Standalone Orders feature is enabled.
- `productClass` (string, optional) — The productClass of a standalone charge. **Note:** This field is available when the Standalone Orders feature is enabled.
- `productFamily` (string, optional) — The productFamily of a standalone charge. **Note:** This field is available when the Standalone Orders feature is enabled.
- `productLine` (string, optional) — The productLine of a standalone charge. **Note:** This field is available when the Standalone Orders feature is enabled.
- `productRatePlanChargeNumber` (string, optional) — Number of a product rate-plan charge for this subscription. You can specify either `productRatePlanChargeId` or `productRatePlanChargeNumber`.
- `prorationOption` (enum, optional) — **Note**: This field is only available if you have the Charge Level Proration feature enabled. For more information, see Usage charge proration and Charge level proration option for a recurring charge. You can use this field to specify the charge-level proration option for a usage charge or recurring charge when you creating or adding a subscription rate plan charge through an order. The tenant-level proration option will be overridden. * `NoProration`: charge-level proration option that you can set for a usage charge. This option means to not use any proration, which is the default current system behavior for a usage charge. * `TimeBasedProration`: charge-level proration option that you can set for a usage charge. This option means to prorate the usage charge amount using the actual number of days if the billing period is a partial period. * `DefaultFromTenantSetting`: charge-level proration option that you can set for a recurring charge. This option means to follow the customer billing rule proration setting. * `ChargeFullPeriod`: charge-level proration option that you can set for a recurring charge. This options means to charge the full period amount for a partial billing period. Note that this setting means that there is no proration for either collecting or refunding. Even if you cancel the recurring charge in the middle of a billing period, there is no refund for this billing period. * `CustomizeProrationOptionOverrides`: charge-level proration option that you can set for a recurring charge. This option means to use the customized charge proration settings that is specified by the `ratingPropertiesOverride` field.
  - Allowed values: `NoProration`, `TimeBasedProration`, `DefaultFromTenantSetting`, `ChargeFullPeriod`, `CustomizeProrationOptionOverrides`
- `ratingPropertiesOverride` (ChangePlanChargeOverrideRatingPropertiesOverride, optional) — **Note**: This field is only available if you have the Charge Level Proration feature enabled. For more information, see Charge level proration option for a recurring charge. This field is used only when the value of the `prorationOption` field is set to `CustomizeProrationOptionOverrides`. Use this field to specify more customized proration options for a recurring charge when you creating or adding a subscription rate plan charge through an order. The tenant-level proration option will be overridden.
- `recognizedRevenueAccountingCode` (string, optional) — The recognizedRevenueAccountingCode of a standalone charge. **Note:** This field is available when the Standalone Orders and Zuora Finance features are enabled.
- `revRecCode` (string, optional) — Revenue Recognition Code
- `revRecTriggerCondition` (enum, optional) — Specifies the revenue recognition trigger condition. * `Contract Effective Date` * `Service Activation Date` * `Customer Acceptance Date`
  - Allowed values: `Contract Effective Date`, `Service Activation Date`, `Customer Acceptance Date`
- `revenueRecognitionRuleName` (string, optional) — Specifies the revenue recognition rule, such as `Recognize upon invoicing` or `Recognize daily over time`.
- `revenueRecognitionTiming` (enum, optional) — Specifies the type of revenue recognition timing. Predefined options are listed as enum values in this API Reference. Other options might also be avaliable depending on the revenue recognition policy configuration in the Zuora Billing UI. **Note**: This field is only available if you have both the Order to Revenue feature and the Standalone Orders feature enabled.
  - Allowed values: `Upon Billing Document Posting Date`, `Upon Order Activation Date`
- `revenueAmortizationMethod` (enum, optional) — Specifies the type of revenue amortization method. Predefined options are listed as enum values in this API Reference. Other options might also be avaliable depending on the revenue recognition policy configuration in the Zuora Billing UI. **Note**: This field is only available if you have both the Order to Revenue feature and the Standalone Orders feature enabled.
  - Allowed values: `Immediate`, `Ratable Using Start And End Dates`
- `rolloverApply` (enum, optional) — **Note**: This field is only available if you have the [Prepaid with Drawdown](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/J_Billing_Operations/Prepaid_with_Drawdown) feature enabled. This field defines the priority of rollover, which is either first or last.
  - Allowed values: `ApplyFirst`, `ApplyLast`
- `rolloverPeriodLength` (integer, optional) — **Note**: This field is only available if you have the [Prepaid with Drawdown](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/J_Billing_Operations/Prepaid_with_Drawdown) feature enabled. Use this field when you want to set the rollover fund's period length shorter than the prepayment charge's validity period. In this case, you must set the `rolloverPeriods` field to 1. For example, you can define the rollover fund's period length as 5 months, shorter than the prepayment charge's validity period: a year.
- `rolloverPeriods` (double, optional) — **Note**: This field is only available if you have the [Prepaid with Drawdown](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/J_Billing_Operations/Prepaid_with_Drawdown) feature enabled. This field defines the number of rollover periods, it is restricted to 3.
- `startDate` (CreateOrderTriggerParams, optional) — Specifies when a charge becomes active.
- `taxCode` (string, optional) — The taxCode of a standalone charge. **Note:** This field is available when the Standalone Orders feature is enabled.
- `taxMode` (string, optional) — The taxMode of a standalone charge. Values: * `TaxExclusive` * `TaxInclusive` **Note:** This field is available when the Standalone Orders feature is enabled.
- `unBilledReceivablesAccountingCode` (string, optional) — The unBilledReceivablesAccountingCode of a standalone charge. **Note:** This field is available when the Standalone Orders feature and the Billing - Revenue Integration or Order to Revenue feature are enabled.
- `uniqueToken` (string, optional) — Unique identifier for the charge. This identifier enables you to refer to the charge before the charge has an internal identifier in Zuora. For instance, suppose that you want to use a single order to add a product to a subscription and later update the same product. When you add the product, you can set a unique identifier for the charge. Then when you update the product, you can use the same unique identifier to specify which charge to modify.
- `upsellOriginChargeNumber` (string, optional) — The identifier of the original upselling charge associated with the current charge. For a termed subscription, you can now use the "Create an order" API operation to perform an Add Product order action to make a product quantity upsell for per unit recurring charges. The benefit is that the charge added by this approach will be automatically combined with the original existing charge for which you want to upsell when the subscription is renewed. The approach is as follows: * Use an Add Product order action to add a charge that is of the same charge type, charge model, and charge end date as the existing per unit recurring charge for which you want to make a quantity upsell. * In the preceding charge to add, use the `upsellOriginChargeNumber` field to specify the existing rate plan charge for which you want to make the quantity upsell. Note that a termed subscription with such upsell charges can not be changed to an evergreen subscription. **Note**: The Quantity Upsell feature is in the **Early Adopter** phase. We are actively soliciting feedback from a small set of early adopters before releasing it as generally available. If you want to join this early adopter program, submit a request at [Zuora Global Support](https://support.zuora.com).
- `validityPeriodType` (enum, optional) — **Note**: This field is only available if you have enabled either of the following: * Prepaid with Drawdown * Minimum Commitment * Both Minimum Commitment and Standalone Orders You can use this field in the following scenarios: * When you create a [prepayment charge](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/J_Billing_Operations/Prepaid_with_Drawdown/Create_prepayment_charge), use this field to define the period in which the prepayment units are valid to use. * When you override the setting of commitment true-up charge from the product catalog, set this field consistently with the value of the `billing` > `billingPeriod` field in this charge. * When you use a standalone order to create a commitment true-up charge, set this field consistently with the value of the `billing` > `billingPeriod` field in this charge.
  - Allowed values: `SUBSCRIPTION_TERM`, `ANNUAL`, `SEMI_ANNUAL`, `QUARTER`, `MONTH`

### CreateOrderCreateSubscriptionTermsInitialTerm

Information about the first term of the subscription.

- `termType` (enum, required) — Type of the first term. If the value of this field is `TERMED`, the first term has a predefined duration based on the value of the `period` field. If the value of this field is `EVERGREEN`, the first term does not have a predefined duration.
  - Allowed values: `TERMED`, `EVERGREEN`
- `period` (integer, optional) — Duration of the first term in months, years, days, or weeks, depending on the value of the `periodType` field. Only applicable if the value of the `termType` field is `TERMED`.
- `periodType` (enum, optional) — Unit of time that the first term is measured in. Only applicable if the value of the `termType` field is `TERMED`.
  - Allowed values: `Month`, `Year`, `Day`, `Week`
- `startDate` (date, optional) — Start date of the first term, in YYYY-MM-DD format.
- `endDate` (date, optional) — End date of the first term, in YYYY-MM-DD format.

### OrderActionRatePlanChargeRemoveCustomFields

Custom fields of the Rate Plan Charge object. The name of each custom field has the form *customField*\_\_c. Custom field names are case sensitive. See [Manage Custom Fields](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Manage_Custom_Fields) for more information.

### BillingUpdate

- `billingPeriodAlignment` (enum, optional) — **Note**: This field is not supported in one time charges.
  - Allowed values: `AlignToCharge`, `AlignToSubscriptionStart`, `AlignToTermStart`

### CreateOrderUpdateProductTriggerParams

Specifies when a charge becomes active.

- `specificTriggerDate` (date, optional) — Date in YYYY-MM-DD format. Only applicable if the value of the `triggerEvent` field is `SpecificDate`. While this field is applicable, if this field is not set, your `CreateSubscription` order action creates a `Pending` order and a `Pending Acceptance` subscription. If at the same time the service activation date is required and not set, a `Pending Activation` subscription is created. While this field is applicable, if this field is not set, the following order actions create a `Pending` order but do not impact the subscription status. **Note**: This feature is in **Limited Availability**. If you want to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/). * AddProduct * UpdateProduct * RemoveProduct * RenewSubscription * TermsAndConditions While this field is applicable, for the `updateProduct` order action, if the Pending order feature as above is not enabled, this field must not be set to null.
- `triggerEvent` (enum, optional) — Condition for the charge to become active. If this field is not specified, the value of the field will be defaulted to the trigger event value defined in the product catalog. If the value of this field is `SpecificDate`, use the `specificTriggerDate` field to specify the date when the charge becomes active.
  - Allowed values: `ContractEffective`, `ServiceActivation`, `CustomerAcceptance`, `SpecificDate`

### CreateOrderPricingUpdate

- `chargeModelData` (ChargeModelDataOverride, optional) — Container for charge model configuration data. **Note**: This field is only available if you have the High Water Mark, Pre-Rated Pricing, or Multi-Attribute Pricing charge models enabled. The High Water Mark and Pre-Rated Pricing charge models are available for customers with Enterprise and Nine editions by default. If you are a Growth customer, see [Zuora Editions](https://docs.zuora.com/en/entitlements/current-entitlements/zuora-editions) for pricing information.
- `discount` (DiscountPricingUpdate, optional) — Pricing information about a discount charge.
- `recurringCalculated` (RecurringCalculatedPricingUpdate, optional) — This field is only available if you have the Delivery Pricing charge model enabled.
- `recurringDeliveryBased` (RecurringDeliveryPricingUpdate, optional) — This field is only available if you have the Delivery Pricing charge model enabled.
- `recurringFlatFee` (RecurringFlatFeePricingUpdate, optional) — Pricing information about a recurring charge that uses the "flat fee" charge model. In this charge model, the charge has a fixed price.
- `recurringPerUnit` (RecurringPerUnitPricingUpdate, optional) — Pricing information about a recurring charge that uses the "per unit" charge model. In this charge model, the charge has a fixed price per unit purchased.
- `recurringTiered` (RecurringTieredPricingUpdate, optional) — Pricing information about a recurring charge that uses the "tiered pricing" charge model. In this charge model, the charge has cumulative pricing tiers that become effective as units are purchased.
- `recurringVolume` (RecurringVolumePricingUpdate, optional) — Pricing information about a recurring charge that uses the "volume pricing" charge model. In this charge model, the charge has a variable price per unit, depending on how many units are purchased.
- `usageFlatFee` (UsageFlatFeePricingUpdate, optional) — Pricing information about a usage charge that uses the "flat fee" charge model. In this charge model, the charge has a fixed price.
- `usageOverage` (UsageOveragePricingUpdate, optional) — Pricing information about a usage charge that uses the "overage" charge model. In this charge model, the charge has an allowance of free units and a fixed price per additional unit consumed.
- `usagePerUnit` (UsagePerUnitPricingUpdate, optional) — Pricing information about a usage charge that uses the "per unit" charge model. In this charge model, the charge has a fixed price per unit consumed.
- `usageTiered` (UsageTieredPricingUpdate, optional) — Pricing information about a usage charge that uses the "tiered pricing" charge model. In this charge model, the charge has cumulative pricing tiers that become effective as units are consumed.
- `usageTieredWithOverage` (UsageTieredWithOveragePricingUpdate, optional) — Pricing information about a usage charge that uses the "tiered with overage" charge model. In this charge model, the charge has cumulative pricing tiers that become effective as units are consumed. The charge also has a fixed price per unit consumed beyond the limit of the final tier.
- `usageVolume` (UsageVolumePricingUpdate, optional) — Pricing information about a usage charge that uses the "volume pricing" charge model. In this charge model, the charge has a variable price per unit, depending on how many units are consumed.

### ChargeModelDataOverride

Container for charge model configuration data. **Note**: This field is only available if you have the High Water Mark, Pre-Rated Pricing, or Multi-Attribute Pricing charge models enabled. The High Water Mark and Pre-Rated Pricing charge models are available for customers with Enterprise and Nine editions by default. If you are a Growth customer, see [Zuora Editions](https://docs.zuora.com/en/entitlements/current-entitlements/zuora-editions) for pricing information.

- `chargeModelConfiguration` (ChargeModelDataOverrideChargeModelConfiguration, optional)
- `quantity` (double, optional) — Number of units purchased. This field is used if the Multi-Attribute Pricing formula uses the `quantity()` function. This field is only available for one-time and recurring charges that use the Multi-Attribute Pricing charge model.
- `tiers` (list of ChargeTier, optional) — List of cumulative pricing tiers in the charge. **Note**: When you override the tiers of a usage-based charge using High Water Mark Pricing charge model, you have to provide all of the tiers, including the ones you do not want to change. The new tiers will completely override the previous ones. The High Water Mark Pricing charge models are available for customers with Enterprise and Nine editions by default. If you are a Growth customer, see [Zuora Editions](https://docs.zuora.com/en/entitlements/current-entitlements/zuora-editions) for pricing information.

### DiscountPricingOverride

Pricing information about a discount charge.

- `applyDiscountTo` (enum, optional) — Specifies which type of charge the discount charge applies to.
  - Allowed values: `ONETIME`, `RECURRING`, `USAGE`, `ONETIMERECURRING`, `ONETIMEUSAGE`, `RECURRINGUSAGE`, `ONETIMERECURRINGUSAGE`
- `applyToBillingPeriodPartially` (boolean, optional) — Allow the discount duration to be aligned with the billing period partially. **Note**: You must enable the [Enhanced Discounts](https://knowledgecenter.zuora.com/Zuora_Billing/Build_products_and_prices/Basic_concepts_and_terms/B_Charge_Models/D_Manage_Enhanced_Discount) feature to access this field.
- `discountAmount` (double, optional) — Only applicable if the discount charge is a fixed-amount discount.
- `discountApplyDetails` (list of DiscountApplyDetail, optional) — Charge list of discount be applied to. **Note**: You must enable the [Enhanced Discounts](https://knowledgecenter.zuora.com/Zuora_Billing/Build_products_and_prices/Basic_concepts_and_terms/B_Charge_Models/D_Manage_Enhanced_Discount) feature to access this field.
- `discountClass` (string, optional) — The discount class defines the sequence in which discount product rate plan charges are applied. **Note**: You must enable the [Enhanced Discounts](https://knowledgecenter.zuora.com/Zuora_Billing/Build_products_and_prices/Basic_concepts_and_terms/B_Charge_Models/D_Manage_Enhanced_Discount) feature to access this field.
- `discountLevel` (enum, optional) — Application scope of the discount charge. For example, if the value of this field is `subscription` and the value of the `applyDiscountTo` field is `RECURRING`, the discount charge applies to all recurring charges in the same subscription as the discount charge.
  - Allowed values: `rateplan`, `subscription`, `account`
- `discountPercentage` (double, optional) — Only applicable if the discount charge is a percentage discount.
- `originalDiscountAmount` (double, optional) — The manufacturer's suggested retail discount price for standalone charge. Only applicable if the standalone discount charge is a fixed-amount discount. **Note:** This field is available when the Standalone Orders feature is enabled.
- `originalDiscountPercentage` (double, optional) — The manufacturer's suggested retail discount percentage for standalone charge. Only applicable if the standalone discount charge is a percentage discount. **Note:** This field is available when the Standalone Orders feature is enabled.
- `originalListDiscountAmount` (double, optional) — The original discount amount listed for sale by a manufacturer or retailer.
- `originalListDiscountPercentage` (double, optional) — The original discount percentage listed for sale by a manufacturer or retailer.
- `priceChangeOption` (enum, optional) — Specifies how Zuora changes the price of the charge each time the subscription renews.
  - Allowed values: `NoChange`, `UseLatestProductCatalogPricing`

### OneTimeFlatFeePricingOverride

Pricing information about a one-time charge that uses the "flat fee" charge model. In this charge model, the charge has a fixed price.

- `listPrice` (double, required) — Price of the charge.
- `originalListPrice` (double, optional) — The original list price is the price of a product or service at which it is listed for sale by a manufacturer or retailer.

### OneTimePerUnitPricingOverride

Pricing information about a one-time charge that uses the "per unit" charge model. In this charge model, the charge has a fixed price per unit purchased.

- `listPrice` (double, optional) — Per-unit price of the charge.
- `originalListPrice` (double, optional) — The original list price is the price of a product or service at which it is listed for sale by a manufacturer or retailer.
- `quantity` (double, optional) — Number of units purchased.
- `uom` (double, optional) — Unit of measure of the standalone charge. **Note:** This field is available when the Standalone Orders feature is enabled.

### OneTimeTieredPricingOverride

Pricing information about a one-time charge that uses the "tiered pricing" charge model. In this charge model, the charge has cumulative pricing tiers that become effective as units are purchased.

- `quantity` (double, optional) — Number of units purchased.
- `tiers` (list of ChargeTier, optional) — List of cumulative pricing tiers in the charge.
- `uom` (double, optional) — Unit of measure of the standalone charge. **Note:** This field is available when the Standalone Orders feature is enabled.

### OneTimeVolumePricingOverride

Pricing information about a one-time charge that uses the "volume pricing" charge model. In this charge model, the charge has a variable price per unit, depending on how many units are purchased.

- `quantity` (double, optional) — Number of units purchased.
- `tiers` (list of ChargeTier, optional) — List of variable pricing tiers in the charge.
- `uom` (double, optional) — Unit of measure of the standalone charge. **Note:** This field is available when the Standalone Orders feature is enabled.

### RecurringCalculatedPricingOverride

Pricing information about a recurring charge that uses the "calculated" charge model.

- `percentage` (double, required) — The specific rate applied to the total eligible spend to determine the base invoice amount before any minimum or maximum amount is applied.
- `clearingExistingMinimumAmount` (boolean, optional) — Set this field to `true` to reset the minimum amount to null.
- `clearingExistingMaximumAmount` (boolean, optional) — Set this field to `true` to reset the maximum amount to null.
- `eligibleAccountConditions` (map from string to any, optional) — A filter expression (single condition or nested condition groups with logical relations) that defines which accounts’ charges are considered in the calculation. If omitted, the system defaults to the calculated charge’s subscription account. See Orders for more information. * relation: the logical relation with the condition group. Supported values are: and, or. Only two levels of nested condition groups are supported. * conditions: * field: name of the condition field. Refer to the legitimate condition fields. * operator: the logical operator. Supported values are: `eq`, `neq`, `nl` (is null), `nnl` (is not null). * value: the value of the condition field. You can either enter specific values manually or use the predefined condition values.
- `eligibleChargeConditions` (map from string to any, optional) — A filter expression (single condition or nested condition groups with logical relations) that defines which rate plan charges contribute to the calculation; if omitted, the scope defaults to “All charges” (i.e., all charges under the selected accounts are eligible). See Orders for more information. * relation: the logical relation with the condition group. Supported values are: and, or. Only two levels of nested condition groups are supported. * conditions: * field: name of the condition field. Refer to the legitimate condition fields. * operator: the logical operator. Supported values are: `eq`, `neq`, `nl` (is null), `nnl` (is not null). * value: the value of the condition field. You can either enter specific values manually or use the predefined condition values.
- `minimumAmount` (double, optional) — Non-negative currency amount that establishes the lower bound for the calculated charge in a billing period. If the calculated amount is less than this value, the invoice amount will be set to the minimum value.
- `maximumAmount` (double, optional) — Non-negative currency amount that establishes the upper bound for the calculated charge in a billing period. If the calculated amount exceeds this value, the invoice amount will be set to the maximum value.

### RecurringDeliveryPricingOverride

Pricing information about a recurring charge that uses the Delivery Pricing charge model. In this charge model, the charge has a fixed price. This field is only available if you have the Delivery Pricing charge model enabled.

- `priceChangeOption` (enum, optional) — Specifies how Zuora changes the price of the charge each time the subscription renews. If the value of this field is `SpecificPercentageValue`, use the `priceIncreasePercentage` field to specify how much the price of the charge should change.
  - Allowed values: `NoChange`, `SpecificPercentageValue`, `UseLatestProductCatalogPricing`
- `priceIncreasePercentage` (double, optional) — Specifies the percentage by which the price of the charge should change each time the subscription renews. Only applicable if the value of the `priceChangeOption` field is `SpecificPercentageValue`.
- `deliverySchedule` (DeliveryScheduleParams, optional)
- `listPrice` (double, optional) — Price of the charge in each recurring period.

### RecurringFlatFeePricingOverride

Pricing information about a recurring charge that uses the "flat fee" charge model. In this charge model, the charge has a fixed price.

- `priceChangeOption` (enum, optional) — Specifies how Zuora changes the price of the charge each time the subscription renews. If the value of this field is `SpecificPercentageValue`, use the `priceIncreasePercentage` field to specify how much the price of the charge should change.
  - Allowed values: `NoChange`, `SpecificPercentageValue`, `UseLatestProductCatalogPricing`
- `priceIncreasePercentage` (double, optional) — Specifies the percentage by which the price of the charge should change each time the subscription renews. Only applicable if the value of the `priceChangeOption` field is `SpecificPercentageValue`.
- `listPrice` (double, optional) — Price of the charge in each recurring period.
- `listPriceBase` (enum, optional) — Specifies the duration of each recurring period.
  - Allowed values: `Per_Billing_Period`, `Per_Month`, `Per_Week`, `Per_Year`, `Per_Specific_Months`
- `originalListPrice` (double, optional) — The original list price is the price of a product or service at which it is listed for sale by a manufacturer or retailer.
- `specificListPriceBase` (integer, optional) — The number of months for the list price base of the charge. This field is required if you set the value of the `listPriceBase` field to `Per_Specific_Months`. **Note**: * This field is available only if you have the Annual List Price feature enabled. * The value of this field is `null` if you do not set the value of the `listPriceBase` field to `Per_Specific_Months`.

### RecurringPerUnitPricingOverride

Pricing information about a recurring charge that uses the "per unit" charge model. In this charge model, the charge has a fixed price per unit purchased.

- `priceChangeOption` (enum, optional) — Specifies how Zuora changes the price of the charge each time the subscription renews. If the value of this field is `SpecificPercentageValue`, use the `priceIncreasePercentage` field to specify how much the price of the charge should change.
  - Allowed values: `NoChange`, `SpecificPercentageValue`, `UseLatestProductCatalogPricing`
- `priceIncreasePercentage` (double, optional) — Specifies the percentage by which the price of the charge should change each time the subscription renews. Only applicable if the value of the `priceChangeOption` field is `SpecificPercentageValue`.
- `listPrice` (double, optional) — Per-unit price of the charge in each recurring period.
- `listPriceBase` (enum, optional) — Specifies the duration of each recurring period.
  - Allowed values: `Per_Billing_Period`, `Per_Month`, `Per_Week`, `Per_Year`, `Per_Specific_Months`
- `originalListPrice` (double, optional) — The original list price is the price of a product or service at which it is listed for sale by a manufacturer or retailer.
- `quantity` (double, optional) — Number of units purchased.
- `specificListPriceBase` (integer, optional) — The number of months for the list price base of the charge. This field is required if you set the value of the `listPriceBase` field to `Per_Specific_Months`. **Note**: * This field is available only if you have the Annual List Price feature enabled. * The value of this field is `null` if you do not set the value of the `listPriceBase` field to `Per_Specific_Months`.
- `uom` (double, optional) — Unit of measure of the standalone charge. **Note:** This field is available when the Standalone Orders feature is enabled.

### RecurringTieredPricingOverride

Pricing information about a recurring charge that uses the "tiered pricing" charge model. In this charge model, the charge has cumulative pricing tiers that become effective as units are purchased.

- `priceChangeOption` (enum, optional) — Specifies how Zuora changes the price of the charge each time the subscription renews. If the value of this field is `SpecificPercentageValue`, use the `priceIncreasePercentage` field to specify how much the price of the charge should change.
  - Allowed values: `NoChange`, `SpecificPercentageValue`, `UseLatestProductCatalogPricing`
- `priceIncreasePercentage` (double, optional) — Specifies the percentage by which the price of the charge should change each time the subscription renews. Only applicable if the value of the `priceChangeOption` field is `SpecificPercentageValue`.
- `listPriceBase` (enum, optional) — Specifies the duration of each recurring period.
  - Allowed values: `Per_Billing_Period`, `Per_Month`, `Per_Week`, `Per_Year`, `Per_Specific_Months`
- `quantity` (double, optional) — Number of units purchased.
- `specificListPriceBase` (integer, optional) — The number of months for the list price base of the charge. This field is required if you set the value of the `listPriceBase` field to `Per_Specific_Months`. **Note**: * This field is available only if you have the Annual List Price feature enabled. * The value of this field is `null` if you do not set the value of the `listPriceBase` field to `Per_Specific_Months`.
- `tiers` (list of ChargeTier, optional) — List of cumulative pricing tiers in the charge.
- `uom` (double, optional) — Unit of measure of the standalone charge. **Note:** This field is available when the Standalone Orders feature is enabled.

### RecurringVolumePricingOverride

Pricing information about a recurring charge that uses the "volume pricing" charge model. In this charge model, the charge has a variable price per unit, depending on how many units are purchased.

- `priceChangeOption` (enum, optional) — Specifies how Zuora changes the price of the charge each time the subscription renews. If the value of this field is `SpecificPercentageValue`, use the `priceIncreasePercentage` field to specify how much the price of the charge should change.
  - Allowed values: `NoChange`, `SpecificPercentageValue`, `UseLatestProductCatalogPricing`
- `priceIncreasePercentage` (double, optional) — Specifies the percentage by which the price of the charge should change each time the subscription renews. Only applicable if the value of the `priceChangeOption` field is `SpecificPercentageValue`.
- `listPriceBase` (enum, optional) — Specifies the duration of each recurring period.
  - Allowed values: `Per_Billing_Period`, `Per_Month`, `Per_Week`, `Per_Year`, `Per_Specific_Months`
- `quantity` (double, optional) — Number of units purchased.
- `specificListPriceBase` (integer, optional) — The number of months for the list price base of the charge. This field is required if you set the value of the `listPriceBase` field to `Per_Specific_Months`. **Note**: * This field is available only if you have the Annual List Price feature enabled. * The value of this field is `null` if you do not set the value of the `listPriceBase` field to `Per_Specific_Months`.
- `tiers` (list of ChargeTier, optional) — List of variable pricing tiers in the charge.
- `uom` (double, optional) — Unit of measure of the standalone charge. **Note:** This field is available when the Standalone Orders feature is enabled.

### UsageFlatFeePricingOverride

Pricing information about a usage charge that uses the "flat fee" charge model. In this charge model, the charge has a fixed price.

- `priceChangeOption` (enum, optional) — Specifies how Zuora changes the price of the charge each time the subscription renews. If the value of this field is `SpecificPercentageValue`, use the `priceIncreasePercentage` field to specify how much the price of the charge should change.
  - Allowed values: `NoChange`, `SpecificPercentageValue`, `UseLatestProductCatalogPricing`
- `priceIncreasePercentage` (double, optional) — Specifies the percentage by which the price of the charge should change each time the subscription renews. Only applicable if the value of the `priceChangeOption` field is `SpecificPercentageValue`.
- `listPrice` (double, optional) — Price of the charge.
- `originalListPrice` (double, optional) — The original list price is the price of a product or service at which it is listed for sale by a manufacturer or retailer.

### UsageOveragePricingOverride

Pricing information about a usage charge that uses the "overage" charge model. In this charge model, the charge has an allowance of free units and a fixed price per additional unit consumed.

- `priceChangeOption` (enum, optional) — Specifies how Zuora changes the price of the charge each time the subscription renews. If the value of this field is `SpecificPercentageValue`, use the `priceIncreasePercentage` field to specify how much the price of the charge should change.
  - Allowed values: `NoChange`, `SpecificPercentageValue`, `UseLatestProductCatalogPricing`
- `priceIncreasePercentage` (double, optional) — Specifies the percentage by which the price of the charge should change each time the subscription renews. Only applicable if the value of the `priceChangeOption` field is `SpecificPercentageValue`.
- `includedUnits` (double, optional) — Number of free units that may be consumed.
- `numberOfPeriods` (integer, optional) — Number of periods that Zuora considers when calculating overage charges with overage smoothing.
- `originalListPrice` (double, optional) — The original list price is the price of a product or service at which it is listed for sale by a manufacturer or retailer.
- `overagePrice` (double, optional) — Price per overage unit consumed.
- `overageUnusedUnitsCreditOption` (enum, optional) — Specifies whether to credit the customer for unused units. If the value of this field is `CreditBySpecificRate`, use the `unusedUnitsCreditRates` field to specify the rate at which to credit the customer for unused units.
  - Allowed values: `NoCredit`, `CreditBySpecificRate`
- `unusedUnitsCreditRates` (double, optional) — Per-unit rate at which to credit the customer for unused units. Only applicable if the value of the `overageUnusedUnitsCreditOption` field is `CreditBySpecificRate`.

### UsagePerUnitPricingOverride

Pricing information about a usage charge that uses the "per unit" charge model. In this charge model, the charge has a fixed price per unit consumed.

- `priceChangeOption` (enum, optional) — Specifies how Zuora changes the price of the charge each time the subscription renews. If the value of this field is `SpecificPercentageValue`, use the `priceIncreasePercentage` field to specify how much the price of the charge should change.
  - Allowed values: `NoChange`, `SpecificPercentageValue`, `UseLatestProductCatalogPricing`
- `priceIncreasePercentage` (double, optional) — Specifies the percentage by which the price of the charge should change each time the subscription renews. Only applicable if the value of the `priceChangeOption` field is `SpecificPercentageValue`.
- `listPrice` (double, optional) — Per-unit price of the charge.
- `originalListPrice` (double, optional) — The original list price is the price of a product or service at which it is listed for sale by a manufacturer or retailer.
- `ratingGroup` (enum, optional) — Specifies how Zuora groups usage records when rating usage. See [Usage Rating by Group](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/J_Billing_Operations/Usage/Usage_Rating_by_Group) for more information. * ByBillingPeriod (default): The rating is based on all the usages in a billing period. * ByUsageStartDate: The rating is based on all the usages on the same usage start date. * ByUsageRecord: The rating is based on each usage record. * ByUsageUpload: The rating is based on all the usages in a uploaded usage file (.xls or .csv). If you import a mass usage in a single upload, which contains multiple usage files in .xls or .csv format, usage records are grouped for each usage file. **Note:** For usage charges with **Dynamic Pricing** enabled that use a `Usage` object field to determine the price automatically, you cannot override the `ratingGroup` defined in the product catalog.
  - Allowed values: `ByBillingPeriod`, `ByUsageStartDate`, `ByUsageRecord`, `ByUsageUpload`
- `uom` (double, optional) — Unit of measure of the standalone charge. **Note:** This field is available when the Standalone Orders feature is enabled.

### UsageTieredPricingOverride

Pricing information about a usage charge that uses the "tiered pricing" charge model. In this charge model, the charge has cumulative pricing tiers that become effective as units are consumed.

- `priceChangeOption` (enum, optional) — Specifies how Zuora changes the price of the charge each time the subscription renews. If the value of this field is `SpecificPercentageValue`, use the `priceIncreasePercentage` field to specify how much the price of the charge should change.
  - Allowed values: `NoChange`, `SpecificPercentageValue`, `UseLatestProductCatalogPricing`
- `priceIncreasePercentage` (double, optional) — Specifies the percentage by which the price of the charge should change each time the subscription renews. Only applicable if the value of the `priceChangeOption` field is `SpecificPercentageValue`.
- `ratingGroup` (enum, optional) — Specifies how Zuora groups usage records when rating usage. See [Usage Rating by Group](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/J_Billing_Operations/Usage/Usage_Rating_by_Group) for more information. * ByBillingPeriod (default): The rating is based on all the usages in a billing period. * ByUsageStartDate: The rating is based on all the usages on the same usage start date. * ByUsageRecord: The rating is based on each usage record. * ByUsageUpload: The rating is based on all the usages in a uploaded usage file (.xls or .csv). If you import a mass usage in a single upload, which contains multiple usage files in .xls or .csv format, usage records are grouped for each usage file. **Note:** For usage charges with **Dynamic Pricing** enabled that use a `Usage` object field to determine the price automatically, you cannot override the `ratingGroup` defined in the product catalog.
  - Allowed values: `ByBillingPeriod`, `ByUsageStartDate`, `ByUsageRecord`, `ByUsageUpload`
- `tiers` (list of ChargeTier, optional) — List of cumulative pricing tiers in the charge.
- `uom` (string, optional) — Unit of measure of the standalone charge. **Note:** This field is available when the Standalone Orders feature is enabled.

### UsageTieredWithOveragePricingOverride

Pricing information about a usage charge that uses the "tiered with overage" charge model. In this charge model, the charge has cumulative pricing tiers that become effective as units are consumed. The charge also has a fixed price per unit consumed beyond the limit of the final tier.

- `priceChangeOption` (enum, optional) — Specifies how Zuora changes the price of the charge each time the subscription renews. If the value of this field is `SpecificPercentageValue`, use the `priceIncreasePercentage` field to specify how much the price of the charge should change.
  - Allowed values: `NoChange`, `SpecificPercentageValue`, `UseLatestProductCatalogPricing`
- `priceIncreasePercentage` (double, optional) — Specifies the percentage by which the price of the charge should change each time the subscription renews. Only applicable if the value of the `priceChangeOption` field is `SpecificPercentageValue`.
- `numberOfPeriods` (integer, optional) — Number of periods that Zuora considers when calculating overage charges with overage smoothing.
- `originalListPrice` (double, optional) — The original list price is the price of a product or service at which it is listed for sale by a manufacturer or retailer.
- `overagePrice` (double, optional) — Price per overage unit consumed.
- `overageUnusedUnitsCreditOption` (enum, optional) — Specifies whether to credit the customer for unused units. If the value of this field is `CreditBySpecificRate`, use the `unusedUnitsCreditRates` field to specify the rate at which to credit the customer for unused units.
  - Allowed values: `NoCredit`, `CreditBySpecificRate`
- `tiers` (list of ChargeTier, optional) — List of cumulative pricing tiers in the charge.
- `unusedUnitsCreditRates` (double, optional) — Per-unit rate at which to credit the customer for unused units. Only applicable if the value of the `overageUnusedUnitsCreditOption` field is `CreditBySpecificRate`.

### UsageVolumePricingOverride

Pricing information about a usage charge that uses the "volume pricing" charge model. In this charge model, the charge has a variable price per unit, depending on how many units are consumed.

- `priceChangeOption` (enum, optional) — Specifies how Zuora changes the price of the charge each time the subscription renews. If the value of this field is `SpecificPercentageValue`, use the `priceIncreasePercentage` field to specify how much the price of the charge should change.
  - Allowed values: `NoChange`, `SpecificPercentageValue`, `UseLatestProductCatalogPricing`
- `priceIncreasePercentage` (double, optional) — Specifies the percentage by which the price of the charge should change each time the subscription renews. Only applicable if the value of the `priceChangeOption` field is `SpecificPercentageValue`.
- `ratingGroup` (enum, optional) — Specifies how Zuora groups usage records when rating usage. See [Usage Rating by Group](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/J_Billing_Operations/Usage/Usage_Rating_by_Group) for more information. * ByBillingPeriod (default): The rating is based on all the usages in a billing period. * ByUsageStartDate: The rating is based on all the usages on the same usage start date. * ByUsageRecord: The rating is based on each usage record. * ByUsageUpload: The rating is based on all the usages in a uploaded usage file (.xls or .csv). If you import a mass usage in a single upload, which contains multiple usage files in .xls or .csv format, usage records are grouped for each usage file. **Note:** For usage charges with **Dynamic Pricing** enabled that use a `Usage` object field to determine the price automatically, you cannot override the `ratingGroup` defined in the product catalog.
  - Allowed values: `ByBillingPeriod`, `ByUsageStartDate`, `ByUsageRecord`, `ByUsageUpload`
- `tiers` (list of ChargeTier, optional) — List of variable pricing tiers in the charge.
- `uom` (double, optional) — Unit of measure of the standalone charge. **Note:** This field is available when the Standalone Orders feature is enabled.

### ChangePlanChargeOverrideBilling

Billing information about the charge.

- `billCycleDay` (integer, optional) — Day of the month that each billing period begins on. Only applicable if the value of the `billCycleType` field is `SpecificDayofMonth`.
- `billCycleType` (enum, optional) — Specifies how Zuora determines the day that each billing period begins on. * `DefaultFromCustomer` - Each billing period begins on the bill cycle day of the account that owns the subscription. * `SpecificDayofMonth` - Use the `billCycleDay` field to specify the day of the month that each billing period begins on. * `SubscriptionStartDay` - Each billing period begins on the same day of the month as the start date of the subscription. * `ChargeTriggerDay` - Each billing period begins on the same day of the month as the date when the charge becomes active. * `SpecificDayofWeek` - Use the `weeklyBillCycleDay` field to specify the day of the week that each billing period begins on.
  - Allowed values: `DefaultFromCustomer`, `SpecificDayofMonth`, `SubscriptionStartDay`, `ChargeTriggerDay`, `SpecificDayofWeek`
- `billingPeriod` (enum, optional) — Billing frequency of the charge. The value of this field controls the duration of each billing period. If the value of this field is `Specific_Days`, `Specific_Months` or `Specific_Weeks`, use the `specificBillingPeriod` field to specify the duration of each billing period.
  - Allowed values: `Month`, `Quarter`, `Semi_Annual`, `Annual`, `Eighteen_Months`, `Two_Years`, `Three_Years`, `Five_Years`, `Specific_Months`, `Subscription_Term`, `Week`, `Specific_Weeks`, `Specific_Days`
- `billingPeriodAlignment` (enum, optional) — Specifies how Zuora determines when to start new billing periods. You can use this field to align the billing periods of different charges. * `AlignToCharge` - Zuora starts a new billing period on the first billing day that falls on or after the date when the charge becomes active. * `AlignToSubscriptionStart` - Zuora starts a new billing period on the first billing day that falls on or after the start date of the subscription. * `AlignToTermStart` - For each term of the subscription, Zuora starts a new billing period on the first billing day that falls on or after the start date of the term. See the `billCycleType` field for information about how Zuora determines the billing day. **Note**: This field is not supported in one time charges.
  - Allowed values: `AlignToCharge`, `AlignToSubscriptionStart`, `AlignToTermStart`
- `billingTiming` (enum, optional) — Specifies whether to invoice for a billing period on the first day of the billing period (billing in advance) or the first day of the next billing period (billing in arrears).
  - Allowed values: `IN_ADVANCE`, `IN_ARREARS`
- `specificBillingPeriod` (integer, optional) — Duration of each billing period in months or weeks, depending on the value of the `billingPeriod` field. Only applicable if the value of the `billingPeriod` field is `Specific_Months` or `Specific_Weeks`.
- `weeklyBillCycleDay` (enum, optional) — Day of the week that each billing period begins on. Only applicable if the value of the `billCycleType` field is `SpecificDayofWeek`.
  - Allowed values: `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday`, `Saturday`

### ChangePlanChargeOverridePricing

Pricing information about the charge.

- `chargeModelData` (ChargeModelDataOverride, optional) — Container for charge model configuration data. **Note**: This field is only available if you have the High Water Mark, Pre-Rated Pricing, or Multi-Attribute Pricing charge models enabled. The High Water Mark and Pre-Rated Pricing charge models are available for customers with Enterprise and Nine editions by default. If you are a Growth customer, see [Zuora Editions](https://docs.zuora.com/en/entitlements/current-entitlements/zuora-editions) for pricing information.
- `discount` (DiscountPricingOverride, optional) — Pricing information about a discount charge.
- `oneTimeFlatFee` (OneTimeFlatFeePricingOverride, optional) — Pricing information about a one-time charge that uses the "flat fee" charge model. In this charge model, the charge has a fixed price.
- `oneTimePerUnit` (OneTimePerUnitPricingOverride, optional) — Pricing information about a one-time charge that uses the "per unit" charge model. In this charge model, the charge has a fixed price per unit purchased.
- `oneTimeTiered` (OneTimeTieredPricingOverride, optional) — Pricing information about a one-time charge that uses the "tiered pricing" charge model. In this charge model, the charge has cumulative pricing tiers that become effective as units are purchased.
- `oneTimeVolume` (OneTimeVolumePricingOverride, optional) — Pricing information about a one-time charge that uses the "volume pricing" charge model. In this charge model, the charge has a variable price per unit, depending on how many units are purchased.
- `recurringCalculated` (RecurringCalculatedPricingOverride, optional) — Pricing information about a recurring charge that uses the "calculated" charge model.
- `recurringDeliveryBased` (RecurringDeliveryPricingOverride, optional) — Pricing information about a recurring charge that uses the Delivery Pricing charge model. In this charge model, the charge has a fixed price. This field is only available if you have the Delivery Pricing charge model enabled.
- `recurringFlatFee` (RecurringFlatFeePricingOverride, optional) — Pricing information about a recurring charge that uses the "flat fee" charge model. In this charge model, the charge has a fixed price.
- `recurringPerUnit` (RecurringPerUnitPricingOverride, optional) — Pricing information about a recurring charge that uses the "per unit" charge model. In this charge model, the charge has a fixed price per unit purchased.
- `recurringTiered` (RecurringTieredPricingOverride, optional) — Pricing information about a recurring charge that uses the "tiered pricing" charge model. In this charge model, the charge has cumulative pricing tiers that become effective as units are purchased.
- `recurringVolume` (RecurringVolumePricingOverride, optional) — Pricing information about a recurring charge that uses the "volume pricing" charge model. In this charge model, the charge has a variable price per unit, depending on how many units are purchased.
- `usageFlatFee` (UsageFlatFeePricingOverride, optional) — Pricing information about a usage charge that uses the "flat fee" charge model. In this charge model, the charge has a fixed price.
- `usageOverage` (UsageOveragePricingOverride, optional) — Pricing information about a usage charge that uses the "overage" charge model. In this charge model, the charge has an allowance of free units and a fixed price per additional unit consumed.
- `usagePerUnit` (UsagePerUnitPricingOverride, optional) — Pricing information about a usage charge that uses the "per unit" charge model. In this charge model, the charge has a fixed price per unit consumed.
- `usageTiered` (UsageTieredPricingOverride, optional) — Pricing information about a usage charge that uses the "tiered pricing" charge model. In this charge model, the charge has cumulative pricing tiers that become effective as units are consumed.
- `usageTieredWithOverage` (UsageTieredWithOveragePricingOverride, optional) — Pricing information about a usage charge that uses the "tiered with overage" charge model. In this charge model, the charge has cumulative pricing tiers that become effective as units are consumed. The charge also has a fixed price per unit consumed beyond the limit of the final tier.
- `usageVolume` (UsageVolumePricingOverride, optional) — Pricing information about a usage charge that uses the "volume pricing" charge model. In this charge model, the charge has a variable price per unit, depending on how many units are consumed.

### ChangePlanChargeOverrideRatingPropertiesOverride

**Note**: This field is only available if you have the Charge Level Proration feature enabled. For more information, see Charge level proration option for a recurring charge. This field is used only when the value of the `prorationOption` field is set to `CustomizeProrationOptionOverrides`. Use this field to specify more customized proration options for a recurring charge when you creating or adding a subscription rate plan charge through an order. The tenant-level proration option will be overridden.

- `isProratePartialMonth` (boolean, optional) — **Note**: This field is only available if you have the Charge Level Proration feature enabled. For more information, see Charge level proration option for a recurring charge. Use this field to specify whether to prorate the recurring charge for a partial month. The tenant-level proration option will be overridden.
- `prorationUnit` (enum, optional) — **Note**: This field is only available if you have the Charge Level Proration feature enabled. For more information, see Charge level proration option for a recurring charge. Use this field to specify the unit of proration for a recurring charge. The tenant-level proration option will be overridden.
  - Allowed values: `ProrateByDay`, `ProrateByMonthFirst`
- `daysInMonth` (enum, optional) — **Note**: This field is only available if you have the Charge Level Proration feature enabled. For more information, see Charge level proration option for a recurring charge. Use this field to specify the number of days counted for a month when prorating a recurring charge. The tenant-level proration option will be overridden. See more details for each of the following enum values in Proration.
  - Allowed values: `UseActualDays`, `Assume30Days`, `Assume30DaysStrict`

### DiscountPricingUpdate

- `applyDiscountTo` (enum, optional) — Specifies which type of charge the discount charge applies to.
  - Allowed values: `ONETIME`, `RECURRING`, `USAGE`, `ONETIMERECURRING`, `ONETIMEUSAGE`, `RECURRINGUSAGE`, `ONETIMERECURRINGUSAGE`
- `discountLevel` (enum, optional) — Application scope of the discount charge. For example, if the value of this field is `subscription` and the value of the `applyDiscountTo` field is `RECURRING`, the discount charge applies to all recurring charges in the same subscription as the discount charge.
  - Allowed values: `rateplan`, `subscription`, `account`
- `discountPercentage` (double, optional) — The amount of the discount as a percentage. This field is only used for percentage discounts.
- `originalListDiscountPercentage` (double, optional) — The original discount percentage listed for sale by a manufacturer or retailer.
- `priceChangeOption` (enum, optional) — Specifies how Zuora changes the price of the charge each time the subscription renews.
  - Allowed values: `NoChange`, `UseLatestProductCatalogPricing`

### RecurringCalculatedPricingUpdate

Pricing information about a recurring charge that uses the "calculated" charge model.

- `percentage` (double, required) — The specific rate applied to the total eligible spend to determine the base invoice amount before any minimum or maximum amount is applied.
- `clearingExistingMinimumAmount` (boolean, optional) — Set it to `true` to reset the minimum amount to null.
- `clearingExistingMaximumAmount` (boolean, optional) — Set it to `true` to reset the maximum amount to null.
- `minimumAmount` (double, optional) — Non-negative currency amount that establishes the lower bound for the calculated charge in a billing period. If the calculated amount is less than this value, the invoice amount will be set to the minimum value.
- `maximumAmount` (double, optional) — Non-negative currency amount that establishes the upper bound for the calculated charge in a billing period. If the calculated amount exceeds this value, the invoice amount will be set to the maximum value.

### RecurringDeliveryPricingUpdate

- `priceChangeOption` (enum, optional) — Specifies how Zuora changes the price of the charge each time the subscription renews. If the value of this field is `SpecificPercentageValue`, use the `priceIncreasePercentage` field to specify how much the price of the charge should change.
  - Allowed values: `NoChange`, `SpecificPercentageValue`, `UseLatestProductCatalogPricing`
- `priceIncreasePercentage` (double, optional) — Specifies the percentage by which the price of the charge should change each time the subscription renews. Only applicable if the value of the `priceChangeOption` field is `SpecificPercentageValue`.
- `deliverySchedule` (DeliveryScheduleParams, optional)
- `listPrice` (double, optional)

### RecurringFlatFeePricingUpdate

- `priceChangeOption` (enum, optional) — Specifies how Zuora changes the price of the charge each time the subscription renews. If the value of this field is `SpecificPercentageValue`, use the `priceIncreasePercentage` field to specify how much the price of the charge should change.
  - Allowed values: `NoChange`, `SpecificPercentageValue`, `UseLatestProductCatalogPricing`
- `priceIncreasePercentage` (double, optional) — Specifies the percentage by which the price of the charge should change each time the subscription renews. Only applicable if the value of the `priceChangeOption` field is `SpecificPercentageValue`.
- `listPrice` (double, optional)
- `originalListPrice` (double, optional) — The original list price is the price of a product or service at which it is listed for sale by a manufacturer or retailer.

### RecurringPerUnitPricingUpdate

- `priceChangeOption` (enum, optional) — Specifies how Zuora changes the price of the charge each time the subscription renews. If the value of this field is `SpecificPercentageValue`, use the `priceIncreasePercentage` field to specify how much the price of the charge should change.
  - Allowed values: `NoChange`, `SpecificPercentageValue`, `UseLatestProductCatalogPricing`
- `priceIncreasePercentage` (double, optional) — Specifies the percentage by which the price of the charge should change each time the subscription renews. Only applicable if the value of the `priceChangeOption` field is `SpecificPercentageValue`.
- `listPrice` (double, optional)
- `originalListPrice` (double, optional) — The original list price is the price of a product or service at which it is listed for sale by a manufacturer or retailer.
- `quantity` (double, optional)

### RecurringTieredPricingUpdate

- `priceChangeOption` (enum, optional) — Specifies how Zuora changes the price of the charge each time the subscription renews. If the value of this field is `SpecificPercentageValue`, use the `priceIncreasePercentage` field to specify how much the price of the charge should change.
  - Allowed values: `NoChange`, `SpecificPercentageValue`, `UseLatestProductCatalogPricing`
- `priceIncreasePercentage` (double, optional) — Specifies the percentage by which the price of the charge should change each time the subscription renews. Only applicable if the value of the `priceChangeOption` field is `SpecificPercentageValue`.
- `quantity` (double, optional)
- `tiers` (list of ChargeTier, optional)

### RecurringVolumePricingUpdate

- `priceChangeOption` (enum, optional) — Specifies how Zuora changes the price of the charge each time the subscription renews. If the value of this field is `SpecificPercentageValue`, use the `priceIncreasePercentage` field to specify how much the price of the charge should change.
  - Allowed values: `NoChange`, `SpecificPercentageValue`, `UseLatestProductCatalogPricing`
- `priceIncreasePercentage` (double, optional) — Specifies the percentage by which the price of the charge should change each time the subscription renews. Only applicable if the value of the `priceChangeOption` field is `SpecificPercentageValue`.
- `quantity` (double, optional)
- `tiers` (list of ChargeTier, optional)

### UsageFlatFeePricingUpdate

- `priceChangeOption` (enum, optional) — Specifies how Zuora changes the price of the charge each time the subscription renews. If the value of this field is `SpecificPercentageValue`, use the `priceIncreasePercentage` field to specify how much the price of the charge should change.
  - Allowed values: `NoChange`, `SpecificPercentageValue`, `UseLatestProductCatalogPricing`
- `priceIncreasePercentage` (double, optional) — Specifies the percentage by which the price of the charge should change each time the subscription renews. Only applicable if the value of the `priceChangeOption` field is `SpecificPercentageValue`.
- `listPrice` (double, optional)
- `originalListPrice` (double, optional) — The original list price is the price of a product or service at which it is listed for sale by a manufacturer or retailer.

### UsageOveragePricingUpdate

- `priceChangeOption` (enum, optional) — Specifies how Zuora changes the price of the charge each time the subscription renews. If the value of this field is `SpecificPercentageValue`, use the `priceIncreasePercentage` field to specify how much the price of the charge should change.
  - Allowed values: `NoChange`, `SpecificPercentageValue`, `UseLatestProductCatalogPricing`
- `priceIncreasePercentage` (double, optional) — Specifies the percentage by which the price of the charge should change each time the subscription renews. Only applicable if the value of the `priceChangeOption` field is `SpecificPercentageValue`.
- `includedUnits` (double, optional) — A certain quantity of units for free in the overage charge model. It cannot be negative. It must be 0 and above. Decimals are allowed.
- `overagePrice` (double, optional)

### UsagePerUnitPricingUpdate

- `priceChangeOption` (enum, optional) — Specifies how Zuora changes the price of the charge each time the subscription renews. If the value of this field is `SpecificPercentageValue`, use the `priceIncreasePercentage` field to specify how much the price of the charge should change.
  - Allowed values: `NoChange`, `SpecificPercentageValue`, `UseLatestProductCatalogPricing`
- `priceIncreasePercentage` (double, optional) — Specifies the percentage by which the price of the charge should change each time the subscription renews. Only applicable if the value of the `priceChangeOption` field is `SpecificPercentageValue`.
- `listPrice` (double, optional)
- `originalListPrice` (double, optional) — The original list price is the price of a product or service at which it is listed for sale by a manufacturer or retailer.

### UsageTieredPricingUpdate

- `priceChangeOption` (enum, optional) — Specifies how Zuora changes the price of the charge each time the subscription renews. If the value of this field is `SpecificPercentageValue`, use the `priceIncreasePercentage` field to specify how much the price of the charge should change.
  - Allowed values: `NoChange`, `SpecificPercentageValue`, `UseLatestProductCatalogPricing`
- `priceIncreasePercentage` (double, optional) — Specifies the percentage by which the price of the charge should change each time the subscription renews. Only applicable if the value of the `priceChangeOption` field is `SpecificPercentageValue`.
- `tiers` (list of ChargeTier, optional)

### UsageTieredWithOveragePricingUpdate

- `priceChangeOption` (enum, optional) — Specifies how Zuora changes the price of the charge each time the subscription renews. If the value of this field is `SpecificPercentageValue`, use the `priceIncreasePercentage` field to specify how much the price of the charge should change.
  - Allowed values: `NoChange`, `SpecificPercentageValue`, `UseLatestProductCatalogPricing`
- `priceIncreasePercentage` (double, optional) — Specifies the percentage by which the price of the charge should change each time the subscription renews. Only applicable if the value of the `priceChangeOption` field is `SpecificPercentageValue`.
- `overagePrice` (double, optional)
- `tiers` (list of ChargeTier, optional)

### UsageVolumePricingUpdate

- `priceChangeOption` (enum, optional) — Specifies how Zuora changes the price of the charge each time the subscription renews. If the value of this field is `SpecificPercentageValue`, use the `priceIncreasePercentage` field to specify how much the price of the charge should change.
  - Allowed values: `NoChange`, `SpecificPercentageValue`, `UseLatestProductCatalogPricing`
- `priceIncreasePercentage` (double, optional) — Specifies the percentage by which the price of the charge should change each time the subscription renews. Only applicable if the value of the `priceChangeOption` field is `SpecificPercentageValue`.
- `tiers` (list of ChargeTier, optional)

### ChargeModelDataOverrideChargeModelConfiguration

- `customFieldPerUnitRate` (string, optional) — The custom field that carries the per-unit rate for each usage record. For example, `perUnitAmount__c`. This field is only available for the usage-based charges that use the Pre-Rated Per Unit Pricing charge model. The charge model is available for customers with Enterprise and Nine editions by default. If you are a Growth customer, see [Zuora Editions](https://docs.zuora.com/en/entitlements/current-entitlements/zuora-editions) for pricing information.
- `customFieldTotalAmount` (string, optional) — The custom field that carries the total amount to charge for a usage record. For example, `totalAmount__c`. This field is only available for the usage-based charges that use the Pre-Rated Pricing charge model. The charge model is available for customers with Enterprise and Nine editions by default. If you are a Growth customer, see [Zuora Editions](https://docs.zuora.com/en/entitlements/current-entitlements/zuora-editions) for pricing information.
- `formula` (string, optional) — The pricing formula to calculate actual rating amount. This field is only available for charges that use the Multi-Attribute Pricing charge model.

### ChargeTier

- `price` (double, required) — Price or per-unit price of the tier, depending on the value of the `priceFormat` field.
- `priceFormat` (enum, required) — Specifies whether the tier has a fixed price or a per-unit price.
  - Allowed values: `FlatFee`, `PerUnit`
- `startingUnit` (double, required) — Number of units at which the tier becomes effective.
- `tier` (integer, required) — Index of the tier in the charge.
- `endingUnit` (double, optional) — Limit on the number of units for which the tier is effective.
- `originalListPrice` (double, optional) — The original list price is the price of a product or service at which it is listed for sale by a manufacturer or retailer.

### DiscountApplyDetail

- `productRatePlanChargeId` (string, required) — Product Rate Plan Charge Id of the discount apply to.
- `productRatePlanId` (string, required) — Product Rate Plan Id of the discount apply to.

### DeliveryScheduleParams

- `frequency` (enum, optional) — Specifies the frequency for delivery schedule
  - Allowed values: `Weekly`
- `friday` (boolean, optional) — Indicates whether delivery on friday.
- `monday` (boolean, optional) — Indicates whether delivery on monday.
- `saturday` (boolean, optional) — Indicates whether delivery on saturday.
- `sunday` (boolean, optional) — Indicates whether delivery on sunday.
- `thursday` (boolean, optional) — Indicates whether delivery on thursday.
- `tuesday` (boolean, optional) — Indicates whether delivery on tuesday.
- `wednesday` (boolean, optional) — Indicates whether delivery on wednesday.

## Examples

**Request**

```json
{
  "orderDate": "2024-07-01",
  "existingAccountNumber": "A00000097",
  "subscriptions": [
    {
      "orderActions": [
        {
          "type": "CreateSubscription",
          "createSubscription": {
            "subscribeToRatePlans": [
              {
                "productRatePlanId": "8ad081dd9096ef9501909b40bb4e74a4"
              }
            ],
            "terms": {
              "initialTerm": {
                "termType": "TERMED",
                "period": 12,
                "periodType": "Month"
              },
              "renewalSetting": "RENEW_WITH_SPECIFIC_TERM",
              "renewalTerms": [
                {
                  "period": 12,
                  "periodType": "Month"
                }
              ]
            }
          }
        }
      ]
    }
  ]
}
```

**Response**

```json
{
  "success": true,
  "accountNumber": "A00000097",
  "orderNumber": "O-00000354",
  "status": "Completed",
  "subscriptions": [
    {
      "status": "Active",
      "subscriptionNumber": "A-S00000129",
      "subscriptionOwnerId": "2c92c0f87270a5970172747e289a5e66",
      "subscriptionOwnerNumber": "A00000001"
    }
  ]
}
```

**SDK Code**

```python response
import requests

url = "https://rest.test.zuora.com/v1/orders"

payload = {
    "orderDate": "2024-07-01",
    "existingAccountNumber": "A00000097",
    "subscriptions": [{ "orderActions": [
                {
                    "type": "CreateSubscription",
                    "createSubscription": {
                        "subscribeToRatePlans": [{ "productRatePlanId": "8ad081dd9096ef9501909b40bb4e74a4" }],
                        "terms": {
                            "initialTerm": {
                                "termType": "TERMED",
                                "period": 12,
                                "periodType": "Month"
                            },
                            "renewalSetting": "RENEW_WITH_SPECIFIC_TERM",
                            "renewalTerms": [
                                {
                                    "period": 12,
                                    "periodType": "Month"
                                }
                            ]
                        }
                    }
                }
            ] }]
}
headers = {
    "Authorization": "Bearer <token>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
```

```javascript response
const url = 'https://rest.test.zuora.com/v1/orders';
const options = {
  method: 'POST',
  headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
  body: '{"orderDate":"2024-07-01","existingAccountNumber":"A00000097","subscriptions":[{"orderActions":[{"type":"CreateSubscription","createSubscription":{"subscribeToRatePlans":[{"productRatePlanId":"8ad081dd9096ef9501909b40bb4e74a4"}],"terms":{"initialTerm":{"termType":"TERMED","period":12,"periodType":"Month"},"renewalSetting":"RENEW_WITH_SPECIFIC_TERM","renewalTerms":[{"period":12,"periodType":"Month"}]}}}]}]}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go response
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://rest.test.zuora.com/v1/orders"

	payload := strings.NewReader("{\n  \"orderDate\": \"2024-07-01\",\n  \"existingAccountNumber\": \"A00000097\",\n  \"subscriptions\": [\n    {\n      \"orderActions\": [\n        {\n          \"type\": \"CreateSubscription\",\n          \"createSubscription\": {\n            \"subscribeToRatePlans\": [\n              {\n                \"productRatePlanId\": \"8ad081dd9096ef9501909b40bb4e74a4\"\n              }\n            ],\n            \"terms\": {\n              \"initialTerm\": {\n                \"termType\": \"TERMED\",\n                \"period\": 12,\n                \"periodType\": \"Month\"\n              },\n              \"renewalSetting\": \"RENEW_WITH_SPECIFIC_TERM\",\n              \"renewalTerms\": [\n                {\n                  \"period\": 12,\n                  \"periodType\": \"Month\"\n                }\n              ]\n            }\n          }\n        }\n      ]\n    }\n  ]\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("Authorization", "Bearer <token>")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby response
require 'uri'
require 'net/http'

url = URI("https://rest.test.zuora.com/v1/orders")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"orderDate\": \"2024-07-01\",\n  \"existingAccountNumber\": \"A00000097\",\n  \"subscriptions\": [\n    {\n      \"orderActions\": [\n        {\n          \"type\": \"CreateSubscription\",\n          \"createSubscription\": {\n            \"subscribeToRatePlans\": [\n              {\n                \"productRatePlanId\": \"8ad081dd9096ef9501909b40bb4e74a4\"\n              }\n            ],\n            \"terms\": {\n              \"initialTerm\": {\n                \"termType\": \"TERMED\",\n                \"period\": 12,\n                \"periodType\": \"Month\"\n              },\n              \"renewalSetting\": \"RENEW_WITH_SPECIFIC_TERM\",\n              \"renewalTerms\": [\n                {\n                  \"period\": 12,\n                  \"periodType\": \"Month\"\n                }\n              ]\n            }\n          }\n        }\n      ]\n    }\n  ]\n}"

response = http.request(request)
puts response.read_body
```

```java response
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://rest.test.zuora.com/v1/orders")
  .header("Authorization", "Bearer <token>")
  .header("Content-Type", "application/json")
  .body("{\n  \"orderDate\": \"2024-07-01\",\n  \"existingAccountNumber\": \"A00000097\",\n  \"subscriptions\": [\n    {\n      \"orderActions\": [\n        {\n          \"type\": \"CreateSubscription\",\n          \"createSubscription\": {\n            \"subscribeToRatePlans\": [\n              {\n                \"productRatePlanId\": \"8ad081dd9096ef9501909b40bb4e74a4\"\n              }\n            ],\n            \"terms\": {\n              \"initialTerm\": {\n                \"termType\": \"TERMED\",\n                \"period\": 12,\n                \"periodType\": \"Month\"\n              },\n              \"renewalSetting\": \"RENEW_WITH_SPECIFIC_TERM\",\n              \"renewalTerms\": [\n                {\n                  \"period\": 12,\n                  \"periodType\": \"Month\"\n                }\n              ]\n            }\n          }\n        }\n      ]\n    }\n  ]\n}")
  .asString();
```

```php response
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://rest.test.zuora.com/v1/orders', [
  'body' => '{
  "orderDate": "2024-07-01",
  "existingAccountNumber": "A00000097",
  "subscriptions": [
    {
      "orderActions": [
        {
          "type": "CreateSubscription",
          "createSubscription": {
            "subscribeToRatePlans": [
              {
                "productRatePlanId": "8ad081dd9096ef9501909b40bb4e74a4"
              }
            ],
            "terms": {
              "initialTerm": {
                "termType": "TERMED",
                "period": 12,
                "periodType": "Month"
              },
              "renewalSetting": "RENEW_WITH_SPECIFIC_TERM",
              "renewalTerms": [
                {
                  "period": 12,
                  "periodType": "Month"
                }
              ]
            }
          }
        }
      ]
    }
  ]
}',
  'headers' => [
    'Authorization' => 'Bearer <token>',
    'Content-Type' => 'application/json',
  ],
]);

echo $response->getBody();
```

```csharp response
using RestSharp;

var client = new RestClient("https://rest.test.zuora.com/v1/orders");
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "Bearer <token>");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"orderDate\": \"2024-07-01\",\n  \"existingAccountNumber\": \"A00000097\",\n  \"subscriptions\": [\n    {\n      \"orderActions\": [\n        {\n          \"type\": \"CreateSubscription\",\n          \"createSubscription\": {\n            \"subscribeToRatePlans\": [\n              {\n                \"productRatePlanId\": \"8ad081dd9096ef9501909b40bb4e74a4\"\n              }\n            ],\n            \"terms\": {\n              \"initialTerm\": {\n                \"termType\": \"TERMED\",\n                \"period\": 12,\n                \"periodType\": \"Month\"\n              },\n              \"renewalSetting\": \"RENEW_WITH_SPECIFIC_TERM\",\n              \"renewalTerms\": [\n                {\n                  \"period\": 12,\n                  \"periodType\": \"Month\"\n                }\n              ]\n            }\n          }\n        }\n      ]\n    }\n  ]\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift response
import Foundation

let headers = [
  "Authorization": "Bearer <token>",
  "Content-Type": "application/json"
]
let parameters = [
  "orderDate": "2024-07-01",
  "existingAccountNumber": "A00000097",
  "subscriptions": [["orderActions": [
        [
          "type": "CreateSubscription",
          "createSubscription": [
            "subscribeToRatePlans": [["productRatePlanId": "8ad081dd9096ef9501909b40bb4e74a4"]],
            "terms": [
              "initialTerm": [
                "termType": "TERMED",
                "period": 12,
                "periodType": "Month"
              ],
              "renewalSetting": "RENEW_WITH_SPECIFIC_TERM",
              "renewalTerms": [
                [
                  "period": 12,
                  "periodType": "Month"
                ]
              ]
            ]
          ]
        ]
      ]]]
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://rest.test.zuora.com/v1/orders")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```