POST /v1/payment-schedules/batch
Creates multiple payment schedules at once. You can create both recurring payment schedules and custom payment schedules in one request. The maximum number of payment schedules that can be created by a single request is 50. The maximum number of payment schedule items that each payment schedule can contain is 1000, i.e., you must specify less than 1000 items for a custom payment schedule, and the occurrences
field must be less than 1000 for a recurring payment schedule.
Note:
- The Payment Schedules feature is in the Early Adopter phase. We are actively soliciting feedback from a small set of early adopters before releasing it as generally available. To manage and access this feature through the self-service interface, see Manage Features in the Knowledge Center.
- This operation is only available if you have Invoice Settlement enabled.
- If Standalone Payment is enabled, you can choose to use payment schedules to process payments associated with billing documents, standalone payments, or unapplied payments. If Standalone Payment is not enabled, you can only use payment schedules to process unapplied payments or payments associated with billing documents.
- This operation is version controlled. If you set
zuora-version
to329.0
, when creating custom payment schedules associated with billing documents, you need to specify the billing document for each payment schedule item; Ifzuora-version
is set to330.0
, when creating custom payment schedules associated with billing documents, you only need to specify the billing documents at the payment schedule level. The default version number is329.0
. However, we recommend that you specify the version to330.0
.329.0
will be deprecated soon.
Servers
- https://rest.test.zuora.com
- https://rest.sandbox.na.zuora.com
- https://rest.apisandbox.zuora.com
- https://rest.na.zuora.com
- https://rest.zuora.com
- https://rest.test.eu.zuora.com
- https://rest.sandbox.eu.zuora.com
- https://rest.eu.zuora.com
Request headers
Name | Type | Required | Description |
---|---|---|---|
Content-Type |
String | Yes |
The media type of the request body.
Default value: "application/json" |
Content-Encoding |
String | No |
Include the |
Zuora-Track-Id |
String | No |
A custom identifier for tracing the API call. If you set a value for this header, Zuora returns the same value in the response headers. This header enables you to associate your system process identifiers with Zuora API calls, to assist with troubleshooting in the event of an issue. The value of this field must use the US-ASCII character set and must not include any of the following characters: colon ( |
zuora-version |
String | No |
The minor version of the Zuora REST API. See Minor Version for information about REST API version control. This header affects the availability of the following request fields:
|
Authorization |
String | No |
The value is in the |
Idempotency-Key |
String | No |
Specify a unique idempotency key if you want to perform an idempotent POST or PATCH request. Do not use this header in other request types. With this header specified, the Zuora server can identify subsequent retries of the same request using this value, which prevents the same operation from being performed multiple times by accident. |
Zuora-Entity-Ids |
String | No |
An entity ID. If you have Zuora Multi-entity enabled and the OAuth token is valid for more than one entity, you must use this header to specify which entity to perform the operation in. If the OAuth token is only valid for a single entity, or you do not have Zuora Multi-entity enabled, you do not need to set this header. |
Zuora-Org-Ids |
String | No |
Comma separated IDs. If you have Zuora Multi-Org enabled, you can use this header to specify which orgs to perform the operation in. If you do not have Zuora Multi-Org enabled, you should not set this header. The IDs must be a sub-set of the user's accessible orgs. If you specify an org that the user does not have access to, the operation fails. If the header is not set, the operation is performed in scope of the user's accessible orgs. |
Accept-Encoding |
String | No |
Include the If specified, Zuora automatically compresses responses that contain over 1000 bytes of data, and the response contains a |
Request body fields
Name | Type | Required | Description |
---|---|---|---|
paymentSchedules[] |
Array | No |
Container of the payment schedules to be created. |
paymentSchedules[].billingDocument |
Object | No |
Object of the billing document with which the payment schedule is associated. Note:
|
paymentSchedules[].billingDocument.id |
String | No |
ID of the billing document. Note:
If a billing document is specified, either |
paymentSchedules[].billingDocument.number |
String | No |
ID of the billing document. Note:
If a billing document is specified, either |
paymentSchedules[].billingDocument.type |
String | Yes |
The type of the billing document. The default value is Possible values:
|
paymentSchedules[].paymentMethodId |
String | No |
ID of the payment method. Note:
|
paymentSchedules[].accountId |
String | No |
ID of the customer account the payment schedule belongs to. Note:
|
paymentSchedules[].description |
String | No |
Description of the payment schedule. Max length is 255. |
paymentSchedules[].paymentGatewayId |
String | No |
ID of the payment gateway. Note:
|
paymentSchedules[].items[] |
Array | No |
Container array for payment schedule items. |
paymentSchedules[].items[].billingDocument |
Object | No |
Object for the billing document with which the payment schedule item is associated. Note: You must specify the same billing document for all the payment schedule items in one payment schedule. |
paymentSchedules[].items[].billingDocument.id |
String | No |
The ID of the billing document. Note:
If a billing document is specified, one of |
paymentSchedules[].items[].billingDocument.number |
String | No |
The number of the billing document. Note:
If a billing document is specified, one of |
paymentSchedules[].items[].billingDocument.type |
String | Yes |
The type of the billing document. The default value is Possible values:
|
paymentSchedules[].items[].scheduledDate |
String | No |
The date to collect the payment. |
paymentSchedules[].items[].paymentMethodId |
String | No |
The ID of the payment method. Note:
|
paymentSchedules[].items[].paymentOption[] |
Array | No |
Container for the paymentOption items, which describe the transactional level rules for processing payments. Currently, only the Gateway Options type is supported. Here is an example:
To enable this field, submit a request at Zuora Global Support. This field is only available if |
paymentSchedules[].items[].paymentOption[].type |
String | No |
The type of the payment option. Currently, only |
paymentSchedules[].items[].paymentOption[].detail |
Object | No |
The field used to pass the transactional payment data to the gateway side in the key-value format. |
paymentSchedules[].items[].paymentOption[].detail.key |
String | No |
The name of the field. |
paymentSchedules[].items[].paymentOption[].detail.value |
String | No |
The value of the field. |
paymentSchedules[].items[].description |
String | No |
Description of the payment schedule item. |
paymentSchedules[].items[].paymentGatewayId |
String | No |
The ID of the payment gateway. Note:
|
paymentSchedules[].items[].amount |
Number | No |
The amount that needs to be collected by this payment schedule item. |
paymentSchedules[].items[].runHour |
String | No |
At which hour in the day in the tenant’s timezone this payment will be collected. Available values: |
paymentSchedules[].items[].currency |
String | No |
The currency of the payment. Note:
|
paymentSchedules[].startDate |
String | No |
The date for the first payment collection. Note:
|
paymentSchedules[].currency |
String | No |
Currency of the payment schedule. Note:
|
paymentSchedules[].accountNumber |
String | No |
Account number of the customer account the payment schedule belongs to. Note:
|
paymentSchedules[].paymentOption[] |
Array | No |
Container for the paymentOption items, which describe the transactional level rules for processing payments. Currently, only the Gateway Options type is supported. Here is an example:
|
paymentSchedules[].paymentOption[].type |
String | No |
The type of the payment option. Currently, only |
paymentSchedules[].paymentOption[].detail |
Object | No |
The field used to pass the transactional payment data to the gateway side in the key-value format. |
paymentSchedules[].paymentOption[].detail.key |
String | No |
The name of the field. |
paymentSchedules[].paymentOption[].detail.value |
String | No |
The value of the field. |
paymentSchedules[].occurrences |
Integer | No |
The number of payment schedule item to be created. Maximum value is 1000. Note:
|
paymentSchedules[].period |
String | No |
The frequency for the payment collection since the Note:
Possible values:
|
paymentSchedules[].prepayment |
Boolean | No |
Indicates whether the payments created by the payment schedule will be used as reserved payments. This field will only be available if the prepaid cash drawdown permission is enabled. See Prepaid Cash with Drawdown for more information. |
paymentSchedules[].amount |
Number | No |
The amount of each payment schedule item in the payment schedule. Note:
|
paymentSchedules[].standalone |
Boolean | No |
Indicate whether the payments created by the payment schedule are standalone payments or not. When setting to Note:
|
paymentSchedules[].paymentScheduleNumber |
String | No |
You can use this field to specify the number of the payment schedule.
Only characters from the following sets are allowed: A-Z, a-z, 0-9, and |
paymentSchedules[].runHour |
Integer | No |
Specifies at which hour in the day in the tenant’s time zone when this payment will be collected. Available values: Note:
|
paymentSchedules[].totalAmount |
Number | No |
The total amount of that the payment schedule will collect. This field is only available for recurring payment schedules. Note:
|
How to start integrating
- Add HTTP Task to your workflow definition.
- Search for the API you want to integrate with and click on the name.
- This loads the API reference documentation and prepares the Http request settings.
- Click Test request to test run your request to the API and see the API's response.