---
title: "Create an account"
method: POST
path: "/v1/accounts"
tags: ["Accounts"]
---

# Create an account

`POST /v1/accounts`

Creates a customer account with a payment method, a bill-to contact,
and optional sold-to and ship-to contacts. Request and response field descriptions and sample code are provided. Use this operation to optionally create a subscription,
invoice for that subscription, and collect payment through the default payment method. The transaction is atomic; if any part fails for any reason, the entire
transaction is rolled back.
 
This operation is CORS Enabled, so you can use client-side Javascript to invoke the call.
 
### Notes

1. The account is created in active status.  
2. If the `autoPay` field is set to `true` in the request, you must provide one of the `paymentMethod`, `creditCard`, or `hpmCreditCardPaymentMethodId`
field, but not multiple. The one provided becomes the default payment method
for this account. If the credit card information is declined or cannot be verified,
no account is created.
3. Customer accounts created with this call are automatically
be set to Auto Pay.
4. If the `invoiceDeliveryPrefsEmail` field is not specified
in the request, the account's email delivery preference is always automatically
set to  `false`, no matter whether the  `workEmail`  or  `personalEmail`  field
is specified.
 
### Defaults for customerAcceptanceDate and serviceActivationDate

Default values for **customerAcceptanceDate** and **serviceActivationDate** are set as follows.

|        | serviceActivationDate(SA) specified          | serviceActivationDate (SA) NOT specified  |
| ------------- |:------------- | :-----|
| customerAcceptanceDate (CA) specified| SA uses value in the request call; CA uses value in the request call| CA uses value in the request call;SA uses CE as default |
| customerAcceptanceDate (CA) NOT specified      | SA uses value in the request call; CA uses SA as default |   SA and CA use CE as default |

This call supports a subset of the functionality of our [Create an order](https://developer.zuora.com/v1-api-reference/api/operation/POST_Order/) call. 
For use cases where you create a subscription and a billing account at the same time, we recommend using "Create an order" instead of this call.
The Orders call has the following advantages: 
- Provides options for managing the entire subscription lifecycle from creation through to cancellation using different order actions. 
- Allows the creation or modifying of multiple subscriptions in a single order. 
- Allows a single order to combine both recurring subscription digital goods or services with order line items for physical goods.
- Orders are treated as atomic transactions. If any part fails, the entire order, subscription, and billing account creation are rolled back.

You should use this call if you need to create a standalone billing account, and create orders, subscriptions, standalone invoices, or dynamic usage charges later.
There are no deprecation plans for this call and we will continue to support this call for existing users.

## Headers

- `Idempotency-Key` string
- `Accept-Encoding` string
- `Content-Encoding` string
- `Zuora-Track-Id` string
- `Zuora-Entity-Ids` string
- `Zuora-Org-Ids` string
- `Zuora-Version` string

## Request body

- POSTAccountType — Container for custom fields of an Account object.
  - `accountNumber` string — A unique account number, up to 50 characters that do not begin with the default account number prefix. If no account number is specified, one is generated.
  - `additionalEmailAddresses` string[] — A list of additional email addresses to receive email notifications. Use commas to separate email addresses.
  - `applicationOrder` string[] — 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 specified type are applied to invoices. For example, if the value is `["CreditMemo"]`, only credit memos are used to apply to invoices.
  - `applyCredit` boolean — 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, or both will be automatically applied to the invoice. If no value is specified or the value is `false`, no action is taken. **Note:** This field is only available if you have [Invoice Settlement](https://docs.zuora.com?resourceId=billing-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://docs.zuora.com?resourceId=billing-invoice-settlement-migration-checklist-and-guide) for more information.
  - `applyCreditBalance` boolean — Applies a credit balance to an invoice. If the value is `true`, the credit balance is applied to the invoice. If the value is `false`, no action is taken. Prerequisite: `invoice` must be `true`. To view the credit balance adjustment, retrieve the details of the invoice using the Get Invoices method. **Note:** - If you are using the field `invoiceCollect` rather than the field `invoice`, the `invoiceCollect` value must be `true`. - This field is deprecated if you have the Invoice Settlement feature enabled.
  - `autoPay` boolean — Whether future payments are to be automatically billed when they are due. - If this field is set to `true`, you must specify either the `creditCard` field or the `hpmCreditCardPaymentMethodId` field, but not both. - If this field is set to `false`, you can specify neither the `creditCard` field nor the `hpmCreditCardPaymentMethodId` field.
  - `batch` string — The alias name given to a batch. A string of 50 characters or less. **Note**: By default, you have 50 configurable account batches. To increase the limit to 200 batches, you must have the <a href="https://docs.zuora.com?resourceId=performance-booster-elite" target="_blank">Performance Booster Elite</a> package.
  - `billCycleDay` integer — The account's bill cycle day (BCD), when bill runs generate invoices for the account. Specify any day of the month (1-31, where 31 = end-of-month), or 0 for auto-set. Required if no subscription will be created. Optional if a subscription is created and defaults to the day-of-the-month of the subscription's `contractEffectiveDate`.
  - `billToContact` POSTAccountTypeBillToContact, required — Container for bill-to contact information for this account. If you do not provide a sold-to contact, the bill-to contact is copied to sold-to contact. Once the sold-to contact is created, changes to billToContact will not affect soldToContact and vice versa.
    - `address1` string — First address line, 255 characters or less.
    - `address2` string — Second address line, 255 characters or less.
    - `city` string — City
    - `country` string — 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 — May optionally be used by Zuora Tax to calculate county tax.
    - `fax` string — Fax phone number, 40 characters or less.
    - `firstName` string, required — First name, 100 characters or less.
    - `homePhone` string — Home phone number, 40 characters or less.
    - `lastName` string, required — Last name, 100 characters or less.
    - `mobilePhone` string — Mobile phone number, 40 characters or less.
    - `nickname` string — Nickname for this contact
    - `otherPhone` string — Other phone number, 40 characters or less.
    - `otherPhoneType` string — Possible values are: `Work`, `Mobile`, `Home`, `Other`.
    - `personalEmail` string, email — Personal email address.
    - `state` string — State must be a valid subregion (state or province) name or code. For more information, see <a href="https://docs.zuora.com?resourceId=view-sub-regions-of-specific-country-or-region" target="_blank">View subregions of a specific country or region</a>. If using Zuora Tax, be aware that Zuora tax requires a state (in the US) or province (in Canada) in this field for the sold-to contact to calculate tax, and that a bill-to contact may be used if no sold-to contact is provided.
    - `taxRegion` string — If using Zuora Tax, a region string as optionally defined in your tax rules. Not required.
    - `workEmail` string — Work email address, 80 characters or less.
    - `workPhone` string — Work phone number, 40 characters or less.
    - `zipCode` string — Zip code, 20 characters or less.
  - `collect` boolean — Collects an automatic payment for a subscription. The collection generated in this operation is only for this subscription, not for the entire customer account. If the value is `true`, the automatic payment is collected. If the value is `false`, no action is taken. Prerequisite: The `invoice` or `runBilling` field must be `true`. **Note**: This field is available only if you are on the latest Zuora API version, or you set the `Zuora-Version` request header to `196.0` or [a later available version](https://developer.zuora.com/v1-api-reference/api-versions/#minor-version).
  - `communicationProfileId` string — The ID of the communication profile that this account is linked to. You can provide either or both of the `communicationProfileId` and `profileNumber` fields. If both are provided, the request will fail if they do not refer to the same communication profile. If none is provided, the default communication profile will be used for this account.
  - `creditCard` POSTAccountTypeCreditCard — **Note:** This field has been deprecated, and is currently available only for backward compatibility. Use the `paymentMethod` field instead to create a payment method associated with this account. Container for information on a credit card to associate with this account. If the `autoPay` field is set to `true`, you must provide one of the `paymentMethod`, `creditCard`, or `hpmCreditCardPaymentMethodId` field, but not multiple.
    - `cardHolderInfo` object, required — Container for cardholder information.
      - `addressLine1` string, required — First address line, 255 characters or less.
      - `addressLine2` string — Second address line, 255 characters or less.
      - `cardHolderName` string, required — The card holder's full name as it appears on the card, e.g., "John J Smith", 50 characters or less.
      - `city` string, required — 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, required — 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 — Card holder's email address, 80 characters or less.
      - `phone` string — Phone number, 40 characters or less.
      - `state` string, required — State; must be a valid subregion (state or province) name or code. For more information, see <a href="https://docs.zuora.com?resourceId=view-sub-regions-of-specific-country-or-region" target="_blank">View subregions of a specific country or region</a>.
      - `zipCode` string, required — Zip code, 20 characters or less.
    - `cardNumber` string, required — Card number, up to 16 characters. Once created, this field can't be updated or queried, and is only available in masked format (e.g., XXXX-XXXX-XXXX-1234).
    - `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](https://docs.zuora.com?resourceId=payments-supported-payment-gateways).
    - `expirationMonth` string, required — Two-digit expiration month (01-12).
    - `expirationYear` string, required — Four-digit expiration year.
    - `securityCode` string — The CVV or CVV2 security code of the card. To ensure PCI compliance, this value is not stored and cannot be queried.
  - `creditMemoReasonCode` string — 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.
  - `creditMemoTemplateId` string — **Note:** This field is only available if you have [Invoice Settlement](https://docs.zuora.com?resourceId=billing-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://docs.zuora.com?resourceId=billing-invoice-settlement-migration-checklist-and-guide) for more information. The credit memo template ID or template number, configured in **Billing Settings** > **Manage Billing Document Configuration** through the Zuora UI. For example, 2c92c08a6246fdf101626b1b3fe0144b.
  - `crmId` string — CRM account ID for the account, up to 100 characters.
  - `currency` string, required — A currency as defined in Billing Settings in the Zuora UI. 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.
  - `customerServiceRepName` string — Name of the account's customer service representative, if applicable.
  - `debitMemoTemplateId` string — **Note:** This field is only available if you have [Invoice Settlement](https://docs.zuora.com?resourceId=billing-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://docs.zuora.com?resourceId=billing-invoice-settlement-migration-checklist-and-guide) for more information. The debit memo template ID or template number, configured in **Billing Settings** > **Manage Billing Document Configuration** through the Zuora UI. For example, 2c92c08d62470a8501626b19d24f19e2.
  - `documentDate` string, date — The date of the billing document, in `yyyy-mm-dd` format. It represents the invoice date for invoices, credit memo date for credit memos, and debit memo date for debit memos. - If this field is specified, the specified date is used as the billing document date. - If this field is not specified, the date specified in the `targetDate` is used as the billing document date.
  - `einvoiceProfile` PostAccountEInvoiceProfile — Container for e-invoicing profile information for this account. **Note**: This field is available only if you have the <a href="https://docs.zuora.com/en/zuora-billing/bill-your-customer/leverage-advanced-capabilities/e-invoicing/e-invoicing-overview" target="_blank">E-Invoicing</a> feature in **Early Adopter** phase enabled.
    - `businessCategory` 'B2B' | 'B2C' | 'B2G' — The high-level category of the business.
    - `businessName` string — The full official name that the Buyer is registered with the relevant legal authority.
    - `businessNumber` string — The unique identifier number of the legal entity or person that you do business with. For example, you must use a GSTIN for India.
    - `businessNumberSchemeId` string — The identification scheme identifier that an official registrar issues to identify the Buyer as a legal entity or person.
    - `enabled` boolean — Whether to enable the e-invoicing profile for the customer account. If the following conditions are met, all billing documents for one account can be submitted to an e-invoicing service provider to be generated in electronic format: - The account must be configured to generate e-invoice files for billing documents. - The billing document must be in Posted status. - A business region must be created for the billing country contact, and be linked to an e-invoicing service provider.
    - `endpointId` string — The Buyer's electronic address, to which the application-level response to the billing document might be delivered.
    - `endpointSchemeId` string — The identification scheme identifier of the Buyer’s electronic address.
    - `taxRegisterNumber` string — The Buyer's VAT identifier (also known as the Buyer's VAT identification number) or the local identification (defined by the Buyer’s address) of the Buyer for tax purposes, or a reference that enables the Buyer to state the registered tax status.
  - `gatewayId` string — The ID of the payment gateway instance to use.
  - `gatewayRoutingEligible` boolean — Indicates whether to include the applicable billing accounts to gateway routing for controlled adoption.
  - `hpmCreditCardPaymentMethodId` string — The ID of the payment method associated with this account. You can use this field to set the default payment method for the account. The payment method ID specified in this field will be set as the default payment method for this account. You can pass the ID of any valid payment method, including a system-generated payment method ID, into this field. 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 — Whether the customer wants to receive invoices through email.
  - `invoiceDeliveryPrefsPrint` boolean — Whether the customer wants to receive printed invoices, such as through postal mail.
  - `invoiceTemplateId` string — Invoice template ID or template number, configured in Billing Settings in the Zuora UI.
  - `name` string, required — Account name, up to 255 characters.
  - `notes` string — A string of up to 65,535 characters.
  - `organizationLabel` string — Name of the organization that the account belongs to. This field is only required when you have already turned on Multi-Org feature.
  - `parentAccountNumber` string — Account number of the parent account.
  - `parentId` string — Identifier of the parent customer account for this Account object. The length is 32 characters. Use this field if you have <a href="https://docs.zuora.com?resourceId=billing-overview-customer-accounts" target="_blank">Customer Hierarchy</a> enabled.
  - `partnerAccount` boolean — 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 <a href="https://docs.zuora.com?resourceId=billing-reseller-account" target="_blank">Reseller Account</a> feature enabled.
  - `paymentGateway` string — The name of the payment gateway instance. If null or left unassigned, the Account will use the Default Gateway.
  - `paymentGatewayName` string — The name of the payment gateway instance to use.
  - `paymentGatewayNumber` string — The natural key that identifies the payment gateway instance to use.
  - `paymentMethod` union — Payment method information associated with an account.
    - object — Container for custom fields of a payment method object.
      - `type` 'CreditCard' | 'CreditCardReferenceTransaction' | 'ACH' | 'SEPA' | 'Betalingsservice' | 'Autogiro' | 'Bacs' | 'Becs' | 'Becsnz' | 'PAD' | 'PayPalCP' | 'PayPalEC' | 'PayPalNativeEC' | 'PayPalAdaptive' | 'AdyenApplePay' | 'AdyenGooglePay' | 'GooglePay' | 'AmazonPay', required — Type of the payment method. The following types of the payment methods are supported: * `CreditCard` * `CreditCardReferenceTransaction` * `ACH` * `SEPA` * `Betalingsservice` * `Autogiro` * `Bacs` * `Becs` * `Becsnz` * `PAD` * `PayPalCP` * `PayPalEC` * `PayPalNativeEC` * `PayPalAdaptive` * `AdyenApplePay` * `AdyenGooglePay` * `GooglePay` * `AmazonPay` To view the schema and example applicable to a specific payment method type, select the corresponding option from the following list.
      - `cardHolderInfo` CreatePaymentMethodCardholderInfo, required — Container for cardholder information. The nested `cardHolderName` field is required.
        - `addressLine1` string — First address line, 255 characters or less.
        - `addressLine2` string — Second address line, 255 characters or less.
        - `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.
        - `city` string — 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 — 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 — Card holder's email address, 80 characters or less.
        - `phone` string — Phone number, 40 characters or less.
        - `state` string — State; must be a valid subregion (state or province) name or code. For more information, see <a href="https://docs.zuora.com?resourceId=view-sub-regions-of-specific-country-or-region" target="_blank">View subregions of a specific country or region</a>.
        - `zipCode` string — Zip code, 20 characters or less.
      - `cardMaskNumber` string — The masked card number. Currently, this field is only supported on certain integrations. See <a href="https://docs.zuora.com?resourceId=payments-create-tokenized-payment-methods" target="_blank">this article</a> for more information.
      - `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 <a href="https://docs.zuora.com?resourceId=payments-supported-payment-gateways" target="_blank">Supported Payment Gateways</a>.
      - `checkDuplicated` boolean — 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.
      - `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.
      - `identityNumber` string — The identity number of the cardholder. This field is required for Credit Card payment methods in certain countries such as Brazil.
      - `mitConsentAgreementRef` string — 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` 'External' — 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.
      - `mitNetworkTransactionId` string — Specifies the ID of a network transaction. Only applicable if you set the `mitProfileAction` field to `Persist`.
      - `mitProfileAction` 'Activate' | 'Persist' — 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.
      - `mitProfileAgreedOn` string, date — The date on which the profile is agreed. The date format is `yyyy-mm-dd`.
      - `mitProfileType` 'Recurring' | 'Unscheduled' — 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.
      - `screeningAmount` number — For <a href="https://docs.zuora.com?resourceId=payments-chase-orbital-gateway-integration" target="_blank">Chase Paymentech Orbital Gateway</a> 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 — CVV or CVV2 security code of the credit card. To ensure PCI compliance, this value is not stored and cannot be queried.
      - `tokens` object — 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 <a href="https://docs.zuora.com?resourceId=payments-create-tokenized-payment-methods" target="_blank">this article</a> for more information.
        - `gatewayType` string, required — The type of the payment gateway to generate the tokens. This field is case-sensitive.
        - `secondTokenId` string — Pass in the second token of the payment method.
        - `thirdTokenId` string — Pass in the third token of the payment method.
        - `tokenId` string, required — Pass in the first token of the payment method.
      - `tokenize` boolean — Specify `true` to tokenize the payment method with the card information. Currently, this field is only supported on certain integrations. See <a href="https://docs.zuora.com?resourceId=payments-create-tokenized-payment-methods" target="_blank">this article</a> for more information.
      - `mandateInfo` object — The container of the mandate information for the payment method.
        - `mandateId` string — The mandate ID.
        - `mandateReason` string — The reason of the mandate from the gateway side.
        - `mandateStatus` string — The status of the mandate from the gateway side.
      - `processingOptions` object — The container for payment method processing options.
        - `checkDuplicated` boolean — 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 <a href="https://docs.zuora.com?resourceId=payments-duplication-check" target="_blank">Duplication check on payment methods</a>.
      - `accountKey` string — 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 — 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 <a href="https://docs.zuora.com?resourceId=payments-gateway-routing" target="_blank">Payment Gateway Routing</a> 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 — The currency used for payment method authorization.
      - `gatewayOptions` object — 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://docs.zuora.com?resourceId=payments-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 — The name of a gateway-specific parameter.
        - `value` string — The value of the gateway-specific parameter.
      - `ipAddress` string — 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 — 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 — 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.
    - object — Container for custom fields of a payment method object.
      - `type` 'CreditCard' | 'CreditCardReferenceTransaction' | 'ACH' | 'SEPA' | 'Betalingsservice' | 'Autogiro' | 'Bacs' | 'Becs' | 'Becsnz' | 'PAD' | 'PayPalCP' | 'PayPalEC' | 'PayPalNativeEC' | 'PayPalAdaptive' | 'AdyenApplePay' | 'AdyenGooglePay' | 'GooglePay' | 'AmazonPay', required — Type of the payment method. The following types of the payment methods are supported: * `CreditCard` * `CreditCardReferenceTransaction` * `ACH` * `SEPA` * `Betalingsservice` * `Autogiro` * `Bacs` * `Becs` * `Becsnz` * `PAD` * `PayPalCP` * `PayPalEC` * `PayPalNativeEC` * `PayPalAdaptive` * `AdyenApplePay` * `AdyenGooglePay` * `GooglePay` * `AmazonPay` To view the schema and example applicable to a specific payment method type, select the corresponding option from the following list.
      - `creditCardMaskNumber` string — 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.
      - `secondTokenId` string — 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.
      - `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.
      - `mandateInfo` object — The container of the mandate information for the payment method.
        - `mandateId` string — The mandate ID.
        - `mandateReason` string — The reason of the mandate from the gateway side.
        - `mandateStatus` string — The status of the mandate from the gateway side.
      - `accountKey` string — 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 — 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 <a href="https://docs.zuora.com?resourceId=payments-gateway-routing" target="_blank">Payment Gateway Routing</a> 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 — The currency used for payment method authorization.
      - `gatewayOptions` object — 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://docs.zuora.com?resourceId=payments-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 — The name of a gateway-specific parameter.
        - `value` string — The value of the gateway-specific parameter.
      - `ipAddress` string — 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 — 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 — 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.
    - object — Container for custom fields of a payment method object.
      - `type` 'CreditCard' | 'CreditCardReferenceTransaction' | 'ACH' | 'SEPA' | 'Betalingsservice' | 'Autogiro' | 'Bacs' | 'Becs' | 'Becsnz' | 'PAD' | 'PayPalCP' | 'PayPalEC' | 'PayPalNativeEC' | 'PayPalAdaptive' | 'AdyenApplePay' | 'AdyenGooglePay' | 'GooglePay' | 'AmazonPay', required — Type of the payment method. The following types of the payment methods are supported: * `CreditCard` * `CreditCardReferenceTransaction` * `ACH` * `SEPA` * `Betalingsservice` * `Autogiro` * `Bacs` * `Becs` * `Becsnz` * `PAD` * `PayPalCP` * `PayPalEC` * `PayPalNativeEC` * `PayPalAdaptive` * `AdyenApplePay` * `AdyenGooglePay` * `GooglePay` * `AmazonPay` To view the schema and example applicable to a specific payment method type, select the corresponding option from the following list.
      - `addressLine1` string — First address line, 255 characters or less.
      - `addressLine2` string — Second address line, 255 characters or less.
      - `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`.
      - `bankAccountMaskNumber` string — The masked account number such as ****1234. Currently, this field is only supported on certain integrations. See <a href="https://docs.zuora.com?resourceId=payments-create-tokenized-payment-methods" target="_blank">this article</a> for more information.
      - `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://docs.zuora.com?resourceId=payments-bluesnap-payment-gateway-integration) 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 <a href="https://docs.zuora.com?resourceId=payments-create-tokenized-payment-methods" target="_blank">this article</a> for more information.
      - `bankAccountType` 'BusinessChecking' | 'Checking' | 'Saving', 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.
      - `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.
      - `city` string — 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 — Country, must be a valid country name or abbreviation. See <a href="https://docs.zuora.com?resourceId=view-countries-or-regions" target="_blank">View countries or regions</a> 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.
      - `phone` string — Phone number, 40 characters or less.
      - `state` string — State, must be a valid subregion (state or province) name or code. For more information, see <a href="https://docs.zuora.com?resourceId=view-sub-regions-of-specific-country-or-region" target="_blank">View subregions of a specific country or region</a>.
      - `zipCode` string — Zip code, 20 characters or less.
      - `mandateInfo` object — The container of the mandate information for the payment method.
        - `mandateId` string — The mandate ID.
        - `mandateReason` string — The reason of the mandate from the gateway side.
        - `mandateStatus` string — The status of the mandate from the gateway side.
      - `processingOptions` object — The container for payment method processing options.
        - `checkDuplicated` boolean — 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 <a href="https://docs.zuora.com?resourceId=payments-duplication-check" target="_blank">Duplication check on payment methods</a>.
      - `tokens` object — 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 <a href="https://docs.zuora.com?resourceId=payments-create-tokenized-payment-methods" target="_blank">this article</a> for more information.
        - `gatewayType` string, required — The type of the payment gateway to generate the tokens. This field is case-sensitive.
        - `secondTokenId` string — Pass in the second token of the payment method.
        - `thirdTokenId` string — Pass in the third token of the payment method.
        - `tokenId` string, required — Pass in the first token of the payment method.
      - `tokenize` boolean — Specify `true` to tokenize the payment method with the account information. Currently, this field is only supported on certain integrations. See <a href="https://docs.zuora.com?resourceId=payments-create-tokenized-payment-methods" target="_blank">this article</a> for more information.
      - `accountKey` string — 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 — 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 <a href="https://docs.zuora.com?resourceId=payments-gateway-routing" target="_blank">Payment Gateway Routing</a> 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 — The currency used for payment method authorization.
      - `gatewayOptions` object — 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://docs.zuora.com?resourceId=payments-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 — The name of a gateway-specific parameter.
        - `value` string — The value of the gateway-specific parameter.
      - `ipAddress` string — 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 — 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 — 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.
    - object — Container for custom fields of a payment method object.
      - `type` 'CreditCard' | 'CreditCardReferenceTransaction' | 'ACH' | 'SEPA' | 'Betalingsservice' | 'Autogiro' | 'Bacs' | 'Becs' | 'Becsnz' | 'PAD' | 'PayPalCP' | 'PayPalEC' | 'PayPalNativeEC' | 'PayPalAdaptive' | 'AdyenApplePay' | 'AdyenGooglePay' | 'GooglePay' | 'AmazonPay', required — Type of the payment method. The following types of the payment methods are supported: * `CreditCard` * `CreditCardReferenceTransaction` * `ACH` * `SEPA` * `Betalingsservice` * `Autogiro` * `Bacs` * `Becs` * `Becsnz` * `PAD` * `PayPalCP` * `PayPalEC` * `PayPalNativeEC` * `PayPalAdaptive` * `AdyenApplePay` * `AdyenGooglePay` * `GooglePay` * `AmazonPay` To view the schema and example applicable to a specific payment method type, select the corresponding option from the following list.
      - `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 <a href="https://docs.zuora.com?resourceId=payments-create-tokenized-payment-methods" target="_blank">this article</a> for more information.
      - `accountHolderInfo` object, 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 <a href="https://docs.zuora.com?resourceId=payments-create-tokenized-payment-methods" target="_blank">this article</a> for more information.
        - `accountHolderName` string, required — The full name of the bank account holder.
        - `addressLine1` string — 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 — The second line of the address for the account holder.
        - `city` string — 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 — 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 — The email address of the account holder.
        - `firstName` string — The first name of the account holder.
        - `lastName` string — The last name of the account holder.
        - `phone` string — The phone number of the account holder.
        - `state` string — The state where the account holder stays.
        - `zipCode` string — The zip code for the address of the account holder.
      - `accountMaskNumber` string — 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 <a href="https://docs.zuora.com?resourceId=payments-create-tokenized-payment-methods" target="_blank">this article</a> for more information.
      - `businessIdentificationCode` string — The BIC code used for SEPA.
      - `mandateInfo` object — The container of the mandate information for the payment method.
        - `mandateId` string — The mandate ID.
        - `mandateReason` string — The reason of the mandate from the gateway side.
        - `mandateStatus` string — The status of the mandate from the gateway side.
      - `tokenize` boolean — 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 <a href="https://docs.zuora.com?resourceId=payments-tokenize-payment-methods-on-adyen" target="_blank">Tokenize SEPA payment methods on Adyen Integration v2.0</a>.
      - `tokens` object — 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 <a href="https://docs.zuora.com?resourceId=payments-create-tokenized-payment-methods" target="_blank">this article</a> for more information.
        - `gatewayType` 'Adyen' | 'Stripe', required — The type of the payment gateway to generate the tokens. This field is case-sensitive.
        - `secondTokenId` string — Pass in the second token of the payment method.
        - `thirdTokenId` string — Pass in the third token of the payment method.
        - `tokenId` string, required — Pass in the first token of the payment method.
      - `processingOptions` object — The container for payment method processing options.
        - `checkDuplicated` boolean — 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 <a href="https://docs.zuora.com?resourceId=payments-duplication-check" target="_blank">Duplication check on payment methods</a>.
      - `accountKey` string — 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 — 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 <a href="https://docs.zuora.com?resourceId=payments-gateway-routing" target="_blank">Payment Gateway Routing</a> 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 — The currency used for payment method authorization.
      - `gatewayOptions` object — 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://docs.zuora.com?resourceId=payments-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 — The name of a gateway-specific parameter.
        - `value` string — The value of the gateway-specific parameter.
      - `ipAddress` string — 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 — 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 — 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.
    - object — Container for custom fields of a payment method object.
      - `type` 'CreditCard' | 'CreditCardReferenceTransaction' | 'ACH' | 'SEPA' | 'Betalingsservice' | 'Autogiro' | 'Bacs' | 'Becs' | 'Becsnz' | 'PAD' | 'PayPalCP' | 'PayPalEC' | 'PayPalNativeEC' | 'PayPalAdaptive' | 'AdyenApplePay' | 'AdyenGooglePay' | 'GooglePay' | 'AmazonPay', required — Type of the payment method. The following types of the payment methods are supported: * `CreditCard` * `CreditCardReferenceTransaction` * `ACH` * `SEPA` * `Betalingsservice` * `Autogiro` * `Bacs` * `Becs` * `Becsnz` * `PAD` * `PayPalCP` * `PayPalEC` * `PayPalNativeEC` * `PayPalAdaptive` * `AdyenApplePay` * `AdyenGooglePay` * `GooglePay` * `AmazonPay` To view the schema and example applicable to a specific payment method type, select the corresponding option from the following list.
      - `accountHolderInfo` object, required — The container for the account holder information. The nested `accountHolderName` field is required.
        - `accountHolderName` string — Required. The full name of the bank account holder.
        - `addressLine1` string — The first line of the address for the account holder.
        - `addressLine2` string — The second line of the address for the account holder.
        - `city` string — 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 — The country where the account holder stays.
        - `email` string — The email address of the account holder.
        - `firstName` string — The first name of the account holder.
        - `lastName` string — The last name of the account holder.
        - `phone` string — The phone number of the account holder.
        - `state` string — The state where the account holder stays.
        - `zipCode` string — The zip code for the address of the account holder.
      - `accountNumber` string, required — The number of the customer's bank account.
      - `accountMaskNumber` string — The masked account number such as ****1234.
      - `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.
      - `mandateInfo` object — The container of the mandate information for the payment method.
        - `mandateId` string — The mandate ID.
        - `mandateReason` string — The reason of the mandate from the gateway side.
        - `mandateStatus` string — The status of the mandate from the gateway side.
      - `processingOptions` object — The container for payment method processing options.
        - `checkDuplicated` boolean — 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 <a href="https://docs.zuora.com?resourceId=payments-duplication-check" target="_blank">Duplication check on payment methods</a>.
      - `accountKey` string — 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 — 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 <a href="https://docs.zuora.com?resourceId=payments-gateway-routing" target="_blank">Payment Gateway Routing</a> 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 — The currency used for payment method authorization.
      - `gatewayOptions` object — 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://docs.zuora.com?resourceId=payments-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 — The name of a gateway-specific parameter.
        - `value` string — The value of the gateway-specific parameter.
      - `ipAddress` string — 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 — 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 — 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.
    - object — Container for custom fields of a payment method object.
      - `type` 'CreditCard' | 'CreditCardReferenceTransaction' | 'ACH' | 'SEPA' | 'Betalingsservice' | 'Autogiro' | 'Bacs' | 'Becs' | 'Becsnz' | 'PAD' | 'PayPalCP' | 'PayPalEC' | 'PayPalNativeEC' | 'PayPalAdaptive' | 'AdyenApplePay' | 'AdyenGooglePay' | 'GooglePay' | 'AmazonPay', required — Type of the payment method. The following types of the payment methods are supported: * `CreditCard` * `CreditCardReferenceTransaction` * `ACH` * `SEPA` * `Betalingsservice` * `Autogiro` * `Bacs` * `Becs` * `Becsnz` * `PAD` * `PayPalCP` * `PayPalEC` * `PayPalNativeEC` * `PayPalAdaptive` * `AdyenApplePay` * `AdyenGooglePay` * `GooglePay` * `AmazonPay` To view the schema and example applicable to a specific payment method type, select the corresponding option from the following list.
      - `accountHolderInfo` object, required — The container for the account holder information. The nested `accountHolderName` field is required.
        - `accountHolderName` string — Required. The full name of the bank account holder.
        - `addressLine1` string — The first line of the address for the account holder.
        - `addressLine2` string — The second line of the address for the account holder.
        - `city` string — 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 — The country where the account holder stays.
        - `email` string — The email address of the account holder.
        - `firstName` string — The first name of the account holder.
        - `lastName` string — The last name of the account holder.
        - `phone` string — The phone number of the account holder.
        - `state` string — The state where the account holder stays.
        - `zipCode` string — The zip code for the address of the account holder.
      - `accountNumber` string, required — The number of the customer's bank account.
      - `accountMaskNumber` string — The masked account number such as ****1234.
      - `branchCode` string, required — The branch code of the bank used for direct debit.
      - `identityNumber` string, required — The identity number used for Bank Transfer.
      - `mandateInfo` object — The container of the mandate information for the payment method.
        - `mandateId` string — The mandate ID.
        - `mandateReason` string — The reason of the mandate from the gateway side.
        - `mandateStatus` string — The status of the mandate from the gateway side.
      - `processingOptions` object — The container for payment method processing options.
        - `checkDuplicated` boolean — 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 <a href="https://docs.zuora.com?resourceId=payments-duplication-check" target="_blank">Duplication check on payment methods</a>.
      - `accountKey` string — 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 — 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 <a href="https://docs.zuora.com?resourceId=payments-gateway-routing" target="_blank">Payment Gateway Routing</a> 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 — The currency used for payment method authorization.
      - `gatewayOptions` object — 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://docs.zuora.com?resourceId=payments-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 — The name of a gateway-specific parameter.
        - `value` string — The value of the gateway-specific parameter.
      - `ipAddress` string — 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 — 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 — 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.
    - object — Container for custom fields of a payment method object.
      - `type` 'CreditCard' | 'CreditCardReferenceTransaction' | 'ACH' | 'SEPA' | 'Betalingsservice' | 'Autogiro' | 'Bacs' | 'Becs' | 'Becsnz' | 'PAD' | 'PayPalCP' | 'PayPalEC' | 'PayPalNativeEC' | 'PayPalAdaptive' | 'AdyenApplePay' | 'AdyenGooglePay' | 'GooglePay' | 'AmazonPay', required — Type of the payment method. The following types of the payment methods are supported: * `CreditCard` * `CreditCardReferenceTransaction` * `ACH` * `SEPA` * `Betalingsservice` * `Autogiro` * `Bacs` * `Becs` * `Becsnz` * `PAD` * `PayPalCP` * `PayPalEC` * `PayPalNativeEC` * `PayPalAdaptive` * `AdyenApplePay` * `AdyenGooglePay` * `GooglePay` * `AmazonPay` To view the schema and example applicable to a specific payment method type, select the corresponding option from the following list.
      - `accountHolderInfo` object, required — The container for the account holder information. The nested `accountHolderName` field is required.
        - `accountHolderName` string — Required. The full name of the bank account holder.
        - `addressLine1` string — The first line of the address for the account holder.
        - `addressLine2` string — The second line of the address for the account holder.
        - `city` string — 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 — The country where the account holder stays.
        - `email` string — The email address of the account holder.
        - `firstName` string — The first name of the account holder.
        - `lastName` string — The last name of the account holder.
        - `phone` string — The phone number of the account holder.
        - `state` string — The state where the account holder stays.
        - `zipCode` string — The zip code for the address of the account holder.
      - `accountNumber` string, required — The number of the customer's bank account.
      - `accountMaskNumber` string — 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 <a href="https://docs.zuora.com?resourceId=payments-stripe-gateway-integration" target="_blank">Overview of Stripe payment gateway integration</a>.
      - `bankCode` string, required — The sort code or number that identifies the bank. This is also known as the sort code.
      - `mandateInfo` object — The container of the mandate information for the payment method.
        - `mandateId` string — The mandate ID.
        - `mandateReason` string — The reason of the mandate from the gateway side.
        - `mandateStatus` string — The status of the mandate from the gateway side.
      - `tokenize` boolean — 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 <a href="https://docs.zuora.com?resourceId=payments-direct-debit-uk-bacs-for-adyen" target="_blank">Overview of Adyen Integration v2.0</a>.
      - `tokens` object — 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 <a href="https://docs.zuora.com?resourceId=payments-stripe-gateway-integration" target="_blank">Overview of Stripe payment gateway integration</a>.
        - `gatewayType` 'Stripe' — Required. The type of the payment gateway to generate the tokens. This field is case-sensitive.
        - `secondTokenId` string — Pass in the second token of the payment method. For more information, see <a href="https://docs.zuora.com?resourceId=payments-stripe-gateway-integration" target="_blank">Overview of Stripe payment gateway integration</a>.
        - `thirdTokenId` string — Pass in the third token of the payment method.
        - `tokenId` string — Required. Pass in the first token of the payment method. For more information, see <a href="https://docs.zuora.com?resourceId=payments-stripe-gateway-integration" target="_blank">Overview of Stripe payment gateway integration</a>.
      - `processingOptions` object — The container for payment method processing options.
        - `checkDuplicated` boolean — 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 <a href="https://docs.zuora.com?resourceId=payments-duplication-check" target="_blank">Duplication check on payment methods</a>.
      - `accountKey` string — 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 — 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 <a href="https://docs.zuora.com?resourceId=payments-gateway-routing" target="_blank">Payment Gateway Routing</a> 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 — The currency used for payment method authorization.
      - `gatewayOptions` object — 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://docs.zuora.com?resourceId=payments-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 — The name of a gateway-specific parameter.
        - `value` string — The value of the gateway-specific parameter.
      - `ipAddress` string — 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 — 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 — 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.
    - object — Container for custom fields of a payment method object.
      - `type` 'CreditCard' | 'CreditCardReferenceTransaction' | 'ACH' | 'SEPA' | 'Betalingsservice' | 'Autogiro' | 'Bacs' | 'Becs' | 'Becsnz' | 'PAD' | 'PayPalCP' | 'PayPalEC' | 'PayPalNativeEC' | 'PayPalAdaptive' | 'AdyenApplePay' | 'AdyenGooglePay' | 'GooglePay' | 'AmazonPay', required — Type of the payment method. The following types of the payment methods are supported: * `CreditCard` * `CreditCardReferenceTransaction` * `ACH` * `SEPA` * `Betalingsservice` * `Autogiro` * `Bacs` * `Becs` * `Becsnz` * `PAD` * `PayPalCP` * `PayPalEC` * `PayPalNativeEC` * `PayPalAdaptive` * `AdyenApplePay` * `AdyenGooglePay` * `GooglePay` * `AmazonPay` To view the schema and example applicable to a specific payment method type, select the corresponding option from the following list.
      - `accountHolderInfo` object — The container for the account holder information. The nested `accountHolderName` field is required.
        - `accountHolderName` string — Required. The full name of the bank account holder.
        - `addressLine1` string — The first line of the address for the account holder.
        - `addressLine2` string — The second line of the address for the account holder.
        - `city` string — 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 — The country where the account holder stays.
        - `email` string — The email address of the account holder.
        - `firstName` string — The first name of the account holder.
        - `lastName` string — The last name of the account holder.
        - `phone` string — The phone number of the account holder.
        - `state` string — The state where the account holder stays.
        - `zipCode` string — The zip code for the address of the account holder.
      - `accountNumber` string, required — The number of the customer's bank account.
      - `accountMaskNumber` string — The masked account number such as ****1234.
      - `branchCode` string, required — The branch code of the bank used for direct debit.
      - `mandateInfo` object — The container of the mandate information for the payment method.
        - `mandateId` string — The mandate ID.
        - `mandateReason` string — The reason of the mandate from the gateway side.
        - `mandateStatus` string — The status of the mandate from the gateway side.
      - `processingOptions` object — The container for payment method processing options.
        - `checkDuplicated` boolean — 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 <a href="https://docs.zuora.com?resourceId=payments-duplication-check" target="_blank">Duplication check on payment methods</a>.
      - `accountKey` string — 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 — 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 <a href="https://docs.zuora.com?resourceId=payments-gateway-routing" target="_blank">Payment Gateway Routing</a> 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 — The currency used for payment method authorization.
      - `gatewayOptions` object — 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://docs.zuora.com?resourceId=payments-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 — The name of a gateway-specific parameter.
        - `value` string — The value of the gateway-specific parameter.
      - `ipAddress` string — 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 — 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 — 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.
    - object — Container for custom fields of a payment method object.
      - `type` 'CreditCard' | 'CreditCardReferenceTransaction' | 'ACH' | 'SEPA' | 'Betalingsservice' | 'Autogiro' | 'Bacs' | 'Becs' | 'Becsnz' | 'PAD' | 'PayPalCP' | 'PayPalEC' | 'PayPalNativeEC' | 'PayPalAdaptive' | 'AdyenApplePay' | 'AdyenGooglePay' | 'GooglePay' | 'AmazonPay', required — Type of the payment method. The following types of the payment methods are supported: * `CreditCard` * `CreditCardReferenceTransaction` * `ACH` * `SEPA` * `Betalingsservice` * `Autogiro` * `Bacs` * `Becs` * `Becsnz` * `PAD` * `PayPalCP` * `PayPalEC` * `PayPalNativeEC` * `PayPalAdaptive` * `AdyenApplePay` * `AdyenGooglePay` * `GooglePay` * `AmazonPay` To view the schema and example applicable to a specific payment method type, select the corresponding option from the following list.
      - `accountHolderInfo` object, required — The container for the account holder information. The nested `accountHolderName` field is required.
        - `accountHolderName` string — Required. The full name of the bank account holder.
        - `addressLine1` string — The first line of the address for the account holder.
        - `addressLine2` string — The second line of the address for the account holder.
        - `city` string — 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 — The country where the account holder stays.
        - `email` string — The email address of the account holder.
        - `firstName` string — The first name of the account holder.
        - `lastName` string — The last name of the account holder.
        - `phone` string — The phone number of the account holder.
        - `state` string — The state where the account holder stays.
        - `zipCode` string — The zip code for the address of the account holder.
      - `accountNumber` string, required — The number of the customer's bank account.
      - `accountMaskNumber` string — The masked account number such as ****1234.
      - `branchCode` string, required — The branch code of the bank used for direct debit.
      - `bankCode` string, required — The sort code or number that identifies the bank. This is also known as the sort code.
      - `mandateInfo` object — The container of the mandate information for the payment method.
        - `mandateId` string — The mandate ID.
        - `mandateReason` string — The reason of the mandate from the gateway side.
        - `mandateStatus` string — The status of the mandate from the gateway side.
      - `processingOptions` object — The container for payment method processing options.
        - `checkDuplicated` boolean — 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 <a href="https://docs.zuora.com?resourceId=payments-duplication-check" target="_blank">Duplication check on payment methods</a>.
      - `accountKey` string — 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 — 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 <a href="https://docs.zuora.com?resourceId=payments-gateway-routing" target="_blank">Payment Gateway Routing</a> 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 — The currency used for payment method authorization.
      - `gatewayOptions` object — 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://docs.zuora.com?resourceId=payments-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 — The name of a gateway-specific parameter.
        - `value` string — The value of the gateway-specific parameter.
      - `ipAddress` string — 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 — 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 — 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.
    - object — Container for custom fields of a payment method object.
      - `type` 'CreditCard' | 'CreditCardReferenceTransaction' | 'ACH' | 'SEPA' | 'Betalingsservice' | 'Autogiro' | 'Bacs' | 'Becs' | 'Becsnz' | 'PAD' | 'PayPalCP' | 'PayPalEC' | 'PayPalNativeEC' | 'PayPalAdaptive' | 'AdyenApplePay' | 'AdyenGooglePay' | 'GooglePay' | 'AmazonPay', required — Type of the payment method. The following types of the payment methods are supported: * `CreditCard` * `CreditCardReferenceTransaction` * `ACH` * `SEPA` * `Betalingsservice` * `Autogiro` * `Bacs` * `Becs` * `Becsnz` * `PAD` * `PayPalCP` * `PayPalEC` * `PayPalNativeEC` * `PayPalAdaptive` * `AdyenApplePay` * `AdyenGooglePay` * `GooglePay` * `AmazonPay` To view the schema and example applicable to a specific payment method type, select the corresponding option from the following list.
      - `accountHolderInfo` object, required — The container for the account holder information. The nested `accountHolderName` field is required.
        - `accountHolderName` string — Required. The full name of the bank account holder.
        - `addressLine1` string — The first line of the address for the account holder.
        - `addressLine2` string — The second line of the address for the account holder.
        - `city` string — 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 — The country where the account holder stays.
        - `email` string — The email address of the account holder.
        - `firstName` string — The first name of the account holder.
        - `lastName` string — The last name of the account holder.
        - `phone` string — The phone number of the account holder.
        - `state` string — The state where the account holder stays.
        - `zipCode` string — The zip code for the address of the account holder.
      - `accountNumber` string, required — The number of the customer's bank account.
      - `accountMaskNumber` string — The masked account number such as ****1234.
      - `branchCode` string, required — The branch code of the bank used for direct debit.
      - `bankCode` string, required — The sort code or number that identifies the bank. This is also known as the sort code.
      - `mandateInfo` object — The container of the mandate information for the payment method.
        - `mandateId` string — The mandate ID.
        - `mandateReason` string — The reason of the mandate from the gateway side.
        - `mandateStatus` string — The status of the mandate from the gateway side.
      - `processingOptions` object — The container for payment method processing options.
        - `checkDuplicated` boolean — 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 <a href="https://docs.zuora.com?resourceId=payments-duplication-check" target="_blank">Duplication check on payment methods</a>.
      - `accountKey` string — 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 — 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 <a href="https://docs.zuora.com?resourceId=payments-gateway-routing" target="_blank">Payment Gateway Routing</a> 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 — The currency used for payment method authorization.
      - `gatewayOptions` object — 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://docs.zuora.com?resourceId=payments-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 — The name of a gateway-specific parameter.
        - `value` string — The value of the gateway-specific parameter.
      - `ipAddress` string — 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 — 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 — 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.
    - object — Container for custom fields of a payment method object.
      - `type` 'CreditCard' | 'CreditCardReferenceTransaction' | 'ACH' | 'SEPA' | 'Betalingsservice' | 'Autogiro' | 'Bacs' | 'Becs' | 'Becsnz' | 'PAD' | 'PayPalCP' | 'PayPalEC' | 'PayPalNativeEC' | 'PayPalAdaptive' | 'AdyenApplePay' | 'AdyenGooglePay' | 'GooglePay' | 'AmazonPay', required — Type of the payment method. The following types of the payment methods are supported: * `CreditCard` * `CreditCardReferenceTransaction` * `ACH` * `SEPA` * `Betalingsservice` * `Autogiro` * `Bacs` * `Becs` * `Becsnz` * `PAD` * `PayPalCP` * `PayPalEC` * `PayPalNativeEC` * `PayPalAdaptive` * `AdyenApplePay` * `AdyenGooglePay` * `GooglePay` * `AmazonPay` To view the schema and example applicable to a specific payment method type, select the corresponding option from the following list.
      - `BAID` string, required — ID of a PayPal billing agreement. example: I-1TJ3GAGG82Y9
      - `email` string — Email address associated with the payment method.
      - `accountKey` string — 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 — 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 <a href="https://docs.zuora.com?resourceId=payments-gateway-routing" target="_blank">Payment Gateway Routing</a> 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 — The currency used for payment method authorization.
      - `gatewayOptions` object — 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://docs.zuora.com?resourceId=payments-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 — The name of a gateway-specific parameter.
        - `value` string — The value of the gateway-specific parameter.
      - `ipAddress` string — 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 — 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 — 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.
    - object — Container for custom fields of a payment method object.
      - `type` 'CreditCard' | 'CreditCardReferenceTransaction' | 'ACH' | 'SEPA' | 'Betalingsservice' | 'Autogiro' | 'Bacs' | 'Becs' | 'Becsnz' | 'PAD' | 'PayPalCP' | 'PayPalEC' | 'PayPalNativeEC' | 'PayPalAdaptive' | 'AdyenApplePay' | 'AdyenGooglePay' | 'GooglePay' | 'AmazonPay', required — Type of the payment method. The following types of the payment methods are supported: * `CreditCard` * `CreditCardReferenceTransaction` * `ACH` * `SEPA` * `Betalingsservice` * `Autogiro` * `Bacs` * `Becs` * `Becsnz` * `PAD` * `PayPalCP` * `PayPalEC` * `PayPalNativeEC` * `PayPalAdaptive` * `AdyenApplePay` * `AdyenGooglePay` * `GooglePay` * `AmazonPay` To view the schema and example applicable to a specific payment method type, select the corresponding option from the following list.
      - `BAID` string, required — ID of a PayPal billing agreement.
      - `email` string, required — Email address associated with the payment method.
      - `tokens` object — 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 <a href="https://docs.zuora.com?resourceId=payments-create-tokenized-payment-methods" target="_blank">this article</a> for more information.
        - `gatewayType` string, required — The type of the payment gateway to generate the tokens. This field is case-sensitive.
        - `secondTokenId` string — Pass in the second token of the payment method.
        - `thirdTokenId` string — Pass in the third token of the payment method.
        - `tokenId` string, required — Pass in the first token of the payment method.
      - `tokenize` boolean — Specify `true` to tokenize the payment method. Currently, this field is only supported on certain integrations. See <a href="https://docs.zuora.com?resourceId=payments-create-tokenized-payment-methods" target="_blank">this article</a> for more information.
      - `accountKey` string — 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 — 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 <a href="https://docs.zuora.com?resourceId=payments-gateway-routing" target="_blank">Payment Gateway Routing</a> 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 — The currency used for payment method authorization.
      - `gatewayOptions` object — 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://docs.zuora.com?resourceId=payments-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 — The name of a gateway-specific parameter.
        - `value` string — The value of the gateway-specific parameter.
      - `ipAddress` string — 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 — 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 — 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.
    - object — Container for custom fields of a payment method object.
      - `type` 'CreditCard' | 'CreditCardReferenceTransaction' | 'ACH' | 'SEPA' | 'Betalingsservice' | 'Autogiro' | 'Bacs' | 'Becs' | 'Becsnz' | 'PAD' | 'PayPalCP' | 'PayPalEC' | 'PayPalNativeEC' | 'PayPalAdaptive' | 'AdyenApplePay' | 'AdyenGooglePay' | 'GooglePay' | 'AmazonPay', required — Type of the payment method. The following types of the payment methods are supported: * `CreditCard` * `CreditCardReferenceTransaction` * `ACH` * `SEPA` * `Betalingsservice` * `Autogiro` * `Bacs` * `Becs` * `Becsnz` * `PAD` * `PayPalCP` * `PayPalEC` * `PayPalNativeEC` * `PayPalAdaptive` * `AdyenApplePay` * `AdyenGooglePay` * `GooglePay` * `AmazonPay` To view the schema and example applicable to a specific payment method type, select the corresponding option from the following list.
      - `BAID` string, required — ID of a PayPal billing agreement.
      - `email` string, required — Email address associated with the payment method.
      - `accountKey` string — 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 — 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 <a href="https://docs.zuora.com?resourceId=payments-gateway-routing" target="_blank">Payment Gateway Routing</a> 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 — The currency used for payment method authorization.
      - `gatewayOptions` object — 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://docs.zuora.com?resourceId=payments-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 — The name of a gateway-specific parameter.
        - `value` string — The value of the gateway-specific parameter.
      - `ipAddress` string — 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 — 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 — 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.
    - object — Container for custom fields of a payment method object.
      - `type` 'CreditCard' | 'CreditCardReferenceTransaction' | 'ACH' | 'SEPA' | 'Betalingsservice' | 'Autogiro' | 'Bacs' | 'Becs' | 'Becsnz' | 'PAD' | 'PayPalCP' | 'PayPalEC' | 'PayPalNativeEC' | 'PayPalAdaptive' | 'AdyenApplePay' | 'AdyenGooglePay' | 'GooglePay' | 'AmazonPay', required — Type of the payment method. The following types of the payment methods are supported: * `CreditCard` * `CreditCardReferenceTransaction` * `ACH` * `SEPA` * `Betalingsservice` * `Autogiro` * `Bacs` * `Becs` * `Becsnz` * `PAD` * `PayPalCP` * `PayPalEC` * `PayPalNativeEC` * `PayPalAdaptive` * `AdyenApplePay` * `AdyenGooglePay` * `GooglePay` * `AmazonPay` To view the schema and example applicable to a specific payment method type, select the corresponding option from the following list.
      - `preapprovalKey` string, required — The PayPal preapproval key.
      - `email` string, email, required — Email address associated with the payment method.
      - `accountKey` string — 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 — 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 <a href="https://docs.zuora.com?resourceId=payments-gateway-routing" target="_blank">Payment Gateway Routing</a> 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 — The currency used for payment method authorization.
      - `gatewayOptions` object — 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://docs.zuora.com?resourceId=payments-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 — The name of a gateway-specific parameter.
        - `value` string — The value of the gateway-specific parameter.
      - `ipAddress` string — 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 — 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 — 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.
    - object
      - `type` 'CreditCard' | 'CreditCardReferenceTransaction' | 'ACH' | 'SEPA' | 'Betalingsservice' | 'Autogiro' | 'Bacs' | 'Becs' | 'Becsnz' | 'PAD' | 'PayPalCP' | 'PayPalEC' | 'PayPalNativeEC' | 'PayPalAdaptive' | 'AdyenApplePay' | 'AdyenGooglePay' | 'GooglePay' | 'AmazonPay', required — Type of the payment method. The following types of the payment methods are supported: * `CreditCard` * `CreditCardReferenceTransaction` * `ACH` * `SEPA` * `Betalingsservice` * `Autogiro` * `Bacs` * `Becs` * `Becsnz` * `PAD` * `PayPalCP` * `PayPalEC` * `PayPalNativeEC` * `PayPalAdaptive` * `AdyenApplePay` * `AdyenGooglePay` * `GooglePay` * `AmazonPay` To view the schema and example applicable to a specific payment method type, select the corresponding option from the following list.
      - `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://docs.zuora.com?resourceId=payments-create-apply-pay-using-api).
      - `email` string, email — 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`.
      - `accountKey` string — 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 — 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 <a href="https://docs.zuora.com?resourceId=payments-gateway-routing" target="_blank">Payment Gateway Routing</a> 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 — The currency used for payment method authorization.
      - `gatewayOptions` object — 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://docs.zuora.com?resourceId=payments-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 — The name of a gateway-specific parameter.
        - `value` string — The value of the gateway-specific parameter.
      - `ipAddress` string — 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 — 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 — 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.
    - object
      - `type` 'CreditCard' | 'CreditCardReferenceTransaction' | 'ACH' | 'SEPA' | 'Betalingsservice' | 'Autogiro' | 'Bacs' | 'Becs' | 'Becsnz' | 'PAD' | 'PayPalCP' | 'PayPalEC' | 'PayPalNativeEC' | 'PayPalAdaptive' | 'AdyenApplePay' | 'AdyenGooglePay' | 'GooglePay' | 'AmazonPay', required — Type of the payment method. The following types of the payment methods are supported: * `CreditCard` * `CreditCardReferenceTransaction` * `ACH` * `SEPA` * `Betalingsservice` * `Autogiro` * `Bacs` * `Becs` * `Becsnz` * `PAD` * `PayPalCP` * `PayPalEC` * `PayPalNativeEC` * `PayPalAdaptive` * `AdyenApplePay` * `AdyenGooglePay` * `GooglePay` * `AmazonPay` To view the schema and example applicable to a specific payment method type, select the corresponding option from the following list.
      - `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://docs.zuora.com?resourceId=payments-setup-chase-googlepay-using-api).
      - `accountKey` string — 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 — 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 <a href="https://docs.zuora.com?resourceId=payments-gateway-routing" target="_blank">Payment Gateway Routing</a> 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 — The currency used for payment method authorization.
      - `gatewayOptions` object — 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://docs.zuora.com?resourceId=payments-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 — The name of a gateway-specific parameter.
        - `value` string — The value of the gateway-specific parameter.
      - `ipAddress` string — 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 — 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 — 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.
    - object
      - `type` 'CreditCard' | 'CreditCardReferenceTransaction' | 'ACH' | 'SEPA' | 'Betalingsservice' | 'Autogiro' | 'Bacs' | 'Becs' | 'Becsnz' | 'PAD' | 'PayPalCP' | 'PayPalEC' | 'PayPalNativeEC' | 'PayPalAdaptive' | 'AdyenApplePay' | 'AdyenGooglePay' | 'GooglePay' | 'AmazonPay', required — Type of the payment method. The following types of the payment methods are supported: * `CreditCard` * `CreditCardReferenceTransaction` * `ACH` * `SEPA` * `Betalingsservice` * `Autogiro` * `Bacs` * `Becs` * `Becsnz` * `PAD` * `PayPalCP` * `PayPalEC` * `PayPalNativeEC` * `PayPalAdaptive` * `AdyenApplePay` * `AdyenGooglePay` * `GooglePay` * `AmazonPay` To view the schema and example applicable to a specific payment method type, select the corresponding option from the following list.
      - `amazonPayToken` string, required — This field is specific for setting up Amazon Pay gateway integrations to specify the stringified Amazon Pay token.
      - `accountKey` string — 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 — 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 <a href="https://docs.zuora.com?resourceId=payments-gateway-routing" target="_blank">Payment Gateway Routing</a> 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 — The currency used for payment method authorization.
      - `gatewayOptions` object — 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://docs.zuora.com?resourceId=payments-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 — The name of a gateway-specific parameter.
        - `value` string — The value of the gateway-specific parameter.
      - `ipAddress` string — 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 — 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 — 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.
  - `paymentMethodId` string — The unique identifier of the payment method.
  - `paymentTerm` string — Payment terms for this account. Possible values are: `Due Upon Receipt`, `Net 30`, `Net 60`, `Net 90`. **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.
  - `profileNumber` string — The number of the communication profile that this account is linked to. You can provide either or both of the `communicationProfileId` and `profileNumber` fields. If both are provided, the request will fail if they do not refer to the same communication profile. If none is provided, the default communication profile will be used for this account.
  - `purchaseOrderNumber` string — The purchase order number provided by your customer for services, products, or both purchased.
  - `rollUpUsage` boolean — Specifies whether usage is rolled up to the parent account.
  - `runBilling` boolean — Creates an invoice for a subscription. If you have the Invoice Settlement feature enabled, a credit memo might also be created based on the [invoice and credit memo generation rule](https://docs.zuora.com?resourceId=billing-invoice-and-credit-memo-generation-rule). The billing documents generated in this operation is only for this subscription, not for the entire customer account. Possible values: - `true`: An invoice is created. If you have the Invoice Settlement feature enabled, a credit memo might also be created. - `false`: No invoice is created. **Note**: This field is available only if you are on the latest Zuora API version, or you set the `Zuora-Version` request header to `196.0` or [a later available version](https://developer.zuora.com/v1-api-reference/api-versions/#minor-version).
  - `salesRep` string — The name of the sales representative associated with this account, if applicable. Maximum of 50 characters.
  - `sequenceSetId` string, nullable — The ID or number of the billing document 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. If a customer account has no assigned billing document sequence set, billing documents generated for this account adopt the prefix and starting document number from the default sequence set.
  - `shipToContact` CreateAccountShipToContact — Container for optional ship-to contact; uses the same field structure as the `billToContact` field. If this field is not specified and the `shipToSameAsBillTo` field is `false`, the ship-to contact of the account is empty.
    - `address1` string — First address line, 255 characters or less.
    - `address2` string — Second address line, 255 characters or less.
    - `city` string — City
    - `country` string — Country; must be a valid country name or abbreviation.
    - `county` string — May optionally be used by Zuora Tax to calculate county tax.
    - `fax` string — Fax phone number, 40 characters or less.
    - `firstName` string, required — First name, 100 characters or less.
    - `homePhone` string — Home phone number, 40 characters or less.
    - `lastName` string, required — Last name, 100 characters or less.
    - `mobilePhone` string — Mobile phone number, 40 characters or less.
    - `nickname` string — Nickname for this contact
    - `otherPhone` string — Other phone number, 40 characters or less.
    - `otherPhoneType` string — Possible values are: `Work`, `Mobile`, `Home`, `Other`.
    - `personalEmail` string, email — Personal email address.
    - `state` string — State must be a valid subregion (state or province) name or code. For more information, see <a href="https://docs.zuora.com?resourceId=view-sub-regions-of-specific-country-or-region" target="_blank">View subregions of a specific country or region</a>.
    - `taxRegion` string — 100 characters or less. If using Zuora Tax, a region string as optionally defined in your tax rules. Not required.
    - `workEmail` string — Work email address, 80 characters or less.
    - `workPhone` string — Work phone number, 40 characters or less.
    - `zipCode` string — Zip code, 20 characters or less.
  - `shipToSameAsBillTo` boolean — 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` POSTAccountTypeSoldToContact — Container for optional sold-to contact; uses the same field structure as the bill-to contact (above). If a sold-to contact is not specified, one is created from the bill-to contact. Once created, these are two separate data entities, and future changes to one do not affect the other.
    - `address1` string — First address line, 255 characters or less.
    - `address2` string — Second address line, 255 characters or less.
    - `city` string — City
    - `country` string — 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 — May optionally be used by Zuora Tax to calculate county tax.
    - `fax` string — Fax phone number, 40 characters or less.
    - `firstName` string, required — First name, 100 characters or less.
    - `homePhone` string — Home phone number, 40 characters or less.
    - `lastName` string, required — Last name, 100 characters or less.
    - `mobilePhone` string — Mobile phone number, 40 characters or less.
    - `nickname` string — Nickname for this contact
    - `otherPhone` string — Other phone number, 40 characters or less.
    - `otherPhoneType` string — Possible values are: `Work`, `Mobile`, `Home`, `Other`.
    - `personalEmail` string, email — Personal email address.
    - `state` string — State; must be a valid subregion (state or province) name or code. For more information, see <a href="https://docs.zuora.com?resourceId=view-sub-regions-of-specific-country-or-region" target="_blank">View subregions of a specific country or region</a>. If using Zuora Tax, be aware that Zuora Tax requires a state (in the US) or province (in Canada) in this field for the sold-to contact to calculate tax, and that a bill-to contact may be used if no sold-to contact is provided.
    - `taxRegion` string — If using Zuora Tax, a region string as optionally defined in your tax rules. Not required.
    - `workEmail` string — Work email address, 80 characters or less.
    - `workPhone` string — Work phone number, 40 characters or less.
    - `zipCode` string — Zip code, 20 characters or less.
  - `soldToSameAsBillTo` boolean — 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.
  - `subscription` POSTAccountTypeSubscription — Container for subscription information, used if creating a subscription for the new account at the time of account creation.
    - `autoRenew` boolean — If `true`, auto-renew is enabled. Default is `false`.
    - `contractEffectiveDate` string, date, required — Effective contract date for this subscription, as `yyyy-mm-dd`.
    - `customerAcceptanceDate` string, date — The date on which the services or products within a subscription have been accepted by the customer, as `yyyy-mm-dd`. Default value is dependent on the value of other fields. See Notes section for more details.
    - `initialTerm` integer — Duration of the initial subscription term in whole months. Default is 0.
    - `invoiceOwnerAccountKey` string — Invoice owner account number or 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).
    - `invoiceSeparately` boolean — Separates a single subscription from other subscriptions and invoices the charge independently. If the value is `true`, the subscription is billed separately from other subscriptions. If the value is `false`, the subscription is included with other subscriptions in the account invoice. The default value is `false`. Prerequisite: The default subscription setting `Enable Subscriptions to be Invoiced Separately` must be set to `Yes`.
    - `notes` string
    - `renewalTerm` integer — Duration of the renewal term in whole months. Default is 0.
    - `serviceActivationDate` string, date — The date on which the services or products within a subscription have been activated and access has been provided to the customer, as `yyyy-mm-dd`. Default value is dependent on the value of other fields. See Notes section for more details.
    - `subscribeToRatePlans` POSTSrpCreateType[] — Container for one or more rate plans for this subscription.
      - `chargeOverrides` POSTScCreateType[] — This optional container is used to override the quantity of one or more product rate plan charges for this subscription.
        - `amendedByOrderOn` string — The date when the rate plan charge is amended through an order or amendment. This field is to standardize the booking date information to increase audit ability and traceability of data between Zuora Billing and Zuora Revenue. It is mapped as the booking date for a sale order line in Zuora Revenue.
        - `applyDiscountTo` string — Specifies the type of charges that you want a specific discount to apply to. Values: * `ONETIME` * `RECURRING` * `USAGE` * `ONETIMERECURRING` * `ONETIMEUSAGE` * `RECURRINGUSAGE` * `ONETIMERECURRINGUSAGE`
        - `billCycleDay` string — Sets the bill cycle day (BCD) for the charge. The BCD determines which day of the month the customer is billed. Values: `1`-`31`
        - `billCycleType` string — Specifies how to determine the billing day for the charge. When this field is set to `SpecificDayofMonth`, set the `BillCycleDay` field. When this field is set to `SpecificDayofWeek`, set the `weeklyBillCycleDay` field. Values: * `DefaultFromCustomer` * `SpecificDayofMonth` * `SubscriptionStartDay` * `ChargeTriggerDay` * `SpecificDayofWeek`
        - `billingPeriod` string — Billing period for the charge. The start day of the billing period is also called the bill cycle day (BCD). Values: * `Month` * `Quarter` * `Semi_Annual` * `Annual` * `Eighteen_Months` * `Two_Years` * `Three_Years` * `Five_Years` * `Specific_Months` * `Subscription_Term` * `Week` * `Specific_Weeks`
        - `billingPeriodAlignment` string — Aligns charges within the same subscription if multiple charges begin on different dates. Values: * `AlignToCharge` * `AlignToSubscriptionStart` * `AlignToTermStart`
        - `billingTiming` string — Billing timing for the charge for recurring charge types. Not avaliable for one time, usage, and discount charges. Values: * `IN_ADVANCE` (default) * `IN_ARREARS`
        - `chargeModelConfiguration` ChargeModelConfigurationType, nullable — 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. These 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.
          - `customFieldPerUnitRate` string — 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 — 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 — The pricing formula to calculate actual rating amount for each usage record. This field is only available for the usage-based charges that use the Multi-Attribute 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.
        - `description` string — Description of the charge.
        - `discountAmount` number — Specifies the amount of fixed-amount discount.
        - `discountLevel` string — Specifies if the discount applies to the product rate plan only, the entire subscription, or to any activity in the account. Values: * `rateplan` * `subscription` * `account`
        - `discountPercentage` number — Percentage of discount for a percentage discount.
        - `endDateCondition` string — Defines when the charge ends after the charge trigger date. If the subscription ends before the charge end date, the charge ends when the subscription ends. But if the subscription end date is subsequently changed through a Renewal, or Terms and Conditions amendment, the charge will end on the charge end date. Values: * `Subscription_End` * `Fixed_Period` * `Specific_End_Date` * `One_Time`
        - `excludeItemBillingFromRevenueAccounting` boolean — 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 Billing - Revenue Integration feature enabled.
        - `excludeItemBookingFromRevenueAccounting` boolean — The flag to exclude rate plan charges from revenue accounting. **Note**: This field is only available if you have the Order to Revenue or Billing - Revenue Integration feature enabled.
        - `includedUnits` number — Specifies the number of units in the base set of units for this charge. Must be >=`0`.
        - `isAllocationEligible` boolean — 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 <a href="https://docs.zuora.com/en/zuora-billing/set-up-zuora-billing/enable-order-to-revenue/overview-of-order-to-revenue" target="_blank">Order to Revenue</a> feature enabled. To enable this field, submit a request at <a href="https://support.zuora.com/" target="_blank">Zuora Global Support</a>.
        - `isUnbilled` boolean — This field is used to dictate how to perform the accounting during revenue recognition. **Note**: The field is only available if you have the <a href="https://docs.zuora.com/en/zuora-billing/set-up-zuora-billing/enable-order-to-revenue/overview-of-order-to-revenue" target="_blank">Order to Revenue</a> feature enabled. To enable this field, submit a request at <a href="https://support.zuora.com/" target="_blank">Zuora Global Support</a>.
        - `listPriceBase` string — The list price base for the product rate plan charge. Values: * `Per_Billing_Period` * `Per_Month` * `Per_Week` * `Per_Year` * `Per_Specific_Months`
        - `number` string — Unique number that identifies the charge. Max 50 characters. System-generated if not provided.
        - `numberOfPeriods` integer — Specifies the number of periods to use when calculating charges in an overage smoothing charge model.
        - `originalOrderDate` string, date — The date when the rate plan charge is created through an order or amendment. This field is not updatable. This field is to standardize the booking date information to increase audit ability and traceability of data between Zuora Billing and Zuora Revenue. It is mapped as the booking date for a sale order line in Zuora Revenue.
        - `overagePrice` number — Price for units over the allowed amount.
        - `overageUnusedUnitsCreditOption` string — Determines whether to credit the customer with unused units of usage. Values: * `NoCredit` * `CreditBySpecificRate`
        - `price` number — Price for units in the subscription rate plan.
        - `priceChangeOption` string — Applies an automatic price change when a termed subscription is renewed. The Billing Admin setting **Enable Automatic Price Change When Subscriptions are Renewed?** must be set to Yes to use this field. Values: * `NoChange` (default) * `SpecificPercentageValue` * `UseLatestProductCatalogPricing`
        - `priceIncreasePercentage` number — Specifies the percentage to increase or decrease the price of a termed subscription's renewal. Required if you set the `PriceChangeOption` field to `SpecificPercentageValue`. Value must be a decimal between `-100` and `100`.
        - `productRatePlanChargeId` string, required — ID of a product rate-plan charge for this subscription.
        - `productRatePlanChargeNumber` string — Number of a product rate-plan charge for this subscription.
        - `quantity` number — Number of units. Must be a decimal >=`0`. When using `chargeOverrides` for creating subscriptions with recurring charge types, the `quantity` field must be populated when the charge model is "Tiered Pricing" or "Volume Pricing". It is not required for "Flat Fee Pricing" charge model.
        - `ratingGroup` string — Specifies a rating group based on which usage records are rated. Possible values: - `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`). - `ByGroupId`: The rating is based on all the usages in a custom group. **Note:** - The `ByBillingPeriod` value can be applied for all charge models. - The `ByUsageStartDate`, `ByUsageRecord`, and `ByUsageUpload` values can only be applied for per unit, volume pricing, and tiered pricing charge models. - The `ByGroupId` value is only available if you have the Active Rating feature enabled. - Use this field only for Usage charges. One-Time Charges and Recurring Charges return `NULL`.
        - `specificBillingPeriod` integer — Specifies the number of month or week for the charges billing period. Required if you set the value of the `billingPeriod` field to `Specific_Months` or `Specific_Weeks`.
        - `specificEndDate` string, date — Defines when the charge ends after the charge trigger date. **Note**: * This field is only applicable when the `endDateCondition` field is set to `Specific_End_Date`. * If the subscription ends before the specific end date, the charge ends when the subscription ends. But if the subscription end date is subsequently changed through a Renewal, or Terms and Conditions amendment, the charge will end on the specific end date.
        - `specificListPriceBase` integer — 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 <a href="https://docs.zuora.com?resourceId=billing-annual-list-price" target="_blank">Annual List Price</a> 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` POSTTierType[] — Container for Volume, Tiered, or Tiered with Overage charge models. Supports the following charge types: * One-time * Recurring * Usage-based
          - `endingUnit` number — End number of a range of units for the tier.
          - `price` number, required — Price of the tier if the charge is a flat fee, or the price of each unit in the tier if the charge model is tiered pricing.
          - `priceFormat` string — Indicates if pricing is a flat fee or is per unit. Values: * `FlatFee` * `PerUnit`
          - `startingUnit` number — Starting number of a range of units for the tier.
          - `tier` integer, required — Unique number that identifies the tier that the price applies to.
        - `triggerDate` string, date — Specifies when to start billing the customer for the charge. Required if the `triggerEvent` field is set to `USD`.
        - `triggerEvent` string — Specifies when to start billing the customer for the charge. Values: * `UCE` * `USA` * `UCA` * `USD`
        - `unusedUnitsCreditRates` number — Specifies the rate to credit a customer for unused units of usage. This field applies only for overage charge models when the `OverageUnusedUnitsCreditOption` field is set to `CreditBySpecificRate`.
        - `upToPeriods` integer — Specifies the length of the period during which the charge is active. If this period ends before the subscription ends, the charge ends when this period ends. **Note:** You must use this field together with the `upToPeriodsType` field to specify the time period. * This field is applicable only when the `endDateCondition` field is set to `Fixed_Period`. * If the subscription end date is subsequently changed through a Renewal, or Terms and Conditions amendment, the charge end date will change accordingly up to the original period end.
        - `upToPeriodsType` string — The period type used to define when the charge ends. Values: * `Billing_Periods` * `Days` * `Weeks` * `Months` * `Years` You must use this field together with the `upToPeriods` field to specify the time period. This field is applicable only when the `endDateCondition` field is set to `Fixed_Period`.
        - `weeklyBillCycleDay` string — Specifies which day of the week is the bill cycle day (BCD) for the charge. Values: * `Sunday` * `Monday` * `Tuesday` * `Wednesday` * `Thursday` * `Friday` * `Saturday`
      - `externalCatalogPlanId` string — 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.
      - `externalIdSourceSystem` string — The ID of the external source system. You can use this field and `externalCatalogPlanId` to specify a product rate plan that is imported from an external system. **Note:** If both `externalCatalogPlanId`, `externalIdSourceSystem` and `productRatePlanId` are provided. They must point to the same product rate plan. Otherwise, the request would fail.
      - `externallyManagedPlanId` string — 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.
      - `productRatePlanId` string — ID of a product rate plan for this subscription.
      - `productRatePlanNumber` string — Number of a product rate plan for this subscription.
    - `subscriptionNumber` string — Subscription Number. The value can be up to 1000 characters. If you do not specify a subscription number when creating a subscription for the new account, Zuora will generate a subscription number automatically. If the account is created successfully, the subscription number is returned in the `subscriptionNumber` response field.
    - `termStartDate` string, date — The date on which the subscription term begins, as `yyyy-mm-dd`. If this is a renewal subscription, this date is different from the subscription start date.
    - `termType` string, required — Possible values are: `TERMED`, `EVERGREEN`.
    - `CpqBundleJsonId__QT` string — The Bundle product structures from Zuora Quotes if you utilize Bundling in Salesforce. Do not change the value in this field.
    - `OpportunityCloseDate__QT` string, date — The closing date of the Opportunity. This field is used in Zuora data sources to report on Subscription metrics. If the subscription originated from Zuora Quotes, the value is populated with the value from Zuora Quotes.
    - `OpportunityName__QT` string — The unique identifier of the Opportunity. This field is used in Zuora data sources to report on Subscription metrics. If the subscription originated from Zuora Quotes, the value is populated with the value from Zuora Quotes.
    - `QuoteBusinessType__QT` string — 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 Zuora data sources to report on Subscription metrics. If the subscription originated from Zuora Quotes, the value is populated with the value from Zuora Quotes.
    - `QuoteNumber__QT` string — The unique identifier of the Quote. This field is used in Zuora data sources to report on Subscription metrics. If the subscription originated from Zuora Quotes, the value is populated with the value from Zuora Quotes.
    - `QuoteType__QT` string — The Quote type that represents the subscription lifecycle stage such as New, Amendment, Renew or Cancel. This field is used in Zuora data sources to report on Subscription metrics. If the subscription originated from Zuora Quotes, the value is populated with the value from Zuora Quotes.
    - `IntegrationId__NS` string — ID of the corresponding object in NetSuite. Only available if you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265).
    - `IntegrationStatus__NS` string — Status of the subscription's synchronization with NetSuite. Only available if you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265).
    - `Project__NS` string — The NetSuite project that the subscription was created from. Only available if you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265).
    - `SalesOrder__NS` string — The NetSuite sales order than the subscription was created from. Only available if you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265).
    - `SyncDate__NS` string — Date when the subscription was synchronized with NetSuite. Only available if you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265).
  - `summaryStatementTemplateId` string, nullable — The summary statement template ID or number. When a user attempts to generate a summary statement from the "Account Summary Statement" screen, the system utilizes this template to produce the PDF.
  - `tagging` string
  - `targetDate` string, date — Date through which to calculate charges if an invoice or a credit memo is generated, as yyyy-mm-dd. Default is current date. **Note**: This field is available only if you are on the latest Zuora API version, or you set the `Zuora-Version` request header to `211.0` or [a later available version](https://developer.zuora.com/v1-api-reference/api-versions/#minor-version). **Note:** The credit memo is only available only if you have the Invoice Settlement feature enabled.
  - `taxInfo` object — Container for tax exempt information, used to establish the tax exempt status of a customer account.
    - `VATId` string — 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 — 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 — ID of the customer tax exemption certificate. Requires Zuora Tax.
    - `exemptCertificateType` string — Type of tax exemption certificate that the customer holds. Requires Zuora Tax.
    - `exemptDescription` string — Description of the tax exemption certificate that the customer holds. Requires Zuora Tax.
    - `exemptEffectiveDate` string, date — Date when the customer tax exemption starts. Requires Zuora Tax. Format: `yyyy-mm-dd`. Defaults to the current date.
    - `exemptEntityUseCode` string — A unique entity use code to apply exemptions in Avalara AvaTax. This account-level field is required only when you choose Avalara as your tax engine. See [Exempt Transactions](https://developer.avalara.com/avatax/handling-tax-exempt-customers/)for more details.
    - `exemptExpirationDate` string, date — Date when the customer tax exemption expires. Requires Zuora Tax. Format: `yyyy-mm-dd`. Defaults to the current date.
    - `exemptIssuingJurisdiction` string — Jurisdiction in which the customer tax exemption certificate was issued.
    - `exemptStatus` string — Status of the account tax exemption. Requires Zuora Tax. Required if you use Zuora Tax. This field is unavailable if Zuora Tax is not used. Values: `Yes`, `No`(default), `pendingVerification`. Note that the value will be set to `No` if no input.
  - `Class__NS` string — Value of the Class field for the corresponding customer account in NetSuite. Only available if you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265).
  - `CustomerType__NS` 'Company' | 'Individual' — Value of the Customer Type field for the corresponding customer account in NetSuite. The Customer Type field is used when the customer account is created in NetSuite. Only available if you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265).
  - `Department__NS` string — Value of the Department field for the corresponding customer account in NetSuite. Only available if you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265).
  - `IntegrationId__NS` string — ID of the corresponding object in NetSuite. Only available if you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265).
  - `IntegrationStatus__NS` string — Status of the account's synchronization with NetSuite. Only available if you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265).
  - `Location__NS` string — Value of the Location field for the corresponding customer account in NetSuite. Only available if you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265).
  - `Subsidiary__NS` string — Value of the Subsidiary field for the corresponding customer account in NetSuite. The Subsidiary field is required if you use NetSuite OneWorld. Only available if you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265).
  - `SyncDate__NS` string — Date when the account was sychronized with NetSuite. Only available if you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265).
  - `SynctoNetSuite__NS` 'Yes' | 'No' — Specifies whether the account should be synchronized with NetSuite. Only available if you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265).

## Response `200`

OK

- POSTAccountResponseType
  - `accountId` string — Auto-generated account ID.
  - `accountNumber` string — Account number.
  - `billToContactId` string — The ID of the bill-to contact.
  - `contractedMrr` string, decimal — Contracted monthly recurring revenue of the subscription.
  - `creditMemoId` string — The credit memo ID, if a credit memo is generated during the subscription process. **Note:** This field is only available if you have [Invoice Settlement](https://docs.zuora.com?resourceId=billing-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://docs.zuora.com?resourceId=billing-invoice-settlement-migration-checklist-and-guide) for more information.
  - `invoiceId` string — ID of the invoice generated at account creation, if applicable.
  - `paidAmount` string, decimal — Amount collected on the invoice generated at account creation, if applicable.
  - `paymentId` string — ID of the payment collected on the invoice generated at account creation, if applicable.
  - `paymentMethodId` string — ID of the payment method that was set up at account creation, which automatically becomes the default payment method for this account.
  - `shipToContactId` string — The ID of the ship-to contact.
  - `soldToContactId` string — The ID of the sold-to contact.
  - `subscriptionId` string — ID of the subscription that was set up at account creation, if applicable.
  - `subscriptionNumber` string — Number of the subscription that was set up at account creation, if applicable.
  - `success` boolean — Returns `true` if the request was processed successfully.
  - `totalContractedValue` string, decimal — Total contracted value of the subscription.

## Other responses

- `500` — Internal Server Error
- `4XX` — Request Errors

## Changes

- **2026-08-08** `7f43d4a77e8a` — 2 warning
  - removed the request property `allOf[subschema #1]/communicationProfileName`
  - removed the request property `allOf[subschema #1]/sequenceSetName`

[Change history](https://skmtc.dev/zuora/apis/api-reference/changes/v1/accounts/post.md)

---

[API](https://skmtc.dev/zuora/apis/api-reference.md) · [All operations](https://skmtc.dev/zuora/apis/api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/zuora/api-reference/revisions/d11e237f3e54/schema)
