diff --git a/README.md b/README.md
index 229b472..145f961 100644
--- a/README.md
+++ b/README.md
@@ -30,22 +30,22 @@ The package is compatible with Python versions `3.7+`.
Install the package from PyPi using the following pip command:
```bash
-pip install maxio-advanced-billing-sdk==9.0.0
+pip install maxio-advanced-billing-sdk==9.1.0
```
You can also view the package at:
-https://pypi.python.org/pypi/maxio-advanced-billing-sdk/9.0.0
+https://pypi.python.org/pypi/maxio-advanced-billing-sdk/9.1.0
## Initialize the API Client
-**_Note:_** Documentation for the client can be found [here.](https://www.github.com/maxio-com/ab-python-sdk/tree/9.0.0/doc/client.md)
+**_Note:_** Documentation for the client can be found [here.](https://www.github.com/maxio-com/ab-python-sdk/tree/9.1.0/doc/client.md)
The following parameters are configurable for the API Client:
| Parameter | Type | Description |
| --- | --- | --- |
| site | `str` | The subdomain for your Advanced Billing site.
*Default*: `"subdomain"` |
-| environment | [`Environment`](https://www.github.com/maxio-com/ab-python-sdk/tree/9.0.0/README.md#environments) | The API environment.
**Default: `Environment.US`** |
+| environment | [`Environment`](https://www.github.com/maxio-com/ab-python-sdk/tree/9.1.0/README.md#environments) | The API environment.
**Default: `Environment.US`** |
| http_client_instance | `Union[Session, HttpClientProvider]` | The Http Client passed from the sdk user for making requests |
| override_http_client_configuration | `bool` | The value which determines to override properties of the passed Http Client from the sdk user |
| http_call_back | `HttpCallBack` | The callback value that is invoked before and after an HTTP call is made to an endpoint |
@@ -54,8 +54,8 @@ The following parameters are configurable for the API Client:
| backoff_factor | `float` | A backoff factor to apply between attempts after the second try.
**Default: 2** |
| retry_statuses | `Array of int` | The http statuses on which retry is to be done.
**Default: [408, 413, 429, 500, 502, 503, 504, 521, 522, 524]** |
| retry_methods | `Array of string` | The http methods on which retry is to be done.
**Default: ["GET", "PUT"]** |
-| proxy_settings | [`ProxySettings`](https://www.github.com/maxio-com/ab-python-sdk/tree/9.0.0/doc/proxy-settings.md) | Optional proxy configuration to route HTTP requests through a proxy server. |
-| basic_auth_credentials | [`BasicAuthCredentials`](https://www.github.com/maxio-com/ab-python-sdk/tree/9.0.0/doc/auth/basic-authentication.md) | The credential object for Basic Authentication |
+| proxy_settings | [`ProxySettings`](https://www.github.com/maxio-com/ab-python-sdk/tree/9.1.0/doc/proxy-settings.md) | Optional proxy configuration to route HTTP requests through a proxy server. |
+| basic_auth_credentials | [`BasicAuthCredentials`](https://www.github.com/maxio-com/ab-python-sdk/tree/9.1.0/doc/auth/basic-authentication.md) | The credential object for Basic Authentication |
The API client can be initialized as follows:
@@ -85,7 +85,7 @@ from advancedbilling.advanced_billing_client import AdvancedBillingClient
client = AdvancedBillingClient.from_environment(dotenv_path='/path/to/.env')
```
-See the [Environment-Based Client Initialization](https://www.github.com/maxio-com/ab-python-sdk/tree/9.0.0/doc/environment-based-client-initialization.md) section for details.
+See the [Environment-Based Client Initialization](https://www.github.com/maxio-com/ab-python-sdk/tree/9.1.0/doc/environment-based-client-initialization.md) section for details.
## Environments
@@ -102,60 +102,60 @@ The SDK can be configured to use a different environment for making API calls. A
This API uses the following authentication schemes.
-* [`BasicAuth (Basic Authentication)`](https://www.github.com/maxio-com/ab-python-sdk/tree/9.0.0/doc/auth/basic-authentication.md)
+* [`BasicAuth (Basic Authentication)`](https://www.github.com/maxio-com/ab-python-sdk/tree/9.1.0/doc/auth/basic-authentication.md)
## List of APIs
-* [API Exports](https://www.github.com/maxio-com/ab-python-sdk/tree/9.0.0/doc/controllers/api-exports.md)
-* [Advance Invoice](https://www.github.com/maxio-com/ab-python-sdk/tree/9.0.0/doc/controllers/advance-invoice.md)
-* [Billing Portal](https://www.github.com/maxio-com/ab-python-sdk/tree/9.0.0/doc/controllers/billing-portal.md)
-* [Component Price Points](https://www.github.com/maxio-com/ab-python-sdk/tree/9.0.0/doc/controllers/component-price-points.md)
-* [Custom Fields](https://www.github.com/maxio-com/ab-python-sdk/tree/9.0.0/doc/controllers/custom-fields.md)
-* [Events-Based Billing Segments](https://www.github.com/maxio-com/ab-python-sdk/tree/9.0.0/doc/controllers/events-based-billing-segments.md)
-* [Payment Profiles](https://www.github.com/maxio-com/ab-python-sdk/tree/9.0.0/doc/controllers/payment-profiles.md)
-* [Product Families](https://www.github.com/maxio-com/ab-python-sdk/tree/9.0.0/doc/controllers/product-families.md)
-* [Product Price Points](https://www.github.com/maxio-com/ab-python-sdk/tree/9.0.0/doc/controllers/product-price-points.md)
-* [Proforma Invoices](https://www.github.com/maxio-com/ab-python-sdk/tree/9.0.0/doc/controllers/proforma-invoices.md)
-* [Reason Codes](https://www.github.com/maxio-com/ab-python-sdk/tree/9.0.0/doc/controllers/reason-codes.md)
-* [Referral Codes](https://www.github.com/maxio-com/ab-python-sdk/tree/9.0.0/doc/controllers/referral-codes.md)
-* [Sales Commissions](https://www.github.com/maxio-com/ab-python-sdk/tree/9.0.0/doc/controllers/sales-commissions.md)
-* [Subscription Components](https://www.github.com/maxio-com/ab-python-sdk/tree/9.0.0/doc/controllers/subscription-components.md)
-* [Subscription Groups](https://www.github.com/maxio-com/ab-python-sdk/tree/9.0.0/doc/controllers/subscription-groups.md)
-* [Subscription Group Invoice Account](https://www.github.com/maxio-com/ab-python-sdk/tree/9.0.0/doc/controllers/subscription-group-invoice-account.md)
-* [Subscription Group Status](https://www.github.com/maxio-com/ab-python-sdk/tree/9.0.0/doc/controllers/subscription-group-status.md)
-* [Subscription Invoice Account](https://www.github.com/maxio-com/ab-python-sdk/tree/9.0.0/doc/controllers/subscription-invoice-account.md)
-* [Subscription Notes](https://www.github.com/maxio-com/ab-python-sdk/tree/9.0.0/doc/controllers/subscription-notes.md)
-* [Subscription Products](https://www.github.com/maxio-com/ab-python-sdk/tree/9.0.0/doc/controllers/subscription-products.md)
-* [Subscription Renewals](https://www.github.com/maxio-com/ab-python-sdk/tree/9.0.0/doc/controllers/subscription-renewals.md)
-* [Subscription Status](https://www.github.com/maxio-com/ab-python-sdk/tree/9.0.0/doc/controllers/subscription-status.md)
-* [Coupons](https://www.github.com/maxio-com/ab-python-sdk/tree/9.0.0/doc/controllers/coupons.md)
-* [Components](https://www.github.com/maxio-com/ab-python-sdk/tree/9.0.0/doc/controllers/components.md)
-* [Customers](https://www.github.com/maxio-com/ab-python-sdk/tree/9.0.0/doc/controllers/customers.md)
-* [Events](https://www.github.com/maxio-com/ab-python-sdk/tree/9.0.0/doc/controllers/events.md)
-* [Insights](https://www.github.com/maxio-com/ab-python-sdk/tree/9.0.0/doc/controllers/insights.md)
-* [Invoices](https://www.github.com/maxio-com/ab-python-sdk/tree/9.0.0/doc/controllers/invoices.md)
-* [Offers](https://www.github.com/maxio-com/ab-python-sdk/tree/9.0.0/doc/controllers/offers.md)
-* [Products](https://www.github.com/maxio-com/ab-python-sdk/tree/9.0.0/doc/controllers/products.md)
-* [Sites](https://www.github.com/maxio-com/ab-python-sdk/tree/9.0.0/doc/controllers/sites.md)
-* [Subscriptions](https://www.github.com/maxio-com/ab-python-sdk/tree/9.0.0/doc/controllers/subscriptions.md)
-* [Webhooks](https://www.github.com/maxio-com/ab-python-sdk/tree/9.0.0/doc/controllers/webhooks.md)
+* [API Exports](https://www.github.com/maxio-com/ab-python-sdk/tree/9.1.0/doc/controllers/api-exports.md)
+* [Advance Invoice](https://www.github.com/maxio-com/ab-python-sdk/tree/9.1.0/doc/controllers/advance-invoice.md)
+* [Billing Portal](https://www.github.com/maxio-com/ab-python-sdk/tree/9.1.0/doc/controllers/billing-portal.md)
+* [Component Price Points](https://www.github.com/maxio-com/ab-python-sdk/tree/9.1.0/doc/controllers/component-price-points.md)
+* [Custom Fields](https://www.github.com/maxio-com/ab-python-sdk/tree/9.1.0/doc/controllers/custom-fields.md)
+* [Events-Based Billing Segments](https://www.github.com/maxio-com/ab-python-sdk/tree/9.1.0/doc/controllers/events-based-billing-segments.md)
+* [Payment Profiles](https://www.github.com/maxio-com/ab-python-sdk/tree/9.1.0/doc/controllers/payment-profiles.md)
+* [Product Families](https://www.github.com/maxio-com/ab-python-sdk/tree/9.1.0/doc/controllers/product-families.md)
+* [Product Price Points](https://www.github.com/maxio-com/ab-python-sdk/tree/9.1.0/doc/controllers/product-price-points.md)
+* [Proforma Invoices](https://www.github.com/maxio-com/ab-python-sdk/tree/9.1.0/doc/controllers/proforma-invoices.md)
+* [Reason Codes](https://www.github.com/maxio-com/ab-python-sdk/tree/9.1.0/doc/controllers/reason-codes.md)
+* [Referral Codes](https://www.github.com/maxio-com/ab-python-sdk/tree/9.1.0/doc/controllers/referral-codes.md)
+* [Sales Commissions](https://www.github.com/maxio-com/ab-python-sdk/tree/9.1.0/doc/controllers/sales-commissions.md)
+* [Subscription Components](https://www.github.com/maxio-com/ab-python-sdk/tree/9.1.0/doc/controllers/subscription-components.md)
+* [Subscription Groups](https://www.github.com/maxio-com/ab-python-sdk/tree/9.1.0/doc/controllers/subscription-groups.md)
+* [Subscription Group Invoice Account](https://www.github.com/maxio-com/ab-python-sdk/tree/9.1.0/doc/controllers/subscription-group-invoice-account.md)
+* [Subscription Group Status](https://www.github.com/maxio-com/ab-python-sdk/tree/9.1.0/doc/controllers/subscription-group-status.md)
+* [Subscription Invoice Account](https://www.github.com/maxio-com/ab-python-sdk/tree/9.1.0/doc/controllers/subscription-invoice-account.md)
+* [Subscription Notes](https://www.github.com/maxio-com/ab-python-sdk/tree/9.1.0/doc/controllers/subscription-notes.md)
+* [Subscription Products](https://www.github.com/maxio-com/ab-python-sdk/tree/9.1.0/doc/controllers/subscription-products.md)
+* [Subscription Renewals](https://www.github.com/maxio-com/ab-python-sdk/tree/9.1.0/doc/controllers/subscription-renewals.md)
+* [Subscription Status](https://www.github.com/maxio-com/ab-python-sdk/tree/9.1.0/doc/controllers/subscription-status.md)
+* [Coupons](https://www.github.com/maxio-com/ab-python-sdk/tree/9.1.0/doc/controllers/coupons.md)
+* [Components](https://www.github.com/maxio-com/ab-python-sdk/tree/9.1.0/doc/controllers/components.md)
+* [Customers](https://www.github.com/maxio-com/ab-python-sdk/tree/9.1.0/doc/controllers/customers.md)
+* [Events](https://www.github.com/maxio-com/ab-python-sdk/tree/9.1.0/doc/controllers/events.md)
+* [Insights](https://www.github.com/maxio-com/ab-python-sdk/tree/9.1.0/doc/controllers/insights.md)
+* [Invoices](https://www.github.com/maxio-com/ab-python-sdk/tree/9.1.0/doc/controllers/invoices.md)
+* [Offers](https://www.github.com/maxio-com/ab-python-sdk/tree/9.1.0/doc/controllers/offers.md)
+* [Products](https://www.github.com/maxio-com/ab-python-sdk/tree/9.1.0/doc/controllers/products.md)
+* [Sites](https://www.github.com/maxio-com/ab-python-sdk/tree/9.1.0/doc/controllers/sites.md)
+* [Subscriptions](https://www.github.com/maxio-com/ab-python-sdk/tree/9.1.0/doc/controllers/subscriptions.md)
+* [Webhooks](https://www.github.com/maxio-com/ab-python-sdk/tree/9.1.0/doc/controllers/webhooks.md)
## SDK Infrastructure
### Configuration
-* [ProxySettings](https://www.github.com/maxio-com/ab-python-sdk/tree/9.0.0/doc/proxy-settings.md)
-* [Environment-Based Client Initialization](https://www.github.com/maxio-com/ab-python-sdk/tree/9.0.0/doc/environment-based-client-initialization.md)
+* [ProxySettings](https://www.github.com/maxio-com/ab-python-sdk/tree/9.1.0/doc/proxy-settings.md)
+* [Environment-Based Client Initialization](https://www.github.com/maxio-com/ab-python-sdk/tree/9.1.0/doc/environment-based-client-initialization.md)
### HTTP
-* [HttpResponse](https://www.github.com/maxio-com/ab-python-sdk/tree/9.0.0/doc/http-response.md)
-* [HttpRequest](https://www.github.com/maxio-com/ab-python-sdk/tree/9.0.0/doc/http-request.md)
+* [HttpResponse](https://www.github.com/maxio-com/ab-python-sdk/tree/9.1.0/doc/http-response.md)
+* [HttpRequest](https://www.github.com/maxio-com/ab-python-sdk/tree/9.1.0/doc/http-request.md)
### Utilities
-* [ApiHelper](https://www.github.com/maxio-com/ab-python-sdk/tree/9.0.0/doc/api-helper.md)
-* [HttpDateTime](https://www.github.com/maxio-com/ab-python-sdk/tree/9.0.0/doc/http-date-time.md)
-* [RFC3339DateTime](https://www.github.com/maxio-com/ab-python-sdk/tree/9.0.0/doc/rfc3339-date-time.md)
-* [UnixDateTime](https://www.github.com/maxio-com/ab-python-sdk/tree/9.0.0/doc/unix-date-time.md)
+* [ApiHelper](https://www.github.com/maxio-com/ab-python-sdk/tree/9.1.0/doc/api-helper.md)
+* [HttpDateTime](https://www.github.com/maxio-com/ab-python-sdk/tree/9.1.0/doc/http-date-time.md)
+* [RFC3339DateTime](https://www.github.com/maxio-com/ab-python-sdk/tree/9.1.0/doc/rfc3339-date-time.md)
+* [UnixDateTime](https://www.github.com/maxio-com/ab-python-sdk/tree/9.1.0/doc/unix-date-time.md)
diff --git a/advancedbilling/controllers/advance_invoice_controller.py b/advancedbilling/controllers/advance_invoice_controller.py
index 3fa6a59..684ed56 100644
--- a/advancedbilling/controllers/advance_invoice_controller.py
+++ b/advancedbilling/controllers/advance_invoice_controller.py
@@ -46,7 +46,7 @@ def issue_advance_invoice(self,
our
docs](https://maxio.zendesk.com/hc/en-us/articles/24252026404749-Issue-Invoice
-In-Advance) for more information on advance invoices, including eligibility
- on generating one; for the most part, they function like any other invoice,
+ for generating one; for the most part, they function like any other invoice,
except they are issued early and have special behavior upon being voided.
A subscription may only have one advance invoice per billing period.
Attempting to issue an advance invoice when one already exists will return an
@@ -106,9 +106,8 @@ def read_advance_invoice(self,
"""Perform a GET request to
/subscriptions/{subscription_id}/advance_invoice.json.
- Once an advance invoice has been generated for a subscription's upcoming
- renewal, it can be viewed through this endpoint. There can only be one
- advance invoice per subscription per billing cycle.
+ Returns the advance invoice generated for a subscription's upcoming renewal.
+ There can only be one advance invoice per subscription per billing cycle.
Args:
subscription_id (int): The Chargify id of the subscription.
diff --git a/advancedbilling/controllers/api_exports_controller.py b/advancedbilling/controllers/api_exports_controller.py
index fe5bf42..19196bc 100644
--- a/advancedbilling/controllers/api_exports_controller.py
+++ b/advancedbilling/controllers/api_exports_controller.py
@@ -50,9 +50,8 @@ def list_exported_proforma_invoices(self,
"""Perform a GET request to
/api_exports/proforma_invoices/{batch_id}/rows.json.
- This API returns an array of exported proforma invoices for a provided
- `batch_id`. Pay close attention to pagination in order to control responses
- from the server.
+ Lists exported proforma invoices for a provided `batch_id`. Use pagination to
+ control responses returned from the server.
Example: `GET
https://{subdomain}.chargify.com/api_exports/proforma_invoices/123/rows?per_pa
ge=10000&page=1`.
@@ -116,8 +115,8 @@ def list_exported_invoices(self,
options=dict()):
"""Perform a GET request to /api_exports/invoices/{batch_id}/rows.json.
- This API returns an array of exported invoices for a provided `batch_id`. Pay
- close attention to pagination in order to control responses from the server.
+ Lists exported invoices for a provided `batch_id`. Use pagination to control
+ responses returned from the server.
Example: `GET
https://{subdomain}.chargify.com/api_exports/invoices/123/rows?per_page=10000&
page=1`.
@@ -182,9 +181,8 @@ def list_exported_subscriptions(self,
"""Perform a GET request to
/api_exports/subscriptions/{batch_id}/rows.json.
- This API returns an array of exported subscriptions for a provided
- `batch_id`. Pay close attention to pagination in order to control responses
- from the server.
+ Lists exported subscriptions for a provided `batch_id`. Use pagination to
+ control responses returned from the server.
Example: `GET
https://{subdomain}.chargify.com/api_exports/subscriptions/123/rows?per_page=2
00&page=1`.
@@ -247,7 +245,7 @@ def list_exported_subscriptions(self,
def export_proforma_invoices(self):
"""Perform a POST request to /api_exports/proforma_invoices.json.
- This API creates a proforma invoices export and returns a batchjob object.
+ Creates a proforma invoices export and returns a batch job object.
It is only available for Relationship Invoicing architecture.
Returns:
@@ -281,7 +279,7 @@ def export_proforma_invoices(self):
def export_invoices(self):
"""Perform a POST request to /api_exports/invoices.json.
- This API creates an invoices export and returns a batchjob object.
+ Creates an invoices export and returns a batch job object.
Returns:
BatchJobResponse: Response from the API. Created
@@ -314,7 +312,7 @@ def export_invoices(self):
def export_subscriptions(self):
"""Perform a POST request to /api_exports/subscriptions.json.
- This API creates a subscriptions export and returns a batchjob object.
+ Creates a subscriptions export and returns a batch job object.
Returns:
BatchJobResponse: Response from the API. Created
@@ -348,7 +346,7 @@ def read_proforma_invoices_export(self,
"""Perform a GET request to
/api_exports/proforma_invoices/{batch_id}.json.
- This API returns a batchjob object for proforma invoices export.
+ Returns a batch job object for a proforma invoices export.
Args:
batch_id (str): Id of a Batch Job.
@@ -386,7 +384,7 @@ def read_invoices_export(self,
batch_id):
"""Perform a GET request to /api_exports/invoices/{batch_id}.json.
- This API returns a batchjob object for invoices export.
+ Returns a batch job object for an invoices export.
Args:
batch_id (str): Id of a Batch Job.
@@ -424,7 +422,7 @@ def read_subscriptions_export(self,
batch_id):
"""Perform a GET request to /api_exports/subscriptions/{batch_id}.json.
- This API returns a batchjob object for subscriptions export.
+ Returns a batch job object for a subscriptions export.
Args:
batch_id (str): Id of a Batch Job.
diff --git a/advancedbilling/controllers/base_controller.py b/advancedbilling/controllers/base_controller.py
index 687ce27..95e5d65 100644
--- a/advancedbilling/controllers/base_controller.py
+++ b/advancedbilling/controllers/base_controller.py
@@ -31,7 +31,7 @@ class BaseController(object):
@staticmethod
def user_agent():
"""Return UserAgent value."""
- return "AB SDK Python:9.0.0 on OS {os-info}"
+ return "AB SDK Python:9.1.0 on OS {os-info}"
@staticmethod
def user_agent_parameters():
diff --git a/advancedbilling/controllers/billing_portal_controller.py b/advancedbilling/controllers/billing_portal_controller.py
index 7e2b41a..9e11ced 100644
--- a/advancedbilling/controllers/billing_portal_controller.py
+++ b/advancedbilling/controllers/billing_portal_controller.py
@@ -56,12 +56,14 @@ def enable_billing_portal_for_customer(self,
"""Perform a POST request to
/portal/customers/{customer_id}/enable.json.
+ Enables Billing Portal access for a customer, with an option to send an
+ invitation email at the same time.
## Billing Portal Documentation
Full documentation on how the Billing Portal operates within the Advanced
Billing UI can be located
[here](https://maxio.zendesk.com/hc/en-us/articles/24252412965133-Billing-Port
al-Overview).
- This documentation is focused on how the to configure the Billing Portal
+ This documentation is focused on how to configure the Billing Portal
Settings, as well as Subscriber Interaction and Merchant Management of the
Billing Portal.
You can use this endpoint to enable Billing Portal access for a Customer,
@@ -127,8 +129,7 @@ def read_billing_portal_link(self,
"""Perform a GET request to
/portal/customers/{customer_id}/management_link.json.
- This method will provide to the API user the exact URL required for a
- subscriber to access the Billing Portal.
+ Returns the exact URL required for a subscriber to access the Billing Portal.
## Rules for Management Link API
+ When retrieving a management URL, multiple requests for the same customer
in a short period will return the **same** URL
@@ -184,15 +185,13 @@ def resend_billing_portal_invitation(self,
"""Perform a POST request to
/portal/customers/{customer_id}/invitations/invite.json.
- You can resend a customer's Billing Portal invitation.
+ Resends a customer's Billing Portal invitation.
If you attempt to resend an invitation 5 times within 30 minutes, you will
- receive a `422` response with `error` message in the body.
+ receive a `422` response with an `error` message in the body.
If you attempt to resend an invitation when the Billing Portal is already
disabled for a Customer, you will receive a `422` error response.
- If you attempt to resend an invitation when the Billing Portal is already
- disabled for a Customer, you will receive a `422` error response.
- If you attempt to resend an invitation when the Customer does not exist a
- Customer, you will receive a `404` error response.
+ If you attempt to resend an invitation when the Customer does not exist, you
+ will receive a `404` error response.
## Limitations
This endpoint will only return a JSON response.
@@ -237,7 +236,7 @@ def revoke_billing_portal_access(self,
"""Perform a DELETE request to
/portal/customers/{customer_id}/invitations/revoke.json.
- You can revoke a customer's Billing Portal invitation.
+ Revokes a customer's Billing Portal invitation.
If you attempt to revoke an invitation when the Billing Portal is already
disabled for a Customer, you will receive a 422 error response.
## Limitations
diff --git a/advancedbilling/controllers/component_price_points_controller.py b/advancedbilling/controllers/component_price_points_controller.py
index f3910d6..3b29343 100644
--- a/advancedbilling/controllers/component_price_points_controller.py
+++ b/advancedbilling/controllers/component_price_points_controller.py
@@ -172,8 +172,7 @@ def list_component_price_points(self,
"""Perform a GET request to
/components/{component_id}/price_points.json.
- Use this endpoint to read current price points that are associated with a
- component.
+ Lists the price points associated with a component.
You may specify the component by using either the numeric id or the
`handle:gold` syntax.
When fetching a component's price points, if you have defined multiple
@@ -254,7 +253,7 @@ def bulk_create_component_price_points(self,
"""Perform a POST request to
/components/{component_id}/price_points/bulk.json.
- Use this endpoint to create multiple component price points in one request.
+ Creates multiple component price points in one request.
Args:
component_id (str): The Advanced Billing id of the component for which
@@ -384,8 +383,7 @@ def update_component_price_point(self,
"""Perform a PUT request to
/components/{component_id}/price_points/{price_point_id}.json.
- When updating a price point, prices can be updated as well by creating new
- prices or editing / removing existing ones.
+ Updates a component price point and its associated prices.
Passing in a price bracket without an `id` will attempt to create a new price.
Including an `id` will update the corresponding price, and including the
`_destroy` flag set to true along with the `id` will remove that price.
@@ -457,8 +455,8 @@ def read_component_price_point(self,
"""Perform a GET request to
/components/{component_id}/price_points/{price_point_id}.json.
- Use this endpoint to retrieve details for a specific component price point.
- You can achieve this by using either the component price point ID or handle.
+ Returns details for a specific component price point. You can achieve this by
+ using either the component price point ID or handle.
Args:
component_id (int | str): The id or handle of the component. When using
@@ -516,9 +514,9 @@ def archive_component_price_point(self,
"""Perform a DELETE request to
/components/{component_id}/price_points/{price_point_id}.json.
- A price point can be archived at any time. Subscriptions using a price point
- that has been archived will continue using it until they're moved to another
- price point.
+ Archives a component price point. Subscriptions using a price point that has
+ been archived will continue using it until they're moved to another price
+ point.
Args:
component_id (int | str): The id or handle of the component. When using
@@ -576,7 +574,7 @@ def unarchive_component_price_point(self,
"""Perform a PUT request to
/components/{component_id}/price_points/{price_point_id}/unarchive.json.
- Use this endpoint to unarchive a component price point.
+ Unarchives a component price point.
Args:
component_id (int): The Advanced Billing id of the component to which the
@@ -622,8 +620,7 @@ def create_currency_prices(self,
"""Perform a POST request to
/price_points/{price_point_id}/currency_prices.json.
- This endpoint allows you to create currency prices for a given currency that
- has been defined on the site level in your settings.
+ Creates currency prices for a given currency defined at the site level.
When creating currency prices, they need to mirror the structure of your
primary pricing. For each price level defined on the component price point,
there should be a matching price level created in the given currency.
@@ -677,8 +674,7 @@ def update_currency_prices(self,
"""Perform a PUT request to
/price_points/{price_point_id}/currency_prices.json.
- This endpoint allows you to update currency prices for a given currency that
- has been defined on the site level in your settings.
+ Updates currency prices for a given currency defined at the site level.
Note: Currency Prices are not able to be updated for custom price points.
Args:
@@ -727,8 +723,7 @@ def list_all_component_price_points(self,
options=dict()):
"""Perform a GET request to /components_price_points.json.
- This method allows to retrieve a list of Components Price Points belonging to
- a Site.
+ Lists all component price points belonging to a site.
Args:
options (dict, optional): Key-value pairs for any of the parameters to
diff --git a/advancedbilling/controllers/components_controller.py b/advancedbilling/controllers/components_controller.py
index 6093988..f2dd333 100644
--- a/advancedbilling/controllers/components_controller.py
+++ b/advancedbilling/controllers/components_controller.py
@@ -50,13 +50,12 @@ def create_metered_component(self,
"""Perform a POST request to
/product_families/{product_family_id}/metered_components.json.
- This request will create a component definition of kind **metered_component**
- under the specified product family. Metered component can then be added and
- “allocated” for a subscription.
+ Creates a metered component definition under the specified product family. A
+ metered component can then be added and “allocated” for a subscription.
Metered components are used to bill for any type of unit that resets to 0 at
- the end of the billing period (think daily Google Adwords clicks or monthly
- cell phone minutes). This is most commonly associated with usage-based
- billing and many other pricing schemes.
+ the end of the billing period (think daily Google Ads clicks or monthly cell
+ phone minutes). This is most commonly associated with usage-based billing and
+ many other pricing schemes.
Note that this is different from recurring quantity-based components, which
DO NOT reset to zero at the start of every billing period. If you want to
bill for a quantity of something that does not change unless you change it,
@@ -115,10 +114,10 @@ def create_quantity_based_component(self,
"""Perform a POST request to
/product_families/{product_family_id}/quantity_based_components.json.
- This request will create a component definition of kind
- **quantity_based_component** under the specified product family. Quantity
- Based component can then be added and “allocated” for a subscription.
- When defining Quantity Based component, You can choose one of 2 types:
+ Creates a Quantity Based component definition under the specified product
+ family. A Quantity Based component can then be added and “allocated” for a
+ subscription.
+ When defining a Quantity Based component, you can choose one of 2 types:
#### Recurring
Recurring quantity-based components are used to bill for the number of some
unit (think monthly software user licenses or the number of pairs of socks in
@@ -184,9 +183,8 @@ def create_on_off_component(self,
"""Perform a POST request to
/product_families/{product_family_id}/on_off_components.json.
- This request will create a component definition of kind **on_off_component**
- under the specified product family. On/Off component can then be added and
- “allocated” for a subscription.
+ Creates an On/Off component definition under the specified product family. An
+ On/Off component can then be added and “allocated” for a subscription.
On/off components are used for any flat fee, recurring add on (think
$99/month for tech support or a flat add on shipping fee).
For more information on components, see our documentation
@@ -243,9 +241,9 @@ def create_prepaid_usage_component(self,
"""Perform a POST request to
/product_families/{product_family_id}/prepaid_usage_components.json.
- This request will create a component definition of kind
- **prepaid_usage_component** under the specified product family. Prepaid
- component can then be added and “allocated” for a subscription.
+ Creates a prepaid usage component definition under the specified product
+ family. A prepaid component can then be added and “allocated” for a
+ subscription.
Prepaid components allow customers to pre-purchase units that can be used up
over time on their subscription. In a sense, they are the mirror image of
metered components; while metered components charge at the end of the period
@@ -306,9 +304,9 @@ def create_event_based_component(self,
"""Perform a POST request to
/product_families/{product_family_id}/event_based_components.json.
- This request will create a component definition of kind
- **event_based_component** under the specified product family. Event-based
- component can then be added and “allocated” for a subscription.
+ Creates an event-based component definition under the specified product
+ family. An event-based component can then be added and “allocated” for a
+ subscription.
Event-based components are similar to other component types, in that you
define the component parameters (such as name and taxability) and the
pricing. A key difference for the event-based component is that it must be
@@ -369,9 +367,9 @@ def find_component(self,
handle):
"""Perform a GET request to /components/lookup.json.
- This request will return information regarding a component having the handle
- you provide. You can identify your components with a handle so you don't have
- to save or reference the IDs we generate.
+ Returns information for a component matching the provided handle. You can
+ identify your components with a handle so you don't have to save or reference
+ the IDs we generate.
Args:
handle (str): The handle of the component to find
@@ -459,7 +457,7 @@ def update_product_family_component(self,
"""Perform a PUT request to
/product_families/{product_family_id}/components/{component_id}.json.
- This request will update a component from a specific product family.
+ Updates a component from a specific product family.
You may read the component by either the component's id or handle. When using
the handle, it must be prefixed with `handle:`.
@@ -519,9 +517,8 @@ def archive_component(self,
"""Perform a DELETE request to
/product_families/{product_family_id}/components/{component_id}.json.
- Sending a DELETE request to this endpoint will archive the component. All
- current subscribers will be unffected; their subscription/purchase will
- continue to be charged as usual.
+ Archives the component; all current subscribers will continue to be charged
+ as usual.
Args:
product_family_id (int): The Advanced Billing id of the product family to
@@ -570,7 +567,7 @@ def list_components(self,
options=dict()):
"""Perform a GET request to /components.json.
- This request will return a list of components for a site.
+ Lists components for a site.
Args:
options (dict, optional): Key-value pairs for any of the parameters to
@@ -672,7 +669,7 @@ def update_component(self,
body=None):
"""Perform a PUT request to /components/{component_id}.json.
- This request will update a component.
+ Updates a component.
You may read the component by either the component's id or handle. When using
the handle, it must be prefixed with `handle:`.
@@ -723,7 +720,7 @@ def list_components_for_product_family(self,
"""Perform a GET request to
/product_families/{product_family_id}/components.json.
- This request will return a list of components for a particular product family.
+ Lists components for a particular product family.
Args:
options (dict, optional): Key-value pairs for any of the parameters to
diff --git a/advancedbilling/controllers/coupons_controller.py b/advancedbilling/controllers/coupons_controller.py
index 5c86e91..028c9c7 100644
--- a/advancedbilling/controllers/coupons_controller.py
+++ b/advancedbilling/controllers/coupons_controller.py
@@ -62,23 +62,21 @@ def create_coupon(self,
"""Perform a POST request to
/product_families/{product_family_id}/coupons.json.
- ## Coupons Documentation
- Coupons can be administered in the Advanced Billing application or created
- via API. View our section on [creating
- coupons](https://maxio.zendesk.com/hc/en-us/articles/24261212433165-Creating-E
- diting-Deleting-Coupons) for more information.
- Additionally, for documentation on how to apply a coupon to a subscription
- within the Advanced Billing UI, see our documentation
- [here](https://maxio.zendesk.com/hc/en-us/articles/24261259337101-Coupons-and-
- Subscriptions).
- ## Create Coupon
- This request will create a coupon, based on the provided information.
- You can create either a flat amount coupon, by specyfing `amount_in_cents`,
- or percentage coupon by specyfing `percentage`.
+ Creates a coupon under the specified product family.
+ You can create either a flat amount coupon by specifying amount_in_cents, or
+ a percentage coupon by specifying percentage
You can restrict a coupon to only apply to specific products / components by
optionally passing in `restricted_products` and/or `restricted_components`
objects in the format:
`{ "": boolean_value }`
+ Coupons can be administered in the Advanced Billing application or created
+ via API. See [creating
+ coupons](https://maxio.zendesk.com/hc/en-us/articles/24261212433165-Creating-E
+ diting-Deleting-Coupons) for more information.
+ See [Apply Coupons to
+ Subscriptions](https://maxio.zendesk.com/hc/en-us/articles/24261259337101-Coup
+ ons-and-Subscriptions) for information on applying a coupon to a subscription
+ in the Advanced Billing UI.
Args:
product_family_id (int): The Advanced Billing id of the product family to
@@ -128,7 +126,7 @@ def list_coupons_for_product_family(self,
"""Perform a GET request to
/product_families/{product_family_id}/coupons.json.
- List coupons for a specific Product Family in a Site.
+ Lists coupons for a specific product family in a site.
Args:
options (dict, optional): Key-value pairs for any of the parameters to
@@ -205,9 +203,9 @@ def find_coupon(self,
currency_prices=None):
"""Perform a GET request to /coupons/find.json.
- You can search for a coupon via the API with the find method. By passing a
- code parameter, the find will attempt to locate a coupon that matches that
- code. If no coupon is found, a 404 is returned.
+ Searches for a coupon by code, returning a 404 if no coupon is found. By
+ passing a code parameter, the find will attempt to locate a coupon that
+ matches that code.
If you have more than one product family and if the coupon you are trying to
find does not belong to the default product family in your site, then you
will need to specify (either in the url or as a query string param) the
@@ -261,9 +259,8 @@ def read_coupon(self,
"""Perform a GET request to
/product_families/{product_family_id}/coupons/{coupon_id}.json.
- You can retrieve the Coupon via the API with the Show method. You must
- identify the Coupon in this call by the ID parameter that Advanced Billing
- assigns.
+ Returns a coupon by its Advanced Billing-assigned ID. You must identify the
+ Coupon in this call by the ID parameter that Advanced Billing assigns.
If instead you would like to find a Coupon using a Coupon code, see the
Coupon Find method.
When fetching a coupon, if you have defined multiple currencies at the site
@@ -325,9 +322,7 @@ def update_coupon(self,
"""Perform a PUT request to
/product_families/{product_family_id}/coupons/{coupon_id}.json.
- ## Update Coupon
- You can update a Coupon via the API with a PUT request to the resource
- endpoint.
+ Updates a coupon.
You can restrict a coupon to only apply to specific products / components by
optionally passing in hashes of `restricted_products` and/or
`restricted_components` in the format:
@@ -388,7 +383,8 @@ def archive_coupon(self,
"""Perform a DELETE request to
/product_families/{product_family_id}/coupons/{coupon_id}.json.
- You can archive a Coupon via the API with the archive method.
+ Archives a coupon, making it unavailable for future use while remaining
+ active on existing subscriptions.
Archiving makes that Coupon unavailable for future use, but allows it to
remain attached and functional on existing Subscriptions that are using it.
The `archived_at` date and time will be assigned.
@@ -435,7 +431,7 @@ def list_coupons(self,
options=dict()):
"""Perform a GET request to /coupons.json.
- You can retrieve a list of coupons.
+ Lists coupons for a site.
Args:
options (dict, optional): Key-value pairs for any of the parameters to
@@ -505,8 +501,7 @@ def read_coupon_usage(self,
"""Perform a GET request to
/product_families/{product_family_id}/coupons/{coupon_id}/usage.json.
- This request will provide details about the coupon usage as an array of data
- hashes, one per product.
+ Lists coupon usage details, one entry per product.
Args:
product_family_id (int): The Advanced Billing id of the product family to
@@ -551,10 +546,9 @@ def validate_coupon(self,
product_family_id=None):
"""Perform a GET request to /coupons/validate.json.
- You can verify if a specific coupon code is valid using the `validate`
- method. This method is useful for validating coupon codes that are entered by
- a customer. If the coupon is found and is valid, the coupon will be returned
- with a 200 status code.
+ Verifies whether a specific coupon code is valid. This method is useful for
+ validating coupon codes that are entered by a customer. If the coupon is
+ found and is valid, the coupon will be returned with a 200 status code.
If the coupon is invalid, the status code will be 404 and the response will
say why it is invalid. If the coupon is valid, the status code will be 200
and the coupon will be returned. The following reasons for invalidity are
@@ -621,10 +615,10 @@ def create_or_update_coupon_currency_prices(self,
body=None):
"""Perform a PUT request to /coupons/{coupon_id}/currency_prices.json.
- This endpoint allows you to create and/or update currency prices for an
- existing coupon. Multiple prices can be created or updated in a single
- request but each of the currencies must be defined on the site level already
- and the coupon must be an amount-based coupon, not percentage.
+ Creates and/or updates currency prices for an existing coupon. Multiple
+ prices can be created or updated in a single request but each of the
+ currencies must be defined on the site level already and the coupon must be
+ an amount-based coupon, not percentage.
Currency pricing for coupons must mirror the setup of the primary coupon
pricing - if the primary coupon is percentage based, you will not be able to
define pricing in non-primary currencies.
@@ -676,6 +670,7 @@ def create_coupon_subcodes(self,
body=None):
"""Perform a POST request to /coupons/{coupon_id}/codes.json.
+ Creates subcodes for an existing coupon.
## Coupon Subcodes Intro
Coupon Subcodes allow you to create a set of unique codes that allow you to
expand the use of one coupon.
@@ -757,7 +752,7 @@ def list_coupon_subcodes(self,
options=dict()):
"""Perform a GET request to /coupons/{coupon_id}/codes.json.
- This request allows you to request the subcodes that are attached to a coupon.
+ Lists the subcodes attached to a coupon.
Args:
options (dict, optional): Key-value pairs for any of the parameters to
@@ -818,8 +813,8 @@ def update_coupon_subcodes(self,
body=None):
"""Perform a PUT request to /coupons/{coupon_id}/codes.json.
- You can update the subcodes for the given Coupon via the API with a PUT
- request to the resource endpoint.
+ Updates the subcodes for a coupon, replacing all existing subcodes with the
+ new list.
Send an array of new coupon subcodes.
**Note**: All current subcodes for that Coupon will be deleted first, and
replaced with the list of subcodes sent to this endpoint.
@@ -872,6 +867,7 @@ def delete_coupon_subcode(self,
"""Perform a DELETE request to
/coupons/{coupon_id}/codes/{subcode}.json.
+ Deletes a specific subcode from a coupon.
## Example
Given a coupon with an ID of 567, and a coupon subcode of 20OFF, the URL to
`DELETE` this coupon subcode would be:
diff --git a/advancedbilling/controllers/custom_fields_controller.py b/advancedbilling/controllers/custom_fields_controller.py
index df2ea95..8a54da1 100644
--- a/advancedbilling/controllers/custom_fields_controller.py
+++ b/advancedbilling/controllers/custom_fields_controller.py
@@ -219,7 +219,7 @@ def update_metafield(self,
specify all metadata values including the new value you want to add.
- Add new metadata to a dropdown or radio for a metafield that was created
without metadata.
- - Remove metadata for a dropdown or radio for a metafield.
+ - Remove metadata for a dropdown or radio for a metafield.
>Note: Updates to metadata overwrite existing values. To remove one or more
values, specify all metadata values except those you want to remove.
- Add or update scope settings for a metafield.
@@ -458,7 +458,8 @@ def update_metadata(self,
subscription or customer you specify. You can update the input_type for the
metafield with the Update Metafield endpoint.
Each site is limited to 100 unique metafields per resource. This means you
- can have 100 metafields for Subscription and another 100 for Customer.
+ can have 100 metafields for the Subscription resource and another 100 for the
+ Customer resource.
Args:
resource_type (ResourceType): The resource type to which the metafields
@@ -567,7 +568,7 @@ def list_metadata_for_resource_type(self,
options=dict()):
"""Perform a GET request to /{resource_type}/metadata.json.
- Lists metadata for a specified array of subscriptions or customers.
+ Lists metadata for a specified array of subscriptions or customers.
Args:
options (dict, optional): Key-value pairs for any of the parameters to
diff --git a/advancedbilling/controllers/customers_controller.py b/advancedbilling/controllers/customers_controller.py
index a691439..86a07f4 100644
--- a/advancedbilling/controllers/customers_controller.py
+++ b/advancedbilling/controllers/customers_controller.py
@@ -45,9 +45,9 @@ def create_customer(self,
body=None):
"""Perform a POST request to /customers.json.
- You may create a new Customer at any time, or you may create a Customer at
- the same time you create a Subscription. The only validation restriction is
- that you may only create one customer for a given reference value.
+ Creates a new customer; can also be created alongside a new subscription. The
+ only validation restriction is that you may only create one customer for a
+ given reference value.
If provided, the `reference` value must be unique. It represents a unique
identifier for the customer from your own app, i.e. the customer’s ID. This
allows you to retrieve a given customer via a piece of shared information.
@@ -120,7 +120,8 @@ def list_customers(self,
options=dict()):
"""Perform a GET request to /customers.json.
- This request will by default list all customers associated with your Site.
+ Lists all customers associated with your site, or filters results using the
+ search parameter.
## Find Customer
Use the search feature with the `q` query parameter to retrieve an array of
customers that matches the search query.
@@ -272,7 +273,7 @@ def update_customer(self,
body=None):
"""Perform a PUT request to /customers/{id}.json.
- This method allows to update the Customer.
+ Updates the customer.
Args:
id (int): The Advanced Billing id of the customer
@@ -321,7 +322,7 @@ def delete_customer(self,
id):
"""Perform a DELETE request to /customers/{id}.json.
- This method allows you to delete the Customer.
+ Deletes the customer.
Args:
id (int): The Advanced Billing id of the customer
@@ -351,8 +352,8 @@ def read_customer_by_reference(self,
reference):
"""Perform a GET request to /customers/lookup.json.
- Use this method to return the customer object if you have the unique
- **Reference ID (Your App)** value handy. It will return a single match.
+ Returns a customer by their unique reference ID. It will return a single
+ match.
Args:
reference (str): Customer reference
@@ -389,7 +390,7 @@ def list_customer_subscriptions(self,
"""Perform a GET request to
/customers/{customer_id}/subscriptions.json.
- This method lists all subscriptions that belong to a customer.
+ Lists all subscriptions that belong to a customer.
Args:
customer_id (int): The Chargify id of the customer
diff --git a/advancedbilling/controllers/events_based_billing_segments_controller.py b/advancedbilling/controllers/events_based_billing_segments_controller.py
index e69bc3f..369c133 100644
--- a/advancedbilling/controllers/events_based_billing_segments_controller.py
+++ b/advancedbilling/controllers/events_based_billing_segments_controller.py
@@ -57,10 +57,10 @@ def create_segment(self,
"""Perform a POST request to
/components/{component_id}/price_points/{price_point_id}/segments.json.
- This endpoint creates a new Segment for a Component with segmented Metric. It
- allows you to specify properties to bill upon and prices for each Segment.
- You can only pass as many "property_values" as the related Metric has
- segmenting properties defined.
+ Creates a new segment for a component with a segmented metric. It allows you
+ to specify properties to bill upon and prices for each Segment. You can only
+ pass as many "property_values" as the related Metric has segmenting
+ properties defined.
You may specify component and/or price point by using either the numeric ID
or the `handle:gold` syntax.
@@ -119,8 +119,7 @@ def list_segments_for_price_point(self,
"""Perform a GET request to
/components/{component_id}/price_points/{price_point_id}/segments.json.
- This endpoint allows you to fetch Segments created for a given Price Point.
- They will be returned in the order of creation.
+ Lists segments created for a given price point, in order of creation.
You can pass `page` and `per_page` parameters in order to access all of the
segments. By default it will return `30` records. You can set `per_page` to
`200` at most.
@@ -207,8 +206,8 @@ def update_segment(self,
"""Perform a PUT request to
/components/{component_id}/price_points/{price_point_id}/segments/{id}.json.
- This endpoint updates a single Segment for a Component with a segmented
- Metric. It allows you to update the pricing for the segment.
+ Updates a single segment for a component with a segmented metric. It allows
+ you to update the pricing for the segment.
You may specify component and/or price point by using either the numeric ID
or the `handle:gold` syntax.
@@ -275,7 +274,7 @@ def delete_segment(self,
"""Perform a DELETE request to
/components/{component_id}/price_points/{price_point_id}/segments/{id}.json.
- This endpoint allows you to delete a Segment with specified ID.
+ Deletes a segment with the specified ID.
You may specify component and/or price point by using either the numeric ID
or the `handle:gold` syntax.
@@ -323,8 +322,8 @@ def bulk_create_segments(self,
"""Perform a POST request to
/components/{component_id}/price_points/{price_point_id}/segments/bulk.json.
- This endpoint allows you to create multiple segments in one request. The
- array of segments can contain up to `2000` records.
+ Creates multiple segments in one request. The array of segments can contain
+ up to `2000` records.
If any of the records contain an error the whole request would fail and none
of the requested segments get created. The error response contains a message
for only the one segment that failed validation, with the corresponding index
@@ -389,8 +388,8 @@ def bulk_update_segments(self,
"""Perform a PUT request to
/components/{component_id}/price_points/{price_point_id}/segments/bulk.json.
- This endpoint allows you to update multiple segments in one request. The
- array of segments can contain up to `1000` records.
+ Updates multiple segments in one request. The array of segments can contain
+ up to `1000` records.
If any of the records contain an error the whole request would fail and none
of the requested segments get updated. The error response contains a message
for only the one segment that failed validation, with the corresponding index
diff --git a/advancedbilling/controllers/events_controller.py b/advancedbilling/controllers/events_controller.py
index 19ec544..bbe74a3 100644
--- a/advancedbilling/controllers/events_controller.py
+++ b/advancedbilling/controllers/events_controller.py
@@ -42,13 +42,14 @@ def list_events(self,
options=dict()):
"""Perform a GET request to /events.json.
+ Lists events for a site.
## Events Intro
Advanced Billing Events include various activity that happens around a Site.
This information is **especially** useful to track down issues that arise
when subscriptions are not created due to errors.
Within the Advanced Billing UI, "Events" are referred to as "Site Activity".
- Full documentation on how to record view Events / Site Activty in the
- Advanced Billing UI can be located
+ Full documentation on how to view Events / Site Activity in the Advanced
+ Billing UI can be located
[here](https://maxio.zendesk.com/hc/en-us/articles/24250671733517-Site-Activit
y).
## List Events for a Site
@@ -223,7 +224,7 @@ def list_subscription_events(self,
"""Perform a GET request to
/subscriptions/{subscription_id}/events.json.
- The following request will return a list of events for a subscription.
+ Lists events for a subscription.
## Event Key
The event type is identified by the key property. You can check supported
keys [here]($m/Event%20Key).
@@ -315,7 +316,7 @@ def read_events_count(self,
options=dict()):
"""Perform a GET request to /events/count.json.
- Get a count of all the events for a given site by using this method.
+ Returns the total count of events for a given site.
Args:
options (dict, optional): Key-value pairs for any of the parameters to
diff --git a/advancedbilling/controllers/insights_controller.py b/advancedbilling/controllers/insights_controller.py
index ecf0011..b1898ed 100644
--- a/advancedbilling/controllers/insights_controller.py
+++ b/advancedbilling/controllers/insights_controller.py
@@ -51,8 +51,8 @@ def __init__(self, config):
def read_site_stats(self):
"""Perform a GET request to /stats.json.
- The Stats API is a very basic view of some Site-level stats. This API call
- only answers with JSON responses. An XML version is not provided.
+ Returns basic site-level stats. This API call only answers with JSON
+ responses. An XML version is not provided.
## Stats Documentation
There currently is not a complimentary matching set of documentation that
compliments this endpoint. However, each Site's dashboard will reflect the
@@ -90,8 +90,7 @@ def read_mrr(self,
subscription_id=None):
"""Perform a GET request to /mrr.json.
- This endpoint returns your site's current MRR, including plan and usage
- breakouts.
+ Returns your site's current MRR, including plan and usage breakouts.
Args:
at_time (datetime, optional): submit a timestamp in ISO8601 format to
@@ -134,7 +133,7 @@ def list_mrr_movements(self,
options=dict()):
"""Perform a GET request to /mrr_movements.json.
- This endpoint returns your site's MRR movements.
+ Lists your site's MRR movements.
## Understanding MRR movements
This endpoint will aid in accessing your site's [MRR
Report](https://maxio.zendesk.com/hc/en-us/articles/24285894587021-MRR-Analyti
diff --git a/advancedbilling/controllers/invoices_controller.py b/advancedbilling/controllers/invoices_controller.py
index 92cad39..0c19f35 100644
--- a/advancedbilling/controllers/invoices_controller.py
+++ b/advancedbilling/controllers/invoices_controller.py
@@ -78,9 +78,9 @@ def refund_invoice(self,
## Partial Refund for Consolidated Invoice
A refund less than the total of a consolidated invoice will be split across
its segments.
- A $50.00 refund on a $100.00 consolidated invoice with one $60.00 and one
- $40.00 segment, the refunded amount will be applied as 50% of each ($30.00
- and $20.00 respectively).
+ For a $50.00 refund on a $100.00 consolidated invoice with one $60.00 segment
+ and one $40.00 segment, the refunded amount will be applied as 50% of each
+ ($30.00 and $20.00, respectively).
Args:
uid (str): The unique identifier for the invoice, this does not refer to
@@ -519,8 +519,8 @@ def record_payment_for_multiple_invoices(self,
This API call should be used when you want to record an external payment
against multiple invoices.
- In order apply a payment to multiple invoices, at minimum, specify the
- `amount` and `applications` (i.e., `invoice_uid` and `amount`) details.
+ To apply a payment to multiple invoices, at minimum, specify the `amount`
+ and `applications` (i.e., `invoice_uid` and `amount`) details.
```
{
"payment": {
@@ -979,10 +979,10 @@ def create_invoice(self,
```
The price for each line item will be calculated as well as a total due amount
for the invoice. Multiple line items can be sent.
- ### Line items types
- When defining line item, You can choose one of 3 types for one line item:
+ ### Line item types
+ When defining a line item, You can choose one of 3 types for a line item:
#### Custom item
- Like in basic behavior example above, You can pass `title` and `unit_price`
+ As shown in the basic behavior example, You can pass `title` and `unit_price`
for custom item.
#### Product id
Product handle (with handle: prefix) or id from the scope of current
@@ -997,7 +997,7 @@ def create_invoice(self,
used, following fields cannot be used: `title`, `product_id`. By default
`unit_price` is taken from product's default price point, but can be
overwritten by passing `unit_price` or `price_point_id`. At this moment price
- points are supportted only for quantity based, on/off and metered components.
+ points are supported only for quantity based, on/off and metered components.
For prepaid and event based billing components `unit_price` is required.
### Coupons
When creating ad hoc invoice, new discounts can be applied in following way:
@@ -1122,9 +1122,11 @@ def create_invoice(self,
description for line item.
### Invoice Options
#### Issue Date
- By default, invoices will be created with a issue date set to today.
- `issue_date` parameter can be send to alter that. Only dates in the past can
- be send. `issue_date` should be send in `YYYY-MM-DD` format.
+ By default, invoices will be created with a issue date set to today in your
+ site's time zone. The `issue_date` parameter can be sent to alter the
+ default. Only today or dates in the past are accepted. This date is
+ interpreted and validated in your site's time zone. The format for
+ `issue_date` is `YYYY-MM-DD`.
#### Net Terms
By default, invoices will be created with a due date matching the date of
invoice creation. If a different due date is desired, the `net_terms`
@@ -1138,7 +1140,7 @@ def create_invoice(self,
#### Memo and Payment Instructions
A custom memo can be sent with the `memo` parameter to override the site's
default. Likewise, custom payment instructions can be sent with the
- `payment_instrucions` parameter.
+ `payment_instructions` parameter.
#### Status
By default, invoices will be created with open status. Possible alternative
is `draft`.
@@ -1246,9 +1248,9 @@ def preview_customer_information_changes(self,
"""Perform a POST request to
/invoices/{uid}/customer_information/preview.json.
- Customer information may change after an invoice is issued which may lead to
- a mismatch between customer information that are present on an open invoice
- and actual customer information. This endpoint allows to preview these
+ Customer information may change after an invoice is issued, which may lead to
+ a mismatch between customer information that is present on an open invoice
+ and actual customer information. This endpoint allows you to preview these
differences, if any.
The endpoint doesn't accept a request body. Customer information differences
are calculated on the application side.
@@ -1298,7 +1300,7 @@ def update_customer_information(self,
This endpoint updates customer information on an open invoice and returns the
updated invoice. If you would like to preview changes that will be applied,
- use the `/invoices/{uid}/customer_information/preview.json` endpoint before.
+ use the `/invoices/{uid}/customer_information/preview.json` endpoint first.
The endpoint doesn't accept a request body. Customer information differences
are calculated on the application side.
@@ -1353,13 +1355,13 @@ def issue_invoice(self,
subscription in a group.
For Remittance subscriptions, the invoice will go into "open" status and
payment won't be attempted. The value for `on_failed_payment` would be
- rejected if sent. Any prepayments or service credits that exist on
- subscription will be automatically applied. Additionally, if setting is on,
- an email will be sent for issued invoice.
+ rejected if sent. Any prepayments or service credits that exist on the
+ subscription will be automatically applied. Additionally, if the setting is
+ enabled, an email will be sent for the issued invoice.
For Automatic subscriptions, prepayments and service credits will apply to
- the invoice and before payment is attempted. On successful payment, the
- invoice will go into "paid" status and email will be sent to the customer (if
- setting applies). When payment fails, the next event depends on the
+ the invoice before payment is attempted. On successful payment, the invoice
+ will go into "paid" status and email will be sent to the customer (if setting
+ applies). When payment fails, the next event depends on the
`on_failed_payment` value:
- `leave_open_invoice` - prepayments and credits applied to invoice; invoice
status set to "open"; email sent to the customer for the issued invoice (if
diff --git a/advancedbilling/controllers/offers_controller.py b/advancedbilling/controllers/offers_controller.py
index f9e1dfd..642fae1 100644
--- a/advancedbilling/controllers/offers_controller.py
+++ b/advancedbilling/controllers/offers_controller.py
@@ -45,7 +45,7 @@ def create_offer(self,
body=None):
"""Perform a POST request to /offers.json.
- Create an offer within your Advanced Billing site by sending a POST request.
+ Creates an offer within your Advanced Billing site.
## Documentation
Offers allow you to package complicated combinations of products, components
and coupons into a convenient package which can then be subscribed to just
@@ -102,7 +102,7 @@ def list_offers(self,
options=dict()):
"""Perform a GET request to /offers.json.
- This endpoint will list offers for a site.
+ Lists offers for a site.
Args:
options (dict, optional): Key-value pairs for any of the parameters to
@@ -165,8 +165,8 @@ def read_offer(self,
offer_id):
"""Perform a GET request to /offers/{offer_id}.json.
- This method allows you to list a specific offer's attributes. This is
- different than list all offers for a site, as it requires an `offer_id`.
+ Returns a specific offer's attributes. This is different from listing all
+ offers for a site, as it requires an `offer_id`.
Args:
offer_id (int): The Chargify id of the offer
@@ -203,7 +203,7 @@ def archive_offer(self,
offer_id):
"""Perform a PUT request to /offers/{offer_id}/archive.json.
- Archive an existing offer. Please provide an `offer_id` in order to archive
+ Archives an existing offer. Please provide an `offer_id` in order to archive
the correct item.
Args:
@@ -234,8 +234,8 @@ def unarchive_offer(self,
offer_id):
"""Perform a PUT request to /offers/{offer_id}/unarchive.json.
- Unarchive a previously archived offer. Please provide an `offer_id` in order
- to un-archive the correct item.
+ Unarchives a previously archived offer. Please provide an `offer_id` in order
+ to unarchive the correct item.
Args:
offer_id (int): The Chargify id of the offer
diff --git a/advancedbilling/controllers/payment_profiles_controller.py b/advancedbilling/controllers/payment_profiles_controller.py
index 3191afb..80c258b 100644
--- a/advancedbilling/controllers/payment_profiles_controller.py
+++ b/advancedbilling/controllers/payment_profiles_controller.py
@@ -65,8 +65,8 @@ def create_payment_profile(self,
Note that collecting and sending raw card details in production requires [PCI
compliance](https://docs.maxio.com/hc/en-us/articles/24183956938381-PCI-Compli
ance#pci-compliance-0-0) on your end. If your business is not PCI compliant,
- use
- [Chargify.js](https://docs.maxio.com/hc/en-us/articles/38163190843789-Chargify
+ use [Maxio.js (formerly
+ Chargify.js)](https://docs.maxio.com/hc/en-us/articles/38163190843789-Chargify
-js-Overview#chargify-js-overview-0-0) to collect credit card or bank account
information.
See the following articles to learn more about subscriptions and payments:
@@ -82,25 +82,25 @@ def create_payment_profile(self,
+
[Taxes](https://developers.chargify.com/docs/developer-docs/d2e9e34db740e-sign
ups#taxes)
- +
- [Chargify.js](https://docs.maxio.com/hc/en-us/articles/38163190843789-Chargify
+ + [Maxio.js (formerly
+ Chargify.js)](https://docs.maxio.com/hc/en-us/articles/38163190843789-Chargify
-js-Overview)
- + [Chargify.js with GoCardless - minimal
+ + [Maxio.js with GoCardless - minimal
example](https://docs.maxio.com/hc/en-us/articles/38206331271693-Examples#h_01
K0PJ15QQZKCER8CFK40MR6XJ)
- + [Chargify.js with GoCardless - full
+ + [Maxio.js with GoCardless - full
example](https://docs.maxio.com/hc/en-us/articles/38206331271693-Examples#h_01
K0PJ15QR09JVHWW0MCA7HVJV)
- + [Chargify.js with Stripe Direct Debit - minimal
+ + [Maxio.js with Stripe Direct Debit - minimal
example](https://docs.maxio.com/hc/en-us/articles/38206331271693-Examples#h_01
K0PJ15QQFKKN8Z7B7DZ9AJS5)
- + [Chargify.js with Stripe Direct Debit - full
+ + [Maxio.js with Stripe Direct Debit - full
example](https://docs.maxio.com/hc/en-us/articles/38206331271693-Examples#h_01
K0PJ15QRECQQ4ECS3ZA55GY7)
- + [Chargify.js with Stripe BECS Direct Debit - minimal
+ + [Maxio.js with Stripe BECS Direct Debit - minimal
example](https://developers.chargify.com/docs/developer-docs/ZG9jOjE0NjAzNDIy-
examples#minimal-example-with-sepa-or-becs-direct-debit-stripe-gateway)
- + [Chargify.js with Stripe BECS Direct Debit - full
+ + [Maxio.js with Stripe BECS Direct Debit - full
example](https://developers.chargify.com/docs/developer-docs/ZG9jOjE0NjAzNDIy-
examples#full-example-with-sepa-direct-debit-stripe-gateway)
+ [Full documentation on
@@ -115,77 +115,15 @@ def create_payment_profile(self,
+ [Full documentation on Stripe BACS Direct
Debit](https://maxio.zendesk.com/hc/en-us/articles/24176170430093-Stripe-SEPA-
and-BECS-Direct-Debit)
- ## 3D Secure Authentication during payment profile creation.
- When a payment requires 3D Secure Authentication to adhear to Strong Customer
- Authentication (SCA) during payment profile creation, the request enters a
- [post-authentication
- flow](https://maxio.zendesk.com/hc/en-us/articles/24176278996493-Testing-Imple
- menting-3D-Secure#psd2-flows-pre-authentication-and-post-authentication). In
- this case, a 422 Unprocessable Entity status is returned with the following
- response:
- ```json
- {
- "jsonapi": {
- "version": "1.0"
- },
- "errors": [
- {
- "title": "This card requires 3DSecure verification.",
- "detail": "This card requires 3D secure authentication. Redirect
- the customer to the URL from the action_link attribute to authenticate.
- Attach callback_url param to this URL if you want to be notified about the
- result of 3D Secure authentication. Attach redirect_url param to this URL if
- you want to redirect a customer back to your page after 3D Secure
- authentication. Example:
- https://checkout-test.chargifypay.test/3d-secure/checkout/pay_uerzhsxd5uhkbodx
- 5jhvkg6yeu?one_time_token_id=93&callback_url=http://localhost:4000&redirect_ur
- l=https://yourpage.com will do a POST request to https://localhost:4000 after
- credit card is authenticated and will redirect a customer to
- https://yourpage.com after 3DS authentication.",
- "links": {
- "action_link":
- "https://checkout-test.chargifypay.test/3d-secure/checkout/pay_uerzhsxd5uhkbod
- x5jhvkg6yeu?one_time_token_id=93"
- }
- }
- ]
- }
- ```
- To let the customer go through 3D Secure Authentication, they need to be
- redirected to the URL specified in `action_link`.
- Optionally, you can specify the `callback_url` parameter in the `action_link`
- URL to receive notification about the result of 3D Secure Authentication.
- The `callback_url` will return the following information:
- - whether the authentication was successful (`success`)
- - the payment profile ID (`payment_profile_id`)
- You can also specify a `redirect_url` parameter in the `action_link` URL to
- redirect the customer back to your site.
- You cannot use action_link in an iframe inside a custom application. You must
- redirect the customer directly to the `action_link` and use the
- `redirect_url` or `callback_url` to be notified of the result.
- The final URL that you send a customer to complete 3D Secure may resemble the
- following, where the first half is the `action_link` and the second half
- contains a `redirect_url` and `callback_url`:
- `https://checkout-test.chargifypay.test/3d-secure/checkout/pay_uerzhsxd5uhkbo
- dx5jhvkg6yeu?one_time_token_id=93&callback_url=http://localhost:4000&redirect_
- url=https://yourpage.com`
- ### Example Redirect Flow
- Here's an example flow to redirect customers to different pages depending on
- whether SCA was performed successfully:
- 1. Create a payment profile via the API; it requires 3DS.
- 2. You receive an `action_link` in the response.
- 3. Use this `action_link` to, for example, connect with your internal
- resources or generate a `session_id`.
- 4. Include one of those attributes inside the `callback_url` and
- `redirect_url` to be aware which “session” this applies to.
- 5. Redirect the customer to the `action_link` with `callback_url` and
- `redirect_url` applied
- 6. After the customer completes 3DS authentication, we notify you of the
- result via the applied `callback_url`.
- 7. After that, we redirect the customer to the `redirect_url`; at this point
- the result of authentication is known.
- 8. Optionally, you can use the applied "msg" param in the `redirect_url` to
- determine if the redirect was successful.
+ ## 3D Secure (3DS) Authentication post-authentication flow
+ When a payment requires 3DS Authentication to adhere to Strong Customer
+ Authentication (SCA), the request enters a post-authentication flow where a
+ 422 Unprocessable Entity status is returned with an action_link that will
+ direct the customer through 3DS Authentication.
+ See the [3D Secure Post-Authentication
+ Flow](https://docs.maxio.com/hc/en-us/articles/44277749524365-3D-Secure-Post-A
+ uthentication-Flow) article in the product documentation to learn how to
+ manage the redirect flow.
Args:
body (CreatePaymentProfileRequest, optional): When following the IBAN or
@@ -232,9 +170,9 @@ def list_payment_profiles(self,
options=dict()):
"""Perform a GET request to /payment_profiles.json.
- This method will return all of the active `payment_profiles` for a Site, or
- for one Customer within a site. If no payment profiles are found, this
- endpoint will return an empty array, not a 404.
+ Returns all active payment profiles for a site, or for one customer within a
+ site. If no payment profiles are found, this endpoint will return an empty
+ array, not a 404.
Args:
options (dict, optional): Key-value pairs for any of the parameters to
@@ -294,8 +232,7 @@ def read_payment_profile(self,
"""Perform a GET request to
/payment_profiles/{payment_profile_id}.json.
- Using the GET method you can retrieve a Payment Profile identified by its
- unique ID.
+ Returns a payment profile identified by its unique ID.
Note that a different JSON object will be returned if the card method on file
is a bank account.
### Response for Bank Account
@@ -368,6 +305,7 @@ def update_payment_profile(self,
"""Perform a PUT request to
/payment_profiles/{payment_profile_id}.json.
+ Updates a payment profile.
## Partial Card Updates
In the event that you are using the Authorize.net, Stripe, Cybersource, Forte
or Braintree Blue payment gateways, you can update just the billing and
@@ -537,8 +475,8 @@ def verify_bank_account(self,
"""Perform a PUT request to
/bank_accounts/{bank_account_id}/verification.json.
- Submit the two small deposit amounts the customer received in their bank
- account in order to verify the bank account. (Stripe only)
+ Verifies a bank account. Submit the two small deposit amounts the customer
+ received in their bank account to verify the bank account. (Stripe only)
Args:
bank_account_id (int): Identifier of the bank account in the system.
@@ -631,8 +569,8 @@ def change_subscription_default_payment_profile(self,
/subscriptions/{subscription_id}/payment_profiles/{payment_profile_id}/change_p
ayment_profile.json.
- This will change the default payment profile on the subscription to the
- existing payment profile with the id specified.
+ Changes the default payment profile on the subscription to the existing
+ payment profile with the specified ID.
You must elect to change the existing payment profile to a new payment
profile ID in order to receive a satisfactory response from this endpoint.
diff --git a/advancedbilling/controllers/product_families_controller.py b/advancedbilling/controllers/product_families_controller.py
index d66e844..8f8c47b 100644
--- a/advancedbilling/controllers/product_families_controller.py
+++ b/advancedbilling/controllers/product_families_controller.py
@@ -168,7 +168,7 @@ def create_product_family(self,
"""Perform a POST request to /product_families.json.
Creates a Product Family within your Advanced Billing site. Create a Product
- Family to act as a container for your products, components and coupons.
+ Family to act as a container for your products, components, and coupons.
Full documentation on how Product Families operate within the Advanced
Billing UI can be located
[here](https://maxio.zendesk.com/hc/en-us/articles/24261098936205-Product-Fami
@@ -214,7 +214,7 @@ def list_product_families(self,
options=dict()):
"""Perform a GET request to /product_families.json.
- Retrieve a list of Product Families for a site.
+ Returns a list of Product Families for a site.
Args:
options (dict, optional): Key-value pairs for any of the parameters to
diff --git a/advancedbilling/controllers/product_price_points_controller.py b/advancedbilling/controllers/product_price_points_controller.py
index 30a3d52..4a23590 100644
--- a/advancedbilling/controllers/product_price_points_controller.py
+++ b/advancedbilling/controllers/product_price_points_controller.py
@@ -273,8 +273,8 @@ def read_product_price_point(self,
"""Perform a GET request to
/products/{product_id}/price_points/{price_point_id}.json.
- Use this endpoint to retrieve details for a specific product price point. You
- can achieve this by using either the product price point ID or handle.
+ Returns details for a specific product price point. You can achieve this by
+ using either the product price point ID or handle.
Args:
product_id (int | str): The id or handle of the product. When using the
@@ -396,7 +396,7 @@ def unarchive_product_price_point(self,
"""Perform a PATCH request to
/products/{product_id}/price_points/{price_point_id}/unarchive.json.
- Use this endpoint to unarchive an archived product price point.
+ Unarchives an archived product price point.
Args:
product_id (int): The Advanced Billing id of the product to which the
@@ -653,8 +653,7 @@ def list_all_product_price_points(self,
options=dict()):
"""Perform a GET request to /products_price_points.json.
- This method allows retrieval of a list of Products Price Points belonging to
- a Site.
+ Lists Product Price Points belonging to a site.
Args:
options (dict, optional): Key-value pairs for any of the parameters to
diff --git a/advancedbilling/controllers/products_controller.py b/advancedbilling/controllers/products_controller.py
index 8c1adaa..78e1c04 100644
--- a/advancedbilling/controllers/products_controller.py
+++ b/advancedbilling/controllers/products_controller.py
@@ -45,7 +45,7 @@ def create_product(self,
/product_families/{product_family_id}/products.json.
Creates a product in your Advanced Billing site.
- See the following product docuemation for more information:
+ See the following product documentation for more information:
+ [Products
Documentation](https://maxio.zendesk.com/hc/en-us/articles/24261090117645-Prod
ucts-Overview)
@@ -193,7 +193,7 @@ def archive_product(self,
product_id):
"""Perform a DELETE request to /products/{product_id}.json.
- Archives the product. All current subscribers will be unffected; their
+ Archives the product. All current subscribers will be unaffected; their
subscription/purchase will continue to be charged monthly.
This will restrict the option to chose the product for purchase via the
Billing Portal, as well as disable Public Signup Pages for the product.
@@ -274,7 +274,7 @@ def list_products(self,
options=dict()):
"""Perform a GET request to /products.json.
- This method allows to retrieve a list of Products belonging to a Site.
+ Lists products belonging to a site.
Args:
options (dict, optional): Key-value pairs for any of the parameters to
diff --git a/advancedbilling/controllers/proforma_invoices_controller.py b/advancedbilling/controllers/proforma_invoices_controller.py
index 20feabe..a3f781a 100644
--- a/advancedbilling/controllers/proforma_invoices_controller.py
+++ b/advancedbilling/controllers/proforma_invoices_controller.py
@@ -55,11 +55,11 @@ def create_consolidated_proforma_invoice(self,
"""Perform a POST request to
/subscription_groups/{uid}/proforma_invoices.json.
- This endpoint will trigger the creation of a consolidated proforma invoice
- asynchronously. It will return a 201 with no message, or a 422 with any
- errors. To find and view the new consolidated proforma invoice, you may poll
- the subscription group listing for proforma invoices; only one consolidated
- proforma invoice may be created per group at a time.
+ Creates a consolidated proforma invoice asynchronously. It will return a 201
+ with no message, or a 422 with any errors. To find and view the new
+ consolidated proforma invoice, you may poll the subscription group listing
+ for proforma invoices; only one consolidated proforma invoice may be created
+ per group at a time.
If the information becomes outdated, simply void the old consolidated
proforma invoice and generate a new one.
## Restrictions
@@ -96,7 +96,8 @@ def list_subscription_group_proforma_invoices(self,
"""Perform a GET request to
/subscription_groups/{uid}/proforma_invoices.json.
- Only proforma invoices with a `consolidation_level` of parent are returned.
+ Lists proforma invoices with a `consolidation_level` of parent for the
+ subscription group.
By default, proforma invoices returned on the index will only include totals,
not detailed breakdowns for `line_items`, `discounts`, `taxes`, `credits`,
`payments`, `custom_fields`. To include breakdowns, pass the specific field
@@ -168,7 +169,7 @@ def read_proforma_invoice(self,
"""Perform a GET request to
/proforma_invoices/{proforma_invoice_uid}.json.
- Use this endpoint to read the details of an existing proforma invoice.
+ Returns the details of an existing proforma invoice.
## Restrictions
Proforma invoices are only available on Relationship Invoicing sites.
@@ -209,9 +210,8 @@ def create_proforma_invoice(self,
"""Perform a POST request to
/subscriptions/{subscription_id}/proforma_invoices.json.
- This endpoint will create a proforma invoice and return it as a response. If
- the information becomes outdated, simply void the old proforma invoice and
- generate a new one.
+ Creates a proforma invoice and returns it as a response. If the information
+ becomes outdated, simply void the old proforma invoice and generate a new one.
If you would like to preview the next billing amounts without generating a
full proforma invoice, use the renewal preview endpoint.
## Restrictions
@@ -259,10 +259,10 @@ def list_proforma_invoices(self,
"""Perform a GET request to
/subscriptions/{subscription_id}/proforma_invoices.json.
- By default, proforma invoices returned on the index will only include totals,
- not detailed breakdowns for `line_items`, `discounts`, `taxes`, `credits`,
- `payments`, or `custom_fields`. To include breakdowns, pass the specific
- field as a key in the query with a value set to `true`.
+ Lists proforma invoices for a subscription. By default, results only include
+ totals, not detailed breakdowns for `line_items`, `discounts`, `taxes`,
+ `credits`, `payments`, or `custom_fields`. To include breakdowns, pass the
+ specific field as a key in the query with a value set to `true`.
Args:
options (dict, optional): Key-value pairs for any of the parameters to
@@ -368,8 +368,7 @@ def deliver_proforma_invoice(self,
"""Perform a POST request to
/proforma_invoices/{proforma_invoice_uid}/deliveries.json.
- Allows for proforma invoices to be programmatically delivered via email.
- Supports email
+ Delivers a proforma invoice programmatically via email. Supports email
delivery to direct recipients, carbon-copy (cc) recipients, and blind
carbon-copy (bcc) recipients.
If `recipient_emails` is omitted, the system will fall back to the primary
@@ -428,7 +427,7 @@ def void_proforma_invoice(self,
"""Perform a POST request to
/proforma_invoices/{proforma_invoice_uid}/void.json.
- This endpoint will void a proforma invoice that has the status "draft".
+ Voids a proforma invoice that has the status "draft".
## Restrictions
Proforma invoices are only available on Relationship Invoicing sites.
Only proforma invoices that have the appropriate status may be reopened. If
@@ -486,7 +485,7 @@ def preview_proforma_invoice(self,
"""Perform a POST request to
/subscriptions/{subscription_id}/proforma_invoices/preview.json.
- Return a preview of the data that will be included on a given subscription's
+ Returns a preview of the data that will be included on a given subscription's
proforma invoice if one were to be generated. It will have similar line items
and totals as a renewal preview, but the response will be presented in the
format of a proforma invoice. Consequently it will include additional
@@ -543,12 +542,11 @@ def create_signup_proforma_invoice(self,
body=None):
"""Perform a POST request to /subscriptions/proforma_invoices.json.
- This endpoint is only available for Relationship Invoicing sites. It cannot
+ Creates a proforma invoice to preview costs before a subscription's signup.
+ This endpoint is only available for Relationship Invoicing sites and cannot
be used to create consolidated proforma invoices or preview prepaid
- subscriptions.
- Create a proforma invoice to preview costs before a subscription's signup.
- Like other proforma invoices, it can be emailed to the customer, voided, and
- publicly viewed on the chargifypay domain.
+ subscriptions. Like other proforma invoices, it can be emailed to the
+ customer, voided, and publicly viewed on the chargifypay domain.
Pass a payload that resembles a subscription create or signup preview
request. For example, you can specify components, coupons/a referral, offers,
custom pricing, and an existing customer or payment profile to populate a
@@ -604,13 +602,12 @@ def preview_signup_proforma_invoice(self,
"""Perform a POST request to
/subscriptions/proforma_invoices/preview.json.
- This endpoint is only available for Relationship Invoicing sites. It cannot
- be used to create consolidated proforma invoice previews or preview prepaid
- subscriptions.
- Create a signup preview in the format of a proforma invoice to preview costs
- before a subscription's signup. You have the option of optionally previewing
- the first renewal's costs as well. The proforma invoice preview will not be
- persisted.
+ Creates a signup preview in the format of a proforma invoice to preview costs
+ before a subscription's signup. This endpoint is only available for
+ Relationship Invoicing sites and cannot be used to create consolidated
+ proforma invoice previews or preview prepaid subscriptions. You have the
+ option of previewing the first renewal's costs as well. The proforma invoice
+ preview will not be persisted.
Pass a payload that resembles a subscription create or signup preview
request. For example, you can specify components, coupons/a referral, offers,
custom pricing, and an existing customer or payment profile to populate a
diff --git a/advancedbilling/controllers/reason_codes_controller.py b/advancedbilling/controllers/reason_codes_controller.py
index e6d5ab7..0992f23 100644
--- a/advancedbilling/controllers/reason_codes_controller.py
+++ b/advancedbilling/controllers/reason_codes_controller.py
@@ -45,8 +45,9 @@ def create_reason_code(self,
body=None):
"""Perform a POST request to /reason_codes.json.
+ Creates a reason code for a given site.
# Reason Codes Intro
- ReasonCodes are a way to gain a high level view of why your customers are
+ Reason Codes are a way to gain a high-level view of why your customers are
cancelling the subscription to your product or service.
Add a set of churn reason codes to be displayed in-app and/or the Maxio
Billing Portal. As your subscribers decide to cancel their subscription,
@@ -58,8 +59,8 @@ def create_reason_code(self,
Codes](https://maxio.zendesk.com/hc/en-us/articles/24286647554701-Churn-Reason
-Codes)
## Create Reason Code
- This method gives a merchant the option to create a reason codes for a given
- Site.
+ This method gives a merchant the option to create reason codes for a given
+ site.
Args:
body (CreateReasonCodeRequest, optional): The request body parameter.
@@ -101,8 +102,7 @@ def list_reason_codes(self,
options=dict()):
"""Perform a GET request to /reason_codes.json.
- This method gives a merchant the option to retrieve a list of all of the
- current churn codes for a given site.
+ Lists all current churn codes for a given site.
Args:
options (dict, optional): Key-value pairs for any of the parameters to
@@ -160,8 +160,7 @@ def read_reason_code(self,
reason_code_id):
"""Perform a GET request to /reason_codes/{reason_code_id}.json.
- This method gives a merchant the option to retrieve a list of a particular
- code for a given Site by providing the unique numerical ID of the code.
+ Returns a particular churn reason code for a given site by its unique ID.
Args:
reason_code_id (int): The Advanced Billing id of the reason code
@@ -200,8 +199,7 @@ def update_reason_code(self,
body=None):
"""Perform a PUT request to /reason_codes/{reason_code_id}.json.
- This method gives a merchant the option to update an existing reason code for
- a given site.
+ Updates an existing reason code for a given site.
Args:
reason_code_id (int): The Advanced Billing id of the reason code
@@ -250,9 +248,8 @@ def delete_reason_code(self,
reason_code_id):
"""Perform a DELETE request to /reason_codes/{reason_code_id}.json.
- This method gives a merchant the option to delete one reason code from the
- Churn Reason Codes. This code will be immediately removed. This action is not
- reversible.
+ Deletes a reason code from the Churn Reason Codes. This code will be
+ immediately removed. This action is not reversible.
Args:
reason_code_id (int): The Advanced Billing id of the reason code
diff --git a/advancedbilling/controllers/referral_codes_controller.py b/advancedbilling/controllers/referral_codes_controller.py
index 3b9eb73..fed9ac1 100644
--- a/advancedbilling/controllers/referral_codes_controller.py
+++ b/advancedbilling/controllers/referral_codes_controller.py
@@ -39,9 +39,9 @@ def validate_referral_code(self,
code):
"""Perform a GET request to /referral_codes/validate.json.
- Use this method to determine if the referral code is valid and applicable
- within your Site. This method is useful for validating referral codes that
- are entered by a customer.
+ Validates whether a referral code is valid and applicable within your site.
+ This method is useful for validating referral codes that are entered by a
+ customer.
## Referrals Documentation
Full documentation on how to use the referrals feature in the Advanced
Billing UI can be located
diff --git a/advancedbilling/controllers/sales_commissions_controller.py b/advancedbilling/controllers/sales_commissions_controller.py
index 2abc623..ed75cf3 100644
--- a/advancedbilling/controllers/sales_commissions_controller.py
+++ b/advancedbilling/controllers/sales_commissions_controller.py
@@ -43,7 +43,7 @@ def list_sales_commission_settings(self,
"""Perform a GET request to
/sellers/{seller_id}/sales_commission_settings.json.
- Endpoint returns subscriptions with associated sales reps
+ Lists subscriptions with associated sales reps.
## Modified Authentication Process
The Sales Commission API differs from other Chargify API endpoints. This
resource is associated with the seller itself. Up to now all available
@@ -129,7 +129,7 @@ def list_sales_reps(self,
options=dict()):
"""Perform a GET request to /sellers/{seller_id}/sales_reps.json.
- Endpoint returns sales rep list with details
+ Returns a sales rep list with details.
## Modified Authentication Process
The Sales Commission API differs from other Chargify API endpoints. This
resource is associated with the seller itself. Up to now all available
@@ -221,7 +221,7 @@ def read_sales_rep(self,
"""Perform a GET request to
/sellers/{seller_id}/sales_reps/{sales_rep_id}.json.
- Endpoint returns sales rep and attached subscriptions details.
+ Returns a sales rep and attached subscription details.
## Modified Authentication Process
The Sales Commission API differs from other Chargify API endpoints. This
resource is associated with the seller itself. Up to now all available
diff --git a/advancedbilling/controllers/sites_controller.py b/advancedbilling/controllers/sites_controller.py
index 09e1340..6992c42 100644
--- a/advancedbilling/controllers/sites_controller.py
+++ b/advancedbilling/controllers/sites_controller.py
@@ -38,14 +38,14 @@ def __init__(self, config):
def read_site(self):
"""Perform a GET request to /site.json.
- This endpoint allows you to fetch some site data.
+ Retrieves site data.
Full documentation on Sites in the Advanced Billing UI can be located
[here](https://maxio.zendesk.com/hc/en-us/sections/24250550707085-Sites).
Specifically, the [Clearing Site
Data](https://maxio.zendesk.com/hc/en-us/articles/24250617028365-Clearing-Site
- -Data) section is extremely relevant to this endpoint documentation.
+ -Data) section is relevant to this endpoint documentation.
#### Relationship invoicing enabled
- If site has RI enabled then you will see more settings like:
+ If the site has RI enabled then you will see more settings like:
"customer_hierarchy_enabled": true,
"whopays_enabled": true,
"whopays_default_payer": "self"
@@ -81,10 +81,10 @@ def clear_site(self,
cleanup_scope="all"):
"""Perform a POST request to /sites/clear_data.json.
- This call is asynchronous and there may be a delay before the site data is
- fully deleted. If you are clearing site data for an automated test, you will
- need to build in a delay and/or check that there are no products, etc., in
- the site before proceeding.
+ Clears all data from a test site asynchronously. This call is asynchronous
+ and there may be a delay before the site data is fully deleted. If you are
+ clearing site data for an automated test, you will need to build in a delay
+ and/or check that there are no products, etc., in the site before proceeding.
**This functionality will only work on sites in TEST mode. Attempts to
perform this on sites in “live” mode will result in a response of 403
FORBIDDEN.**
@@ -119,7 +119,7 @@ def list_chargify_js_public_keys(self,
options=dict()):
"""Perform a GET request to /chargify_js_keys.json.
- This endpoint returns public keys used for Chargify.js.
+ Returns public keys used for Maxio.js (formerly Chargify.js).
Args:
options (dict, optional): Key-value pairs for any of the parameters to
diff --git a/advancedbilling/controllers/subscription_components_controller.py b/advancedbilling/controllers/subscription_components_controller.py
index 4f2e6e5..5eff145 100644
--- a/advancedbilling/controllers/subscription_components_controller.py
+++ b/advancedbilling/controllers/subscription_components_controller.py
@@ -74,8 +74,7 @@ def read_subscription_component(self,
"""Perform a GET request to
/subscriptions/{subscription_id}/components/{component_id}.json.
- This request will list information regarding a specific component owned by a
- subscription.
+ Returns information for a specific component on a subscription.
Args:
subscription_id (int): The Chargify id of the subscription.
@@ -121,7 +120,7 @@ def list_subscription_components(self,
"""Perform a GET request to
/subscriptions/{subscription_id}/components.json.
- This request will list a subscription's applied components.
+ Lists a subscription's applied components.
## Archived Components
When requesting to list components for a given subscription, if the
subscription contains **archived** components they will be listed in the
@@ -350,8 +349,8 @@ def allocate_component(self,
Prepaid Components.
When creating an allocation via the API, you can pass the `upgrade_charge`,
`downgrade_credit`, and `accrue_charge` to be applied.
- > **Note:** These proration and accural fields are ignored for Prepaid
- Components since this component type always generate charges immediately
+ > **Note:** These proration and accrual fields are ignored for Prepaid
+ Components since this component type always generates charges immediately
without proration.
For information on prorated components and upgrade/downgrade schemes, see
[Setting Component
@@ -375,7 +374,7 @@ def allocate_component(self,
> **Note:** Proration uses the current price of the component as well as the
current tax rates. Changes to either may cause the prorated charge/credit to
be wrong.
- For more informaiton see the [Component
+ For more information, see the [Component
Allocations](https://maxio.zendesk.com/hc/en-us/articles/24251883961485-Compon
ent-Allocations-Overview) product Documentation.
@@ -434,8 +433,7 @@ def list_allocations(self,
"""Perform a GET request to
/subscriptions/{subscription_id}/components/{component_id}/allocations.json.
- This endpoint returns the 50 most recent Allocations, ordered by most recent
- first.
+ Returns the 50 most recent Allocations, ordered by most recent first.
## On/Off Components
When a subscription's on/off component has been toggled to on (`1`) or off
(`0`), usage will be logged in this response.
@@ -499,7 +497,7 @@ def allocate_components(self,
/subscriptions/{subscription_id}/allocations.json.
Creates multiple allocations, sets the current allocated quantity for each of
- the components, and recording a memo. A `component_id` is required for each
+ the components, and records a memo. A `component_id` is required for each
allocation.
The charges and/or credits that are created will be rolled up into a single
total which is used to determine whether this is an upgrade or a downgrade.
@@ -521,9 +519,9 @@ def allocate_components(self,
> **Note:** Proration uses the current price of the component as well as the
current tax rates. Changes to either may cause the prorated charge/credit to
be wrong.
- For more informaiton see the [Component
+ For more information, see the [Component
Allocations](https://maxio.zendesk.com/hc/en-us/articles/24251883961485-Compon
- ent-Allocations-Overview) product Documentation.
+ ent-Allocations-Overview) product documentation.
Args:
subscription_id (int): The Chargify id of the subscription.
@@ -574,10 +572,10 @@ def preview_allocations(self,
"""Perform a POST request to
/subscriptions/{subscription_id}/allocations/preview.json.
- Advanced Billing offers the ability to preview a potential subscription's
- **quantity-based** or **on/off** component allocation in the middle of the
- current billing period. This is useful if you want users to be able to see
- the effect of a component operation before actually doing it.
+ Previews a potential subscription's **quantity-based** or **on/off**
+ component allocation in the middle of the current billing period. This is
+ useful if you want users to be able to see the effect of a component
+ operation before actually doing it.
## Fine-grained Component Control: Use with multiple `upgrade_charge`s or
`downgrade_credits`
When the allocation uses multiple different types of `upgrade_charge`s or
@@ -638,10 +636,9 @@ def update_prepaid_usage_allocation_expiration_date(self,
/subscriptions/{subscription_id}/components/{component_id}/allocations/{allocat
ion_id}.json.
- When the expiration interval options are selected on a prepaid usage
- component price point, all allocations will be created with an expiration
- date. This expiration date can be changed after the fact to allow for
- extending or shortening the allocation's active window.
+ Updates the expiration date for a prepaid usage allocation. This expiration
+ date can be changed after the fact to allow for extending or shortening the
+ allocation's active window.
In order to change a prepaid usage allocation's expiration date, a PUT call
must be made to the allocation's endpoint with a new expiration date.
## Limitations
@@ -705,9 +702,10 @@ def delete_prepaid_usage_allocation(self,
/subscriptions/{subscription_id}/components/{component_id}/allocations/{allocat
ion_id}.json.
+ Deletes a prepaid usage allocation.
Prepaid Usage components are unique in that their allocations are always
additive. In order to reduce a subscription's allocated quantity for a
- prepaid usage component each allocation must be destroyed individually via
+ prepaid usage component, each allocation must be destroyed individually via
this endpoint.
## Credit Scheme
By default, destroying an allocation will generate a service credit on the
@@ -782,13 +780,13 @@ def create_usage(self,
and-Archive-Components). Additionally, for information on how to record
component usage against a subscription, see the following resources:
It is not possible to record metered usage for more than one component at a
- time Usage should be reported as one API call per component on a single
+ time. Usage should be reported as one API call per component on a single
subscription. For example, to record that a subscriber has sent both an SMS
Message and an Email, send an API call for each.
- See the following product documention articles for more information:
+ See the following product documentation articles for more information:
- [Create and Manage
Components](https://maxio.zendesk.com/hc/en-us/articles/24261149711501-Create-
- Edit-and-Archive-Components). A
+ Edit-and-Archive-Components)
- [Recording Metered Component
Usage](https://maxio.zendesk.com/hc/en-us/articles/24251890500109-Reporting-Co
mponent-Allocations#reporting-metered-component-usage)
@@ -897,9 +895,9 @@ def list_usages(self,
/subscriptions/{subscription_id_or_reference}/components/{component_id}/usages.
json.
- This request will return a list of the usages associated with a subscription
- for a particular metered component. This will display the previously recorded
- components for a subscription.
+ Returns a list of usages associated with a subscription for a particular
+ metered component. This will display the previously recorded components for a
+ subscription.
This endpoint is not compatible with quantity-based components.
## Since Date and Until Date Usage
Note: The `since_date` and `until_date` attributes each default to midnight
@@ -1015,6 +1013,7 @@ def activate_event_based_component(self,
/event_based_billing/subscriptions/{subscription_id}/components/{component_id}/
activate.json.
+ Activates an event-based component for a single subscription.
In order to bill your subscribers on your Events data under the Events-Based
Billing feature, the components must be activated for the subscriber.
Learn more about the role of activation in the [Events-Based Billing
@@ -1072,9 +1071,9 @@ def deactivate_event_based_component(self,
/event_based_billing/subscriptions/{subscription_id}/components/{component_id}/
deactivate.json.
- Use this endpoint to deactivate an event-based component for a single
- subscription. Deactivating the event-based component causes Advanced Billing
- to ignore related events at subscription renewal.
+ Deactivates an event-based component for a single subscription. Deactivating
+ the event-based component causes Advanced Billing to ignore related events at
+ subscription renewal.
Args:
subscription_id (int): The Advanced Billing id of the subscription
@@ -1112,6 +1111,7 @@ def record_event(self,
body=None):
"""Perform a POST request to /events/{api_handle}.json.
+ Records a single event for Events-Based Billing.
## Documentation
Events-Based Billing is an evolved form of metered billing that is based on
data-rich events streamed in real-time from your system to Advanced Billing.
@@ -1175,7 +1175,7 @@ def bulk_record_events(self,
body=None):
"""Perform a POST request to /events/{api_handle}/bulk.json.
- Use this endpoint to record a collection of events.
+ Records a collection of events.
*Note: this endpoint differs from the standard Chargify API endpoints in that
the subdomain will be `events` and your site subdomain will be included in
the URL path.*
@@ -1224,7 +1224,7 @@ def list_subscription_components_for_site(self,
options=dict()):
"""Perform a GET request to /subscriptions_components.json.
- This request will list components applied to each subscription.
+ Lists components applied to each subscription.
Args:
options (dict, optional): Key-value pairs for any of the parameters to
diff --git a/advancedbilling/controllers/subscription_group_invoice_account_controller.py b/advancedbilling/controllers/subscription_group_invoice_account_controller.py
index 1dc0ac0..9c4a04c 100644
--- a/advancedbilling/controllers/subscription_group_invoice_account_controller.py
+++ b/advancedbilling/controllers/subscription_group_invoice_account_controller.py
@@ -56,9 +56,9 @@ def create_subscription_group_prepayment(self,
"""Perform a POST request to
/subscription_groups/{uid}/prepayments.json.
- A prepayment can be added for a subscription group identified by the group's
- `uid`. This endpoint requires a `amount`, `details`, `method`, and `memo`. On
- success, the prepayment will be added to the group's prepayment balance.
+ Adds a prepayment for a subscription group. This endpoint requires an
+ `amount`, `details`, `method`, and `memo`. On success, the prepayment will be
+ added to the group's prepayment balance.
Args:
uid (str): The uid of the subscription group
@@ -108,7 +108,7 @@ def list_prepayments_for_subscription_group(self,
"""Perform a GET request to
/subscription_groups/{uid}/prepayments.json.
- This request will list a subscription group's prepayments.
+ Lists a subscription group's prepayments.
Args:
options (dict, optional): Key-value pairs for any of the parameters to
@@ -177,10 +177,9 @@ def issue_subscription_group_service_credit(self,
"""Perform a POST request to
/subscription_groups/{uid}/service_credits.json.
- Credit can be issued for a subscription group identified by the group's
- `uid`. Credit will be added to the group in the amount specified in the
- request body. The credit will be applied to group member invoices as they are
- generated.
+ Issues service credit for a subscription group. Credit will be added to the
+ group in the amount specified in the request body. The credit will be applied
+ to group member invoices as they are generated.
Args:
uid (str): The uid of the subscription group
@@ -230,9 +229,8 @@ def deduct_subscription_group_service_credit(self,
"""Perform a POST request to
/subscription_groups/{uid}/service_credit_deductions.json.
- Credit can be deducted for a subscription group identified by the group's
- `uid`. Credit will be deducted from the group in the amount specified in the
- request body.
+ Deducts service credit for a subscription group. Credit will be deducted from
+ the group in the amount specified in the request body.
Args:
uid (str): The uid of the subscription group
diff --git a/advancedbilling/controllers/subscription_group_status_controller.py b/advancedbilling/controllers/subscription_group_status_controller.py
index 33571db..2250dee 100644
--- a/advancedbilling/controllers/subscription_group_status_controller.py
+++ b/advancedbilling/controllers/subscription_group_status_controller.py
@@ -85,9 +85,9 @@ def initiate_delayed_cancellation_for_group(self,
"""Perform a POST request to
/subscription_groups/{uid}/delayed_cancel.json.
- This endpoint will schedule all subscriptions within the specified group to
- be canceled at the end of their billing period. The group is identified by
- its uid passed in the URL.
+ Schedules all subscriptions within the specified group to be canceled at the
+ end of their billing period. The group is identified by its uid passed in the
+ URL.
All subscriptions in the group must be on automatic billing in order to
successfully cancel them, and the group must not be in a "past_due" state.
@@ -120,6 +120,7 @@ def cancel_delayed_cancellation_for_group(self,
"""Perform a DELETE request to
/subscription_groups/{uid}/delayed_cancel.json.
+ Removes the delayed cancellation on a subscription group.
Removing the delayed cancellation on a subscription group will ensure that
the subscriptions do not get canceled at the end of the period. The request
will reset the `cancel_at_end_of_period` flag to false on each member in the
@@ -155,12 +156,11 @@ def reactivate_subscription_group(self,
"""Perform a POST request to
/subscription_groups/{uid}/reactivate.json.
- This endpoint will attempt to reactivate or resume a cancelled subscription
- group. Upon reactivation, any canceled invoices created after the beginning
- of the primary subscription's billing period will be reopened and payment
- will be attempted on them. If the subscription group is being reactivated (as
- opposed to resumed), new charges will also be assessed for the new billing
- period.
+ Reactivates or resumes a cancelled subscription group. Upon reactivation, any
+ canceled invoices created after the beginning of the primary subscription's
+ billing period will be reopened and payment will be attempted on them. If the
+ subscription group is being reactivated (as opposed to resumed), new charges
+ will also be assessed for the new billing period.
Whether a subscription group is reactivated (a new billing period is created)
or resumed (the current billing period is respected) will depend on the
parameters that are sent with the request as well as the date of the request
@@ -169,10 +169,10 @@ def reactivate_subscription_group(self,
If a subscription group is cancelled and reactivated within the primary
subscription's current period, we can choose to either start a new billing
period or maintain the existing one. If we want to maintain the existing
- billing period the `resume=true` option must be passed in request parameters.
+ billing period, the `resume=true` option must be passed in request parameters.
An exception to the above are subscriptions that are on calendar billing.
These subscriptions cannot be reactivated within the current period. If the
- `resume=true` option is not passed the request will return an error.
+ `resume=true` option is not passed, the request will return an error.
The `resume_members` option is ignored in this case. All eligible group
members will be automatically resumed.
## Reactivating beyond the current period
@@ -187,6 +187,15 @@ def reactivate_subscription_group(self,
For calendar billing subscriptions, the new billing period created will be a
partial one, spanning from the date of reactivation to the next corresponding
calendar renewal date.
+ ## 3D Secure (3DS) Authentication post-authentication flow
+ When a payment requires 3DS Authentication to adhere to Strong Customer
+ Authentication (SCA), the request enters a post-authentication flow where a
+ 422 Unprocessable Entity status is returned with an action_link that will
+ direct the customer through 3DS Authentication.
+ See the [3D Secure Post-Authentication
+ Flow](https://docs.maxio.com/hc/en-us/articles/44277749524365-3D-Secure-Post-A
+ uthentication-Flow) article in the product documentation to learn how to
+ manage the redirect flow.
Args:
uid (str): The uid of the subscription group
diff --git a/advancedbilling/controllers/subscription_groups_controller.py b/advancedbilling/controllers/subscription_groups_controller.py
index e5339eb..8aa2b91 100644
--- a/advancedbilling/controllers/subscription_groups_controller.py
+++ b/advancedbilling/controllers/subscription_groups_controller.py
@@ -63,8 +63,8 @@ def signup_with_subscription_group(self,
body=None):
"""Perform a POST request to /subscription_groups/signup.json.
- Create multiple subscriptions at once under the same customer and consolidate
- them into a subscription group.
+ Creates multiple subscriptions at once under the same customer and
+ consolidates them into a subscription group.
You must provide one and only one of the
`payer_id`/`payer_reference`/`payer_attributes` for the customer attached to
the group.
@@ -72,13 +72,13 @@ def signup_with_subscription_group(self,
`payment_profile_id`/`credit_card_attributes`/`bank_account_attributes` for
the payment profile attached to the group.
Only one of the `subscriptions` can have `"primary": true` attribute set.
- When passing product to a subscription you can use either `product_id` or
+ When passing a product to a subscription you can use either `product_id` or
`product_handle` or `offer_id`. You can also use `custom_price` instead.
The subscription request examples below will be split into two sections.
The first section, "Subscription Customization", will focus on passing
different information with a subscription, such as components, calendar
billing, and custom fields. These examples will presume you are using a
- secure chargify_token generated by Chargify.js.
+ secure chargify_token generated by Maxio.js (formerly Chargify.js).
Args:
body (SubscriptionGroupSignupRequest, optional): The request body
@@ -233,7 +233,7 @@ def read_subscription_group(self,
include=None):
"""Perform a GET request to /subscription_groups/{uid}.json.
- Use this endpoint to find subscription group details.
+ Returns subscription group details.
#### Current Billing Amount in Cents
Current billing amount for the subscription group is not returned by default.
If this information is desired, the
@@ -283,11 +283,11 @@ def update_subscription_group_members(self,
body=None):
"""Perform a PUT request to /subscription_groups/{uid}.json.
- Use this endpoint to update subscription group members.
+ Updates subscription group members.
`"member_ids"` should contain an array of both subscription IDs to set as
group members and subscription IDs already present in the groups. Not
- including them will result in removing them from subscription group. To clean
- up members, just leave the array empty.
+ including them will result in removing them from the subscription group. To
+ clean up members, just leave the array empty.
Args:
uid (str): The uid of the subscription group
@@ -375,8 +375,8 @@ def find_subscription_group(self,
subscription_id):
"""Perform a GET request to /subscription_groups/lookup.json.
- Use this endpoint to find subscription group associated with subscription.
- If the subscription is not in a group endpoint will return 404 code.
+ Finds the subscription group associated with a subscription.
+ If the subscription is not in a group, the endpoint will return a 404 code.
Args:
subscription_id (str): The Advanced Billing id of the subscription
@@ -495,7 +495,7 @@ def remove_subscription_from_group(self,
illing-Invoices-Overview) and [Customer
Hierarchy](https://maxio.zendesk.com/hc/en-us/articles/24252185211533-Customer
-Hierarchies-WhoPays#customer-hierarchies) features, it is possible to remove
- existing subscription from subscription group.
+ an existing subscription from a subscription group.
Args:
subscription_id (int): The Chargify id of the subscription.
diff --git a/advancedbilling/controllers/subscription_invoice_account_controller.py b/advancedbilling/controllers/subscription_invoice_account_controller.py
index dfd92c8..b95d5d7 100644
--- a/advancedbilling/controllers/subscription_invoice_account_controller.py
+++ b/advancedbilling/controllers/subscription_invoice_account_controller.py
@@ -105,7 +105,7 @@ def create_prepayment(self,
"""Perform a POST request to
/subscriptions/{subscription_id}/prepayments.json.
- ## Create Prepayment
+ Creates a prepayment for a subscription.
In order to specify a prepayment made against a subscription, specify the
`amount, memo, details, method`.
When the `method` specified is `"credit_card_on_file"`, the prepayment amount
@@ -113,6 +113,15 @@ def create_prepayment(self,
to the prepayment account balance. This is especially useful for manual
replenishment of prepaid subscriptions.
Note that passing `amount_in_cents` is now allowed.
+ ## 3D Secure (3DS) Authentication post-authentication flow
+ When a payment requires 3DS Authentication to adhere to Strong Customer
+ Authentication (SCA), the request enters a post-authentication flow where a
+ 422 Unprocessable Entity status is returned with an action_link that will
+ direct the customer through 3DS Authentication.
+ See the [3D Secure Post-Authentication
+ Flow](https://docs.maxio.com/hc/en-us/articles/44277749524365-3D-Secure-Post-A
+ uthentication-Flow) article in the product documentation to learn how to
+ manage the redirect flow.
Args:
subscription_id (int): The Chargify id of the subscription.
@@ -161,7 +170,7 @@ def list_prepayments(self,
"""Perform a GET request to
/subscriptions/{subscription_id}/prepayments.json.
- This request will list a subscription's prepayments.
+ Lists a subscription's prepayments.
Args:
options (dict, optional): Key-value pairs for any of the parameters to
@@ -230,9 +239,8 @@ def issue_service_credit(self,
"""Perform a POST request to
/subscriptions/{subscription_id}/service_credits.json.
- Credit will be added to the subscription in the amount specified in the
- request body. The credit is subsequently applied to the next generated
- invoice.
+ Adds a service credit to the subscription in the specified amount. The credit
+ is subsequently applied to the next generated invoice.
Args:
subscription_id (int): The Chargify id of the subscription.
@@ -282,9 +290,9 @@ def deduct_service_credit(self,
"""Perform a POST request to
/subscriptions/{subscription_id}/service_credit_deductions.json.
- Credit will be removed from the subscription in the amount specified in the
- request body. The credit amount being deducted must be equal to or less than
- the current credit balance.
+ Deducts a service credit from the subscription in the specified amount. The
+ credit amount being deducted must be equal to or less than the current credit
+ balance.
Args:
subscription_id (int): The Chargify id of the subscription.
@@ -325,7 +333,7 @@ def list_service_credits(self,
"""Perform a GET request to
/subscriptions/{subscription_id}/service_credits/list.json.
- This request will list a subscription's service credits.
+ Lists a subscription's service credits.
Args:
subscription_id (int): The Chargify id of the subscription.
@@ -392,10 +400,10 @@ def refund_prepayment(self,
"""Perform a POST request to
/subscriptions/{subscription_id}/prepayments/{prepayment_id}/refunds.json.
- This endpoint will refund, completely or partially, a particular prepayment
- applied to a subscription. The `prepayment_id` will be the account
- transaction ID of the original payment. The prepayment must have some amount
- remaining in order to be refunded.
+ Refunds a prepayment applied to a subscription, either fully or partially.
+ The `prepayment_id` will be the account transaction ID of the original
+ payment. The prepayment must have some amount remaining in order to be
+ refunded.
The amount may be passed either as a decimal, with `amount`, or an integer in
cents, with `amount_in_cents`.
diff --git a/advancedbilling/controllers/subscription_notes_controller.py b/advancedbilling/controllers/subscription_notes_controller.py
index 56d2095..5108d88 100644
--- a/advancedbilling/controllers/subscription_notes_controller.py
+++ b/advancedbilling/controllers/subscription_notes_controller.py
@@ -41,7 +41,7 @@ def create_subscription_note(self,
"""Perform a POST request to
/subscriptions/{subscription_id}/notes.json.
- Use the following method to create a note for a subscription.
+ Creates a note for a subscription.
## How to Use Subscription Notes
Notes allow you to record information about a particular Subscription in a
free text format.
@@ -100,8 +100,8 @@ def list_subscription_notes(self,
"""Perform a GET request to
/subscriptions/{subscription_id}/notes.json.
- Use this method to retrieve a list of Notes associated with a Subscription.
- The response will be an array of Notes.
+ Retrieves a list of notes associated with a subscription. The response will
+ be an array of Notes.
Args:
options (dict, optional): Key-value pairs for any of the parameters to
@@ -167,8 +167,7 @@ def read_subscription_note(self,
"""Perform a GET request to
/subscriptions/{subscription_id}/notes/{note_id}.json.
- Once you have obtained the ID of the note you wish to read, use this method
- to show a particular note attached to a subscription.
+ Retrieves a specific note attached to a subscription.
Args:
subscription_id (int): The Chargify id of the subscription.
@@ -214,7 +213,7 @@ def update_subscription_note(self,
"""Perform a PUT request to
/subscriptions/{subscription_id}/notes/{note_id}.json.
- Use the following method to update a note for a Subscription.
+ Updates a note for a subscription.
Args:
subscription_id (int): The Chargify id of the subscription.
diff --git a/advancedbilling/controllers/subscription_products_controller.py b/advancedbilling/controllers/subscription_products_controller.py
index 7ed8208..78e286a 100644
--- a/advancedbilling/controllers/subscription_products_controller.py
+++ b/advancedbilling/controllers/subscription_products_controller.py
@@ -44,6 +44,7 @@ def migrate_subscription_product(self,
"""Perform a POST request to
/subscriptions/{subscription_id}/migrations.json.
+ Migrates a subscription to a different product.
In order to create a migration, you must pass the `product_id` or
`product_handle` in the object when you send a POST request. You may also
pass either a `product_price_point_id` or `product_price_point_handle` to
@@ -64,76 +65,17 @@ def migrate_subscription_product(self,
[here](https://maxio.zendesk.com/hc/en-us/articles/24181589372429-Data-Migrati
on-to-Advanced-Billing).
## Failed Migrations
- Importaint note: One of the most common ways that a migration can fail is
- when the attempt is made to migrate a subscription to its current product.
- ## Migration 3D Secure - Stripe
- When a payment requires 3D Secure Authentication to adhear to Strong Customer
- Authentication (SCA) when the subscription is migrated to a new product, the
- request enters a [post-authentication
- flow](https://maxio.zendesk.com/hc/en-us/articles/24176278996493-Testing-Imple
- menting-3D-Secure#psd2-flows-pre-authentication-and-post-authentication). The
- server returns `422 Unprocessable Entity` in this case with the following
- response:
- ```json
- {
- "errors": [
- "Your card was declined. This transaction requires 3D secure
- authentication."
- ],
- "gateway_payment_id": "pi_1F0aGoJ2UDb3Q4av7zU3sHPh",
- "description": "This card requires 3D secure authentication. Redirect the
- customer to the URL from the action_link attribute to authenticate. Attach
- callback_url param to this URL if you want to be notified about the result of
- 3D Secure authentication. Attach redirect_url param to this URL if you want
- to redirect a customer back to your page after 3D Secure authentication.
- Example:
- https://mysite.chargify.com/3d-secure/pi_1FCm4RKDeye4C0XfbqquXRYm?one_time_tok
- en_id=128&callback_url=https://localhost:4000&redirect_url=https://yourpage.co
- m will do a POST request to https://localhost:4000 after payment is
- authenticated and will redirect a customer to https://yourpage.com after 3DS
- authentication.",
- "action_link":
- "http://acme.chargify.com/3d-secure/pi_1F0aGoJ2UDb3Q4av7zU3sHPh?one_time_token
- _id=242"
- }
- ```
- To let the customer go through 3D Secure Authentication, they need to be
- redirected to the URL specified in `action_link`.
- Optionally, you can specify `callback_url` parameter in the `action_link` URL
- if you’d like to be notified about the result of 3D Secure Authentication.
- The `callback_url` will return the following information:
- - whether the authentication was successful (`success`)
- - the gateway ID for the payment (`gateway_payment_id`)
- - the subscription ID (`subscription_id`)
- Lastly, you can also specify a `redirect_url` within the `action_link` URL if
- you’d like to redirect a customer back to your site.
- It is not possible to use `action_link` in an iframe inside a custom
- application. You have to redirect the customer directly to the `action_link`,
- then, to be notified about the result, use `redirect_url` or `callback_url`.
- The final URL that you send a customer to to complete 3D Secure may resemble
- the following, where the first half is the `action_link` and the second half
- contains a `redirect_url` and `callback_url`:
- `https://mysite.chargify.com/3d-secure/pi_1FCm4RKDeye4C0XfbqquXRYm?one_time_to
- ken_id=128&callback_url=https://localhost:4000&redirect_url=https://yourpage.c
- om`
- ### Example Redirect Flow
- You may wish to redirect customers to different pages depending on whether
- SCA was performed successfully. Here's an example flow to use as a reference:
- 1. Create a migration via API; it requires 3DS
- 2. You receive a `gateway_payment_id` in the `action_link` along other params
- in the response.
- 3. Use this `gateway_payment_id` to, for example, connect with your internal
- resources or generate a session_id
- 4. Include 1 of those attributes inside the `callback_url` and `redirect_url`
- to be aware which “session” this applies to
- 5. Redirect the customer to the `action_link` with `callback_url` and
- `redirect_url` applied
- 6. After the customer finishes 3DS authentication, we let you know the result
- by making a request to applied `callback_url`.
- 7. After that, we redirect the customer to the `redirect_url`; at this point
- the result of authentication is known
- 8. Optionally, you can use the applied "msg" param in the `redirect_url` to
- determine whether it was successful or not.
+ Important note: One of the most common ways that a migration can fail is when
+ the attempt is made to migrate a subscription to its current product.
+ ## 3D Secure (3DS) Authentication post-authentication flow
+ When a payment requires 3DS Authentication to adhere to Strong Customer
+ Authentication (SCA), the request enters a post-authentication flow where a
+ 422 Unprocessable Entity status is returned with an action_link that will
+ direct the customer through 3DS Authentication.
+ See the [3D Secure Post-Authentication
+ Flow](https://docs.maxio.com/hc/en-us/articles/44277749524365-3D-Secure-Post-A
+ uthentication-Flow) article in the product documentation to learn how to
+ manage the redirect flow.
Args:
subscription_id (int): The Chargify id of the subscription.
@@ -184,10 +126,12 @@ def preview_subscription_product_migration(self,
"""Perform a POST request to
/subscriptions/{subscription_id}/migrations/preview.json.
+ Previews the charges resulting from migrating a subscription to a different
+ product.
## Previewing a future date
It is also possible to preview the migration for a date in the future, as
long as it's still within the subscription's current billing period, by
- passing a `proration_date` along with the request (eg: `"proration_date":
+ passing a `proration_date` along with the request (e.g., `"proration_date":
"2020-12-18T18:25:43.511Z"`).
This will calculate the prorated adjustment, charge, payment and credit
applied values assuming the migration is done at that date in the future as
diff --git a/advancedbilling/controllers/subscription_status_controller.py b/advancedbilling/controllers/subscription_status_controller.py
index 70f98eb..5fc0e3d 100644
--- a/advancedbilling/controllers/subscription_status_controller.py
+++ b/advancedbilling/controllers/subscription_status_controller.py
@@ -49,12 +49,17 @@ def retry_subscription(self,
"""Perform a PUT request to
/subscriptions/{subscription_id}/retry.json.
- Advanced Billing offers the ability to retry collecting the balance due on a
- past due Subscription without waiting for the next scheduled attempt.
- ## Successful Reactivation
- The response will be `200 OK` with the updated Subscription.
- ## Failed Reactivation
- The response will be `422 "Unprocessable Entity`.
+ Retries collecting the balance due on a past-due subscription without waiting
+ for the next scheduled attempt.
+ ## 3D Secure (3DS) Authentication post-authentication flow
+ When a payment requires 3DS Authentication to adhere to Strong Customer
+ Authentication (SCA), the request enters a post-authentication flow where a
+ 422 Unprocessable Entity status is returned with an action_link that will
+ direct the customer through 3DS Authentication.
+ See the [3D Secure Post-Authentication
+ Flow](https://docs.maxio.com/hc/en-us/articles/44277749524365-3D-Secure-Post-A
+ uthentication-Flow) article in the product documentation to learn how to
+ manage the redirect flow.
Args:
subscription_id (int): The Chargify id of the subscription.
@@ -151,7 +156,7 @@ def resume_subscription(self,
"""Perform a POST request to
/subscriptions/{subscription_id}/resume.json.
- Resume a paused (on-hold) subscription. If the normal next renewal date has
+ Resumes a paused (on-hold) subscription. If the normal next renewal date has
not passed, the subscription will return to active and will renew on that
date. Otherwise, it will behave like a reactivation, setting the billing
date to 'now' and charging the subscriber.
@@ -203,7 +208,7 @@ def pause_subscription(self,
"""Perform a POST request to
/subscriptions/{subscription_id}/hold.json.
- This will place the subscription in the on_hold state and it will not renew.
+ Places the subscription on hold, preventing it from renewing.
## Limitations
You may not place a subscription on hold if the `next_billing_at` date is
within 24 hours.
@@ -255,12 +260,11 @@ def update_automatic_subscription_resumption(self,
body=None):
"""Perform a PUT request to /subscriptions/{subscription_id}/hold.json.
- Once a subscription has been paused / put on hold, you can update the date
- which was specified to automatically resume the subscription.
+ Updates the date on which a paused subscription will automatically resume.
To update a subscription's resume date, use this method to change or update
the `automatically_resume_at` date.
### Remove the resume date
- Alternately, you can change the `automatically_resume_at` to `null` if you
+ Alternatively, you can change the `automatically_resume_at` to `null` if you
would like the subscription to not have a resume date.
Args:
@@ -311,7 +315,7 @@ def reactivate_subscription(self,
"""Perform a PUT request to
/subscriptions/{subscription_id}/reactivate.json.
- Reactivate a previously canceled subscription. For details on how the
+ Reactivates a previously canceled subscription. For details on how the
reactivation works, and how to reactivate subscriptions through the
application, see
[reactivation](https://maxio.zendesk.com/hc/en-us/articles/24252109503629-Reac
@@ -342,10 +346,10 @@ def reactivate_subscription(self,
been the next billing date of July 1st, then Advanced Billing would not
resume the subscription, and instead it would be reactivated with a new
billing period.
- If a reactivation with `resume: false`, or where 'resume" is omited were
+ If a reactivation with `resume: false`, or where 'resume' is omitted were
attempted, then Advanced Billing would reactivate the subscription with a new
billing period regardless of whether or not resuming the previous billing
- period were possible.
+ period was possible.
| Canceled | Reactivation | Resumable? |
|---|---|---|
| Jun 15 | June 28 | Yes |
@@ -449,6 +453,15 @@ def reactivate_subscription(self,
+ The subscription will transition to active
+ The next billing date should not have changed
+ Any product-related charges should have been collected
+ ## 3D Secure (3DS) Authentication post-authentication flow
+ When a payment requires 3DS Authentication to adhere to Strong Customer
+ Authentication (SCA), the request enters a post-authentication flow where a
+ 422 Unprocessable Entity status is returned with an action_link that will
+ direct the customer through 3DS Authentication.
+ See the [3D Secure Post-Authentication
+ Flow](https://docs.maxio.com/hc/en-us/articles/44277749524365-3D-Secure-Post-A
+ uthentication-Flow) article in the product documentation to learn how to
+ manage the redirect flow.
Args:
subscription_id (int): The Chargify id of the subscription.
@@ -551,9 +564,9 @@ def cancel_delayed_cancellation(self,
"""Perform a DELETE request to
/subscriptions/{subscription_id}/delayed_cancel.json.
- Removing the delayed cancellation on a subscription will ensure that it
- doesn't get canceled at the end of the period that it is in. The request will
- reset the `cancel_at_end_of_period` flag to `false`.
+ Removes the delayed cancellation from a subscription, ensuring it is not
+ canceled at the end of the current period. The request will reset the
+ `cancel_at_end_of_period` flag to `false`.
This endpoint is idempotent. If the subscription was not set to cancel in the
future, removing the delayed cancellation has no effect and the call will be
successful.
@@ -595,8 +608,7 @@ def cancel_dunning(self,
"""Perform a POST request to
/subscriptions/{subscription_id}/cancel_dunning.json.
- If a subscription is currently in dunning, the subscription will be set to
- active and the active Dunner will be resolved.
+ Cancels the active dunning process for a subscription and sets it to active.
Args:
subscription_id (int): The Chargify id of the subscription.
@@ -639,10 +651,10 @@ def preview_renewal(self,
"""Perform a POST request to
/subscriptions/{subscription_id}/renewals/preview.json.
- The Chargify API allows you to preview a renewal by posting to the renewals
- endpoint. Renewal Preview is an object representing a subscription’s next
- assessment. You can retrieve it to see a snapshot of how much your customer
- will be charged on their next renewal.
+ Previews a subscription’s next renewal assessment. Renewal Preview is an
+ object representing a subscription’s next assessment. You can retrieve it to
+ see a snapshot of how much your customer will be charged on their next
+ renewal.
The "Next Billing" amount and "Next Billing" date are already represented in
the UI on each Subscriber's Summary. For more information, see our
documentation
diff --git a/advancedbilling/controllers/subscriptions_controller.py b/advancedbilling/controllers/subscriptions_controller.py
index 96542c5..7f73e29 100644
--- a/advancedbilling/controllers/subscriptions_controller.py
+++ b/advancedbilling/controllers/subscriptions_controller.py
@@ -63,15 +63,19 @@ def create_subscription(self,
body=None):
"""Perform a POST request to /subscriptions.json.
- Creates a Subscription for a customer and product
+ Creates a Subscription for a customer and product.
Specify the product with `product_id` or `product_handle`. To set a specific
- product pricepPoint, use `product_price_point_handle` or
+ product price point, use `product_price_point_handle` or
`product_price_point_id`.
Identify an existing customer with `customer_id` or `customer_reference`.
Optionally, include an existing payment profile using `payment_profile_id`.
To create a new customer, pass customer_attributes.
Select an option from the **Request Examples** drop-down on the right side of
the portal to see examples of common scenarios for creating subscriptions.
+ See the [Subscription
+ Signups](page:introduction/basic-concepts/subscription-signup) article for
+ more information on working with subscriptions in Advanced Billing.
+ ## Payment information
Payment information may be required to create a subscription, depending on
the options for the Product being subscribed. See [product
options](https://docs.maxio.com/hc/en-us/articles/24261076617869-Edit-Products
@@ -85,13 +89,19 @@ def create_subscription(self,
Note that collecting and sending raw card details in production requires [PCI
compliance](https://docs.maxio.com/hc/en-us/articles/24183956938381-PCI-Compli
ance#pci-compliance-0-0) on your end. If your business is not PCI compliant,
- use
- [Chargify.js](https://docs.maxio.com/hc/en-us/articles/38163190843789-Chargify
+ use [Maxio.js (formerly
+ Chargify.js)](https://docs.maxio.com/hc/en-us/articles/38163190843789-Chargify
-js-Overview#chargify-js-overview-0-0) to collect credit card or bank account
information.
- See the [Subscription
- Signups](page:introduction/basic-concepts/subscription-signup) article for
- more information on working with subscriptions in Advanced Billing.
+ ## 3D Secure (3DS) Authentication post-authentication flow
+ When a payment requires 3DS Authentication to adhere to Strong Customer
+ Authentication (SCA), the request enters a post-authentication flow where a
+ 422 Unprocessable Entity status is returned with an action_link that will
+ direct the customer through 3DS Authentication.
+ See the [3D Secure Post-Authentication
+ Flow](https://docs.maxio.com/hc/en-us/articles/44277749524365-3D-Secure-Post-A
+ uthentication-Flow) article in the product documentation to learn how to
+ manage the redirect flow.
Args:
body (CreateSubscriptionRequest, optional): The request body parameter.
@@ -133,7 +143,7 @@ def list_subscriptions(self,
options=dict()):
"""Perform a GET request to /subscriptions.json.
- returns an array of subscriptions from a Site. Pay close attention to query
+ Returns an array of subscriptions from a Site. Pay close attention to query
string filters and pagination in order to control responses from the server.
## Search for a subscription
Use the query strings below to search for a subscription using the criteria
@@ -338,26 +348,26 @@ def update_subscription(self,
> **Note:** To cancel a delayed product change, set `next_product_id` to an
empty string.
## Billing Date Changes
- You can update dates for a subscrption.
+ You can update dates for a subscription.
### Regular Billing Date Changes
Send the `next_billing_at` to set the next billing date for the subscription.
After that date passes and the subscription is processed, the following
billing date will be set according to the subscription's product period.
> Note: If you pass an invalid date, the correct date is automatically set to
- he correct date. For example, if February 30 is passed, the next billing
+ the correct date. For example, if February 30 is passed, the next billing
would be set to March 2nd in a non-leap year.
The server response will not return data under the key/value pair of
`next_billing_at`. View the key/value pair of `current_period_ends_at` to
verify that the `next_billing_at` date has been changed successfully.
- ### Calendar Billing and Snap Day Changes
+ ### Calendar Billing and Snap Day Changes
For a subscription using Calendar Billing, setting the next billing date is a
bit different. Send the `snap_day` attribute to change the calendar billing
date for **a subscription using a product eligible for calendar billing**.
> Note: If you change the product associated with a subscription that
contains a `snap_day` and immediately `READ/GET` the subscription data, it
- will still contain original `snap_day`. The `snap_day`will will reset to
- 'null on the next billing cycle. This is because a product change is
- instantanous and only affects the product associated with a subscription.
+ will still contain original `snap_day`. The `snap_day` will reset to null on
+ the next billing cycle. This is because a product change is instantaneous and
+ only affects the product associated with a subscription.
Args:
subscription_id (int): The Chargify id of the subscription.
@@ -456,10 +466,9 @@ def override_subscription(self,
"""Perform a PUT request to
/subscriptions/{subscription_id}/override.json.
- This API endpoint allows you to set certain subscription fields that are
- usually managed for you automatically. Some of the fields can be set via the
- normal Subscriptions Update API, but others can only be set using this
- endpoint.
+ Sets certain subscription fields that are usually managed automatically. Some
+ of the fields can be set via the normal Subscriptions Update API, but others
+ can only be set using this endpoint.
This endpoint is provided for cases where you need to “align” Advanced
Billing data with data that happened in your system, perhaps before you
started using Advanced Billing. For example, you may choose to import your
@@ -525,7 +534,7 @@ def find_subscription(self,
reference=None):
"""Perform a GET request to /subscriptions/lookup.json.
- Use this endpoint to find a subscription by its reference.
+ Finds a subscription by its reference.
Args:
reference (str, optional): Subscription reference
@@ -564,7 +573,7 @@ def purge_subscription(self,
"""Perform a POST request to
/subscriptions/{subscription_id}/purge.json.
- For sites in test mode, you may purge individual subscriptions.
+ Purges an individual subscription for sites in test mode.
Provide the subscription ID in the url. To confirm, supply the customer ID
in the query string `ack` parameter. You may also delete the customer record
and/or payment profiles by passing `cascade` parameters. For example, to
@@ -629,7 +638,7 @@ def update_prepaid_subscription_configuration(self,
"""Perform a POST request to
/subscriptions/{subscription_id}/prepaid_configurations.json.
- Use this endpoint to update a subscription's prepaid configuration.
+ Updates a subscription's prepaid configuration.
Args:
subscription_id (int): The Chargify id of the subscription.
@@ -678,8 +687,8 @@ def preview_subscription(self,
body=None):
"""Perform a POST request to /subscriptions/preview.json.
- The Chargify API allows you to preview a subscription by POSTing the same
- JSON or XML as for a subscription creation.
+ Previews a subscription by POSTing the same JSON or XML as for a subscription
+ creation.
The "Next Billing" amount and "Next Billing" date are represented in each
Subscriber's Summary.
A subscription will not be created by utilizing this endpoint; it is meant to
@@ -751,6 +760,7 @@ def apply_coupons_to_subscription(self,
"""Perform a POST request to
/subscriptions/{subscription_id}/add_coupon.json.
+ Applies one or more coupon codes to an existing subscription.
An existing subscription can accommodate multiple discounts/coupon codes.
This is only applicable if each coupon is stackable. For more information on
stackable coupons, we recommend reviewing our [coupon
@@ -818,9 +828,9 @@ def remove_coupon_from_subscription(self,
"""Perform a DELETE request to
/subscriptions/{subscription_id}/remove_coupon.json.
- Use this endpoint to remove a coupon from an existing subscription.
- For more information on the expected behaviour of removing a coupon from a
- subscription, See our documentation
+ Removes a coupon from an existing subscription.
+ For more information on the expected behavior of removing a coupon from a
+ subscription, see our documentation
[here.](https://maxio.zendesk.com/hc/en-us/articles/24261259337101-Coupons-and
-Subscriptions#removing-a-coupon)
@@ -865,9 +875,9 @@ def activate_subscription(self,
"""Perform a PUT request to
/subscriptions/{subscription_id}/activate.json.
- Advanced Billing offers the ability to activate awaiting signup and trialing
- subscriptions. This feature is only available on the Relationship Invoicing
- architecture. Subscriptions in a group may not be activated immediately.
+ Activates awaiting signup and trialing subscriptions. This feature is only
+ available on the Relationship Invoicing architecture. Subscriptions in a
+ group may not be activated immediately.
For details on how the activation works, and how to activate subscriptions
through the application, see [activation](#).
The `revert_on_failure` parameter controls the behavior upon activation
diff --git a/advancedbilling/controllers/webhooks_controller.py b/advancedbilling/controllers/webhooks_controller.py
index 1b1a0c5..6685516 100644
--- a/advancedbilling/controllers/webhooks_controller.py
+++ b/advancedbilling/controllers/webhooks_controller.py
@@ -54,10 +54,9 @@ def list_webhooks(self,
options=dict()):
"""Perform a GET request to /webhooks.json.
- Allows you to view a list of webhooks. You can pass query parameters if you
- want to filter webhooks. See the
- [Webhooks](page:introduction/webhooks/webhooks) documentation for more
- information.
+ Retrieves a list of webhooks. You can pass query parameters if you want to
+ filter webhooks. See the [Webhooks](page:introduction/webhooks/webhooks)
+ documentation for more information.
Args:
options (dict, optional): Key-value pairs for any of the parameters to
@@ -136,7 +135,7 @@ def enable_webhooks(self,
body=None):
"""Perform a PUT request to /webhooks/settings.json.
- Allows you to enable webhooks for your site
+ Enables webhooks for your site.
Args:
body (EnableWebhooksRequest, optional): The request body parameter.
@@ -215,7 +214,7 @@ def create_endpoint(self,
body=None):
"""Perform a POST request to /endpoints.json.
- Creates an endpoint and assigns a list of webhooks subscriptions (events) to
+ Creates an endpoint and assigns a list of webhook subscriptions (events) to
it.
See the [Webhooks
Reference](page:introduction/webhooks/webhooks-reference#events) page for
@@ -298,7 +297,7 @@ def update_endpoint(self,
Always send a complete list of events to which you want to subscribe. Sending
a PUT request for an existing endpoint with an empty list of
`webhook_subscriptions` will unsubscribe all events.
- If you want unsubscribe from a specific event, send a list of
+ If you want to unsubscribe from a specific event, send a list of
`webhook_subscriptions` without the specific event key.
Args:
diff --git a/advancedbilling/models/__init__.py b/advancedbilling/models/__init__.py
index 789478e..c5fb95c 100644
--- a/advancedbilling/models/__init__.py
+++ b/advancedbilling/models/__init__.py
@@ -74,6 +74,8 @@
"change_invoice_status_event_data",
"chargeback_status",
"chargify_ebb",
+ "chjs_tokenization_failure",
+ "chjs_tokenization_success",
"cleanup_scope",
"clone_component_price_point",
"clone_component_price_point_request",
@@ -376,6 +378,7 @@
"payment_method_external",
"payment_method_paypal",
"payment_profile_attributes",
+ "payment_profile_params",
"payment_profile_response",
"payment_related_events",
"payment_type",
@@ -554,6 +557,7 @@
"tax_configuration",
"tax_configuration_kind",
"tax_destination_address",
+ "tokenized_payment_profile",
"too_many_management_link_requests",
"trial_type",
"update_allocation_expiration_date",
diff --git a/advancedbilling/models/activate_event_based_component.py b/advancedbilling/models/activate_event_based_component.py
index f2c6e6b..d265360 100644
--- a/advancedbilling/models/activate_event_based_component.py
+++ b/advancedbilling/models/activate_event_based_component.py
@@ -19,10 +19,10 @@ class ActivateEventBasedComponent(object):
Attributes:
price_point_id (int): The Chargify id of the price point
- billing_schedule (BillingSchedule): This attribute is particularly useful
- when you need to align billing events for different components on
- distinct schedules within a subscription. This only works for site with
- Multifrequency enabled.
+ billing_schedule (BillingSchedule): Billing schedule settings for component
+ allocations or usages on multi-frequency subscriptions. Use this to start
+ a component's billing period on a custom date instead of aligning with
+ the product charge schedule.
custom_price (ComponentCustomPrice): Create or update custom pricing unique
to the subscription. Used in place of `price_point_id`.
additional_properties (Dict[str, object]): The additional properties for the
diff --git a/advancedbilling/models/bank_account_payment_profile.py b/advancedbilling/models/bank_account_payment_profile.py
index 24f975d..6f2fc29 100644
--- a/advancedbilling/models/bank_account_payment_profile.py
+++ b/advancedbilling/models/bank_account_payment_profile.py
@@ -24,7 +24,7 @@ class BankAccountPaymentProfile(object):
the bank account belongs
current_vault (BankAccountVault): The vault that stores the payment profile
with the provided vault_token. Use `bogus` for testing.
- vault_token (str): The “token” provided by your vault storage for an already
+ vault_token (str): The "token" provided by your vault storage for an already
stored payment profile
billing_address (str): The current billing street address for the bank account
billing_city (str): The current billing address city for the bank account
@@ -39,11 +39,11 @@ class BankAccountPaymentProfile(object):
the bank account
bank_name (str): The bank where the account resides
masked_bank_routing_number (str): A string representation of the stored bank
- routing number with all but the last 4 digits marked with X’s (i.e.
- ‘XXXXXXX1111’). payment_type will be bank_account
+ routing number with all but the last 4 digits marked with X's (i.e.
+ 'XXXXXXX1111'). payment_type will be bank_account
masked_bank_account_number (str): A string representation of the stored bank
- account number with all but the last 4 digits marked with X’s (i.e.
- ‘XXXXXXX1111’)
+ account number with all but the last 4 digits marked with X's (i.e.
+ 'XXXXXXX1111')
bank_account_type (BankAccountType): Defaults to checking
bank_account_holder_type (BankAccountHolderType): Defaults to personal
payment_type (PaymentType): The model property of type PaymentType.
@@ -62,7 +62,6 @@ class BankAccountPaymentProfile(object):
# Create a mapping from Model property names to API property names
_names = {
- "masked_bank_account_number": "masked_bank_account_number",
"payment_type": "payment_type",
"id": "id",
"first_name": "first_name",
@@ -79,6 +78,7 @@ class BankAccountPaymentProfile(object):
"billing_address_2": "billing_address_2",
"bank_name": "bank_name",
"masked_bank_routing_number": "masked_bank_routing_number",
+ "masked_bank_account_number": "masked_bank_account_number",
"bank_account_type": "bank_account_type",
"bank_account_holder_type": "bank_account_holder_type",
"verified": "verified",
@@ -104,6 +104,7 @@ class BankAccountPaymentProfile(object):
"billing_address_2",
"bank_name",
"masked_bank_routing_number",
+ "masked_bank_account_number",
"bank_account_type",
"bank_account_holder_type",
"verified",
@@ -121,13 +122,14 @@ class BankAccountPaymentProfile(object):
"billing_country",
"customer_vault_token",
"billing_address_2",
+ "masked_bank_routing_number",
+ "masked_bank_account_number",
"site_gateway_setting_id",
"gateway_handle",
]
def __init__(
self,
- masked_bank_account_number=None,
payment_type="bank_account",
id=APIHelper.SKIP,
first_name=APIHelper.SKIP,
@@ -144,6 +146,7 @@ def __init__(
billing_address_2=APIHelper.SKIP,
bank_name=APIHelper.SKIP,
masked_bank_routing_number=APIHelper.SKIP,
+ masked_bank_account_number=APIHelper.SKIP,
bank_account_type=APIHelper.SKIP,
bank_account_holder_type=APIHelper.SKIP,
verified=False,
@@ -184,7 +187,8 @@ def __init__(
self.bank_name = bank_name
if masked_bank_routing_number is not APIHelper.SKIP:
self.masked_bank_routing_number = masked_bank_routing_number
- self.masked_bank_account_number = masked_bank_account_number
+ if masked_bank_account_number is not APIHelper.SKIP:
+ self.masked_bank_account_number = masked_bank_account_number
if bank_account_type is not APIHelper.SKIP:
self.bank_account_type = bank_account_type
if bank_account_holder_type is not APIHelper.SKIP:
@@ -229,10 +233,6 @@ def from_dictionary(cls,
return None
# Extract variables from the dictionary
- masked_bank_account_number =\
- dictionary.get("masked_bank_account_number")\
- if dictionary.get("masked_bank_account_number")\
- else None
payment_type =\
dictionary.get("payment_type")\
if dictionary.get("payment_type")\
@@ -295,7 +295,11 @@ def from_dictionary(cls,
else APIHelper.SKIP
masked_bank_routing_number =\
dictionary.get("masked_bank_routing_number")\
- if dictionary.get("masked_bank_routing_number")\
+ if "masked_bank_routing_number" in dictionary.keys()\
+ else APIHelper.SKIP
+ masked_bank_account_number =\
+ dictionary.get("masked_bank_account_number")\
+ if "masked_bank_account_number" in dictionary.keys()\
else APIHelper.SKIP
bank_account_type =\
dictionary.get("bank_account_type")\
@@ -329,8 +333,7 @@ def from_dictionary(cls,
{k: v for k, v in dictionary.items() if k not in cls._names.values()}
# Return an object of this model
- return cls(masked_bank_account_number,
- payment_type,
+ return cls(payment_type,
id,
first_name,
last_name,
@@ -346,6 +349,7 @@ def from_dictionary(cls,
billing_address_2,
bank_name,
masked_bank_routing_number,
+ masked_bank_account_number,
bank_account_type,
bank_account_holder_type,
verified,
@@ -370,13 +374,6 @@ def validate(cls, dictionary):
"""
if isinstance(dictionary, cls):
return APIHelper.is_valid_type(
- value=dictionary.masked_bank_account_number,
- type_callable=lambda value:
- isinstance(
- value,
- str,
- )) \
- and APIHelper.is_valid_type(
value=dictionary.payment_type,
type_callable=lambda value:
PaymentType.validate(value))
@@ -385,13 +382,6 @@ def validate(cls, dictionary):
return False
return APIHelper.is_valid_type(
- value=dictionary.get("masked_bank_account_number"),
- type_callable=lambda value:
- isinstance(
- value,
- str,
- )) \
- and APIHelper.is_valid_type(
value=dictionary.get("payment_type"),
type_callable=lambda value:
PaymentType.validate(value))
@@ -473,7 +463,11 @@ def __repr__(self):
if hasattr(self, "masked_bank_routing_number")
else None
)
- _masked_bank_account_number=self.masked_bank_account_number
+ _masked_bank_account_number=(
+ self.masked_bank_account_number
+ if hasattr(self, "masked_bank_account_number")
+ else None
+ )
_bank_account_type=(
self.bank_account_type
if hasattr(self, "bank_account_type")
@@ -618,7 +612,11 @@ def __str__(self):
if hasattr(self, "masked_bank_routing_number")
else None
)
- _masked_bank_account_number=self.masked_bank_account_number
+ _masked_bank_account_number=(
+ self.masked_bank_account_number
+ if hasattr(self, "masked_bank_account_number")
+ else None
+ )
_bank_account_type=(
self.bank_account_type
if hasattr(self, "bank_account_type")
diff --git a/advancedbilling/models/billing_schedule.py b/advancedbilling/models/billing_schedule.py
index 6b59e2a..2f7b581 100644
--- a/advancedbilling/models/billing_schedule.py
+++ b/advancedbilling/models/billing_schedule.py
@@ -13,15 +13,15 @@
class BillingSchedule(object):
"""Implementation of the 'Billing Schedule' model.
- This attribute is particularly useful when you need to align billing events for
- different components on distinct schedules within a subscription. This only works
- for site with Multifrequency enabled.
+ Billing schedule settings for component allocations or usages on multi-frequency
+ subscriptions. Use this to start a component's billing period on a custom date
+ instead of aligning with the product charge schedule.
Attributes:
- initial_billing_at (date): The initial_billing_at attribute in Maxio allows
- you to specify a custom starting date for billing cycles associated with
- components that have their own billing frequency set. Only ISO8601 format
- is supported.
+ initial_billing_at (date): Custom start date (ISO 8601 date, YYYY-MM-DD) for
+ the component's first billing period. If omitted or null, billing aligns
+ with the product schedule. If provided, date must be on or after the
+ minimum allowed date for the subscription or component.
additional_properties (Dict[str, object]): The additional properties for the
model.
@@ -36,6 +36,10 @@ class BillingSchedule(object):
"initial_billing_at",
]
+ _nullables = [
+ "initial_billing_at",
+ ]
+
def __init__(
self,
initial_billing_at=APIHelper.SKIP,
@@ -68,9 +72,13 @@ def from_dictionary(cls,
return None
# Extract variables from the dictionary
- initial_billing_at = dateutil.parser.parse(
- dictionary.get("initial_billing_at")).date()\
- if dictionary.get("initial_billing_at") else APIHelper.SKIP
+ if "initial_billing_at" in dictionary.keys():
+ initial_billing_at = dateutil.parser.parse(
+ dictionary.get("initial_billing_at")).date()\
+ if dictionary.get("initial_billing_at") else None
+
+ else:
+ initial_billing_at = APIHelper.SKIP
# Clean out expected properties from dictionary
additional_properties =\
diff --git a/advancedbilling/models/chjs_tokenization_failure.py b/advancedbilling/models/chjs_tokenization_failure.py
new file mode 100644
index 0000000..f3e958b
--- /dev/null
+++ b/advancedbilling/models/chjs_tokenization_failure.py
@@ -0,0 +1,154 @@
+"""advanced_billing.
+
+This file was automatically generated for Maxio by APIMATIC v3.0 (
+ https://www.apimatic.io ).
+"""
+
+# ruff: noqa: E501
+from advancedbilling.api_helper import APIHelper
+from advancedbilling.models.payment_profile_params import (
+ PaymentProfileParams,
+)
+
+
+class ChjsTokenizationFailure(object):
+ """Implementation of the 'Chjs Tokenization Failure' model.
+
+ Attributes:
+ errors (str): The model property of type str.
+ payment_profile_params (PaymentProfileParams): PCI-safe cardholder fields
+ only. Full card numbers, CVV, and billing address are never included.
+ additional_properties (Dict[str, object]): The additional properties for the
+ model.
+
+ """
+
+ # Create a mapping from Model property names to API property names
+ _names = {
+ "errors": "errors",
+ "payment_profile_params": "payment_profile_params",
+ }
+
+ _optionals = [
+ "payment_profile_params",
+ ]
+
+ def __init__(
+ self,
+ errors=None,
+ payment_profile_params=APIHelper.SKIP,
+ additional_properties=None):
+ """Initialize a ChjsTokenizationFailure instance."""
+ # Initialize members of the class
+ self.errors = errors
+ if payment_profile_params is not APIHelper.SKIP:
+ self.payment_profile_params = payment_profile_params
+
+ # Add additional model properties to the instance
+ if additional_properties is None:
+ additional_properties = {}
+ self.additional_properties = additional_properties
+
+ @classmethod
+ def from_dictionary(cls,
+ dictionary):
+ """Create an instance of this model from a dictionary
+
+ Args:
+ dictionary (dictionary): A dictionary representation of the object
+ as obtained from the deserialization of the server's response. The
+ keys MUST match property names in the API description.
+
+ Returns:
+ object: An instance of this structure class.
+
+ """
+ if not isinstance(dictionary, dict) or dictionary is None:
+ return None
+
+ # Extract variables from the dictionary
+ errors =\
+ dictionary.get("errors")\
+ if dictionary.get("errors")\
+ else None
+ payment_profile_params =\
+ PaymentProfileParams.from_dictionary(
+ dictionary.get("payment_profile_params"))\
+ if "payment_profile_params" in dictionary.keys()\
+ else APIHelper.SKIP
+
+ # Clean out expected properties from dictionary
+ additional_properties =\
+ {k: v for k, v in dictionary.items() if k not in cls._names.values()}
+
+ # Return an object of this model
+ return cls(errors,
+ payment_profile_params,
+ additional_properties)
+
+ @classmethod
+ def validate(cls, dictionary):
+ """Validate dictionary against class required properties
+
+ Args:
+ dictionary (dictionary): A dictionary representation of the object
+ as obtained from the deserialization of the server's response. The
+ keys MUST match property names in the API description.
+
+ Returns:
+ boolean : if dictionary is valid contains required properties.
+
+ """
+ if isinstance(dictionary, cls):
+ return APIHelper.is_valid_type(
+ value=dictionary.errors,
+ type_callable=lambda value:
+ isinstance(
+ value,
+ str,
+ ))
+
+ if not isinstance(dictionary, dict):
+ return False
+
+ return APIHelper.is_valid_type(
+ value=dictionary.get("errors"),
+ type_callable=lambda value:
+ isinstance(
+ value,
+ str,
+ ))
+
+ def __repr__(self):
+ """Return a unambiguous string representation."""
+ _errors=self.errors
+ _payment_profile_params=(
+ self.payment_profile_params
+ if hasattr(self, "payment_profile_params")
+ else None
+ )
+ _additional_properties=self.additional_properties
+ return (
+ f"{self.__class__.__name__}("
+ f"errors={_errors!r}, "
+ f"payment_profile_params={_payment_profile_params!r}, "
+ f"additional_properties={_additional_properties!r}, "
+ f")"
+ )
+
+ def __str__(self):
+ """Return a human-readable string representation."""
+ _errors=self.errors
+ _payment_profile_params=(
+ self.payment_profile_params
+ if hasattr(self, "payment_profile_params")
+ else None
+ )
+ _additional_properties=self.additional_properties
+ return (
+ f"{self.__class__.__name__}("
+ f"errors={_errors!s}, "
+ f"payment_profile_params={_payment_profile_params!s}, "
+ f"additional_properties={_additional_properties!s}, "
+ f")"
+ )
diff --git a/advancedbilling/models/chjs_tokenization_success.py b/advancedbilling/models/chjs_tokenization_success.py
new file mode 100644
index 0000000..c499fa0
--- /dev/null
+++ b/advancedbilling/models/chjs_tokenization_success.py
@@ -0,0 +1,153 @@
+"""advanced_billing.
+
+This file was automatically generated for Maxio by APIMATIC v3.0 (
+ https://www.apimatic.io ).
+"""
+
+# ruff: noqa: E501
+from advancedbilling.api_helper import APIHelper
+from advancedbilling.models.tokenized_payment_profile import (
+ TokenizedPaymentProfile,
+)
+
+
+class ChjsTokenizationSuccess(object):
+ """Implementation of the 'Chjs Tokenization Success' model.
+
+ Attributes:
+ payment_profile (TokenizedPaymentProfile): The model property of type
+ TokenizedPaymentProfile.
+ gateway_customer_id (int): The model property of type int.
+ additional_properties (Dict[str, object]): The additional properties for the
+ model.
+
+ """
+
+ # Create a mapping from Model property names to API property names
+ _names = {
+ "payment_profile": "payment_profile",
+ "gateway_customer_id": "gateway_customer_id",
+ }
+
+ _optionals = [
+ "gateway_customer_id",
+ ]
+
+ _nullables = [
+ "gateway_customer_id",
+ ]
+
+ def __init__(
+ self,
+ payment_profile=None,
+ gateway_customer_id=APIHelper.SKIP,
+ additional_properties=None):
+ """Initialize a ChjsTokenizationSuccess instance."""
+ # Initialize members of the class
+ self.payment_profile = payment_profile
+ if gateway_customer_id is not APIHelper.SKIP:
+ self.gateway_customer_id = gateway_customer_id
+
+ # Add additional model properties to the instance
+ if additional_properties is None:
+ additional_properties = {}
+ self.additional_properties = additional_properties
+
+ @classmethod
+ def from_dictionary(cls,
+ dictionary):
+ """Create an instance of this model from a dictionary
+
+ Args:
+ dictionary (dictionary): A dictionary representation of the object
+ as obtained from the deserialization of the server's response. The
+ keys MUST match property names in the API description.
+
+ Returns:
+ object: An instance of this structure class.
+
+ """
+ if not isinstance(dictionary, dict) or dictionary is None:
+ return None
+
+ # Extract variables from the dictionary
+ payment_profile =\
+ TokenizedPaymentProfile.from_dictionary(
+ dictionary.get("payment_profile"))\
+ if dictionary.get("payment_profile") else None
+ gateway_customer_id =\
+ dictionary.get("gateway_customer_id")\
+ if "gateway_customer_id" in dictionary.keys()\
+ else APIHelper.SKIP
+
+ # Clean out expected properties from dictionary
+ additional_properties =\
+ {k: v for k, v in dictionary.items() if k not in cls._names.values()}
+
+ # Return an object of this model
+ return cls(payment_profile,
+ gateway_customer_id,
+ additional_properties)
+
+ @classmethod
+ def validate(cls, dictionary):
+ """Validate dictionary against class required properties
+
+ Args:
+ dictionary (dictionary): A dictionary representation of the object
+ as obtained from the deserialization of the server's response. The
+ keys MUST match property names in the API description.
+
+ Returns:
+ boolean : if dictionary is valid contains required properties.
+
+ """
+ if isinstance(dictionary, cls):
+ return APIHelper.is_valid_type(
+ value=dictionary.payment_profile,
+ type_callable=lambda value:
+ TokenizedPaymentProfile.validate(value),
+ is_model_dict=True)
+
+ if not isinstance(dictionary, dict):
+ return False
+
+ return APIHelper.is_valid_type(
+ value=dictionary.get("payment_profile"),
+ type_callable=lambda value:
+ TokenizedPaymentProfile.validate(value),
+ is_model_dict=True)
+
+ def __repr__(self):
+ """Return a unambiguous string representation."""
+ _payment_profile=self.payment_profile
+ _gateway_customer_id=(
+ self.gateway_customer_id
+ if hasattr(self, "gateway_customer_id")
+ else None
+ )
+ _additional_properties=self.additional_properties
+ return (
+ f"{self.__class__.__name__}("
+ f"payment_profile={_payment_profile!r}, "
+ f"gateway_customer_id={_gateway_customer_id!r}, "
+ f"additional_properties={_additional_properties!r}, "
+ f")"
+ )
+
+ def __str__(self):
+ """Return a human-readable string representation."""
+ _payment_profile=self.payment_profile
+ _gateway_customer_id=(
+ self.gateway_customer_id
+ if hasattr(self, "gateway_customer_id")
+ else None
+ )
+ _additional_properties=self.additional_properties
+ return (
+ f"{self.__class__.__name__}("
+ f"payment_profile={_payment_profile!s}, "
+ f"gateway_customer_id={_gateway_customer_id!s}, "
+ f"additional_properties={_additional_properties!s}, "
+ f")"
+ )
diff --git a/advancedbilling/models/create_allocation.py b/advancedbilling/models/create_allocation.py
index 5ba8420..935cc60 100644
--- a/advancedbilling/models/create_allocation.py
+++ b/advancedbilling/models/create_allocation.py
@@ -59,10 +59,10 @@ class CreateAllocation(object):
price_point_id (str | int | None): Price point that the allocation should be
charged at. Accepts either the price point's id (integer) or handle
(string). When not specified, the default price point will be used.
- billing_schedule (BillingSchedule): This attribute is particularly useful
- when you need to align billing events for different components on
- distinct schedules within a subscription. This only works for site with
- Multifrequency enabled.
+ billing_schedule (BillingSchedule): Billing schedule settings for component
+ allocations or usages on multi-frequency subscriptions. Use this to start
+ a component's billing period on a custom date instead of aligning with
+ the product charge schedule.
custom_price (ComponentCustomPrice): Create or update custom pricing unique
to the subscription. Used in place of `price_point_id`.
additional_properties (Dict[str, object]): The additional properties for the
diff --git a/advancedbilling/models/create_invoice.py b/advancedbilling/models/create_invoice.py
index 22c9858..f6c6208 100644
--- a/advancedbilling/models/create_invoice.py
+++ b/advancedbilling/models/create_invoice.py
@@ -25,7 +25,10 @@ class CreateInvoice(object):
Attributes:
line_items (List[CreateInvoiceItem]): The model property of type
List[CreateInvoiceItem].
- issue_date (date): The model property of type date.
+ issue_date (date): Date on which the invoice will be issued (format
+ YYYY-MM-DD). This date is interpreted and validated in your site's time
+ zone. It must be today or a date in the past — future dates are not
+ accepted. If omitted, defaults to today in your site's time zone.
net_terms (int): By default, invoices will be created with a due date
matching the date of invoice creation. If a different due date is
desired, the net_terms parameter can be sent indicating the number of
diff --git a/advancedbilling/models/create_payment_profile.py b/advancedbilling/models/create_payment_profile.py
index 12f7013..368a706 100644
--- a/advancedbilling/models/create_payment_profile.py
+++ b/advancedbilling/models/create_payment_profile.py
@@ -13,7 +13,7 @@ class CreatePaymentProfile(object):
Attributes:
chargify_token (str): Token received after sending billing information using
- chargify.js.
+ Maxio.js (formerly Chargify.js).
id (int): The model property of type int.
payment_type (PaymentType): The model property of type PaymentType.
first_name (str): First name on card or bank account. If omitted, the
@@ -61,9 +61,11 @@ class CreatePaymentProfile(object):
customer_id (int): (Required when creating a new payment profile) The
Chargify customer id.
paypal_email (str): used by merchants that implemented BraintreeBlue
- javaScript libraries on their own. We recommend using Chargify.js instead.
+ javaScript libraries on their own. We recommend using Maxio.js (formerly
+ Chargify.js) instead.
payment_method_nonce (str): used by merchants that implemented BraintreeBlue
- javaScript libraries on their own. We recommend using Chargify.js instead.
+ javaScript libraries on their own. We recommend using Maxio.js (formerly
+ Chargify.js) instead.
gateway_handle (str): This attribute is only available if MultiGateway
feature is enabled for your Site. This feature is in the Private Beta
currently. gateway_handle is used to directly select a gateway where a
diff --git a/advancedbilling/models/create_subscription.py b/advancedbilling/models/create_subscription.py
index 5285699..a744ae7 100644
--- a/advancedbilling/models/create_subscription.py
+++ b/advancedbilling/models/create_subscription.py
@@ -217,7 +217,7 @@ class CreateSubscription(object):
Communication Delay feature.
skip_billing_manifest_taxes (bool): Valid only for the Subscription Preview
endpoint. When set to `true` it skips calculating taxes for the current
- and next billing manifests.
+ and next billing manifests. Defaults to `false` when not provided.
additional_properties (Dict[str, object]): The additional properties for the
model.
@@ -387,7 +387,7 @@ def __init__(
ach_agreement=APIHelper.SKIP,
dunning_communication_delay_enabled=False,
dunning_communication_delay_time_zone=APIHelper.SKIP,
- skip_billing_manifest_taxes=False,
+ skip_billing_manifest_taxes=APIHelper.SKIP,
additional_properties=None):
"""Initialize a CreateSubscription instance."""
# Initialize members of the class
@@ -508,7 +508,8 @@ def __init__(
if dunning_communication_delay_time_zone is not APIHelper.SKIP:
self.dunning_communication_delay_time_zone =\
dunning_communication_delay_time_zone
- self.skip_billing_manifest_taxes = skip_billing_manifest_taxes
+ if skip_billing_manifest_taxes is not APIHelper.SKIP:
+ self.skip_billing_manifest_taxes = skip_billing_manifest_taxes
# Add additional model properties to the instance
if additional_properties is None:
@@ -745,8 +746,8 @@ def from_dictionary(cls,
else APIHelper.SKIP
skip_billing_manifest_taxes =\
dictionary.get("skip_billing_manifest_taxes")\
- if dictionary.get("skip_billing_manifest_taxes")\
- else False
+ if "skip_billing_manifest_taxes" in dictionary.keys()\
+ else APIHelper.SKIP
# Clean out expected properties from dictionary
additional_properties =\
diff --git a/advancedbilling/models/create_usage.py b/advancedbilling/models/create_usage.py
index 30e8258..6f36235 100644
--- a/advancedbilling/models/create_usage.py
+++ b/advancedbilling/models/create_usage.py
@@ -22,10 +22,10 @@ class CreateUsage(object):
quantities are enabled for the component
price_point_id (str): The model property of type str.
memo (str): The model property of type str.
- billing_schedule (BillingSchedule): This attribute is particularly useful
- when you need to align billing events for different components on
- distinct schedules within a subscription. This only works for site with
- Multifrequency enabled.
+ billing_schedule (BillingSchedule): Billing schedule settings for component
+ allocations or usages on multi-frequency subscriptions. Use this to start
+ a component's billing period on a custom date instead of aligning with
+ the product charge schedule.
custom_price (ComponentCustomPrice): Create or update custom pricing unique
to the subscription. Used in place of `price_point_id`.
additional_properties (Dict[str, object]): The additional properties for the
diff --git a/advancedbilling/models/credit_card_payment_profile.py b/advancedbilling/models/credit_card_payment_profile.py
index aeaa071..96d03dc 100644
--- a/advancedbilling/models/credit_card_payment_profile.py
+++ b/advancedbilling/models/credit_card_payment_profile.py
@@ -47,8 +47,9 @@ class CreditCardPaymentProfile(object):
payment_type (PaymentType): The model property of type PaymentType.
disabled (bool): The model property of type bool.
chargify_token (str): Token received after sending billing information using
- chargify.js. This token will only be received if passed as a sole
- attribute of credit_card_attributes (i.e. tok_9g6hw85pnpt6knmskpwp4ttt)
+ Maxio.js (formerly Chargify.js). This token will only be received if
+ passed as a sole attribute of credit_card_attributes (i.e.
+ tok_9g6hw85pnpt6knmskpwp4ttt)
site_gateway_setting_id (int): The model property of type int.
gateway_handle (str): An identifier of connected gateway.
created_at (datetime): A timestamp indicating when this payment profile was
diff --git a/advancedbilling/models/credit_note_line_item.py b/advancedbilling/models/credit_note_line_item.py
index 77cf400..2d54adb 100644
--- a/advancedbilling/models/credit_note_line_item.py
+++ b/advancedbilling/models/credit_note_line_item.py
@@ -46,6 +46,13 @@ class CreditNoteLineItem(object):
been summed prior to applying the tax rate to arrive at `tax_amount` for
the invoice - backing that out to the tax on a single line may introduce
rounding or precision errors.
+ tax_included (bool): Whether the unit price for this line item is
+ tax-inclusive. When `true`, `unit_price` already includes tax and
+ `tax_amount` represents the portion of the price attributable to tax.
+ When `false`, any applicable tax is added on top of the price. The value
+ is inherited from the source price point's `tax_included` setting. Custom
+ or ad-hoc line items (which have no associated price point) always return
+ `false`.
total_amount (str): The non-canonical total amount for the line.
`subtotal_amount` is the canonical amount for a line. The invoice
`total_amount` is derived from the sum of the line `subtotal_amount`s and
@@ -69,6 +76,9 @@ class CreditNoteLineItem(object):
Will be `nil` for non-component credits.
billing_schedule_item_id (int): The model property of type int.
custom_item (bool): The model property of type bool.
+ prepaid_allocation_expires_at (date): The date a prepaid allocation is set to
+ expire. Only present on line items representing prepaid component
+ allocations. The format is `"YYYY-MM-DD"`.
additional_properties (Dict[str, object]): The additional properties for the
model.
@@ -84,6 +94,7 @@ class CreditNoteLineItem(object):
"subtotal_amount": "subtotal_amount",
"discount_amount": "discount_amount",
"tax_amount": "tax_amount",
+ "tax_included": "tax_included",
"total_amount": "total_amount",
"tiered_unit_price": "tiered_unit_price",
"period_range_start": "period_range_start",
@@ -94,6 +105,7 @@ class CreditNoteLineItem(object):
"price_point_id": "price_point_id",
"billing_schedule_item_id": "billing_schedule_item_id",
"custom_item": "custom_item",
+ "prepaid_allocation_expires_at": "prepaid_allocation_expires_at",
}
_optionals = [
@@ -105,6 +117,7 @@ class CreditNoteLineItem(object):
"subtotal_amount",
"discount_amount",
"tax_amount",
+ "tax_included",
"total_amount",
"tiered_unit_price",
"period_range_start",
@@ -115,12 +128,14 @@ class CreditNoteLineItem(object):
"price_point_id",
"billing_schedule_item_id",
"custom_item",
+ "prepaid_allocation_expires_at",
]
_nullables = [
"component_id",
"price_point_id",
"billing_schedule_item_id",
+ "prepaid_allocation_expires_at",
]
def __init__(
@@ -133,6 +148,7 @@ def __init__(
subtotal_amount=APIHelper.SKIP,
discount_amount=APIHelper.SKIP,
tax_amount=APIHelper.SKIP,
+ tax_included=APIHelper.SKIP,
total_amount=APIHelper.SKIP,
tiered_unit_price=APIHelper.SKIP,
period_range_start=APIHelper.SKIP,
@@ -143,6 +159,7 @@ def __init__(
price_point_id=APIHelper.SKIP,
billing_schedule_item_id=APIHelper.SKIP,
custom_item=APIHelper.SKIP,
+ prepaid_allocation_expires_at=APIHelper.SKIP,
additional_properties=None):
"""Initialize a CreditNoteLineItem instance."""
# Initialize members of the class
@@ -162,6 +179,8 @@ def __init__(
self.discount_amount = discount_amount
if tax_amount is not APIHelper.SKIP:
self.tax_amount = tax_amount
+ if tax_included is not APIHelper.SKIP:
+ self.tax_included = tax_included
if total_amount is not APIHelper.SKIP:
self.total_amount = total_amount
if tiered_unit_price is not APIHelper.SKIP:
@@ -182,6 +201,8 @@ def __init__(
self.billing_schedule_item_id = billing_schedule_item_id
if custom_item is not APIHelper.SKIP:
self.custom_item = custom_item
+ if prepaid_allocation_expires_at is not APIHelper.SKIP:
+ self.prepaid_allocation_expires_at = prepaid_allocation_expires_at
# Add additional model properties to the instance
if additional_properties is None:
@@ -238,6 +259,10 @@ def from_dictionary(cls,
dictionary.get("tax_amount")\
if dictionary.get("tax_amount")\
else APIHelper.SKIP
+ tax_included =\
+ dictionary.get("tax_included")\
+ if "tax_included" in dictionary.keys()\
+ else APIHelper.SKIP
total_amount =\
dictionary.get("total_amount")\
if dictionary.get("total_amount")\
@@ -276,6 +301,13 @@ def from_dictionary(cls,
dictionary.get("custom_item")\
if "custom_item" in dictionary.keys()\
else APIHelper.SKIP
+ if "prepaid_allocation_expires_at" in dictionary.keys():
+ prepaid_allocation_expires_at = dateutil.parser.parse(
+ dictionary.get("prepaid_allocation_expires_at")).date()\
+ if dictionary.get("prepaid_allocation_expires_at") else None
+
+ else:
+ prepaid_allocation_expires_at = APIHelper.SKIP
# Clean out expected properties from dictionary
additional_properties =\
@@ -290,6 +322,7 @@ def from_dictionary(cls,
subtotal_amount,
discount_amount,
tax_amount,
+ tax_included,
total_amount,
tiered_unit_price,
period_range_start,
@@ -300,6 +333,7 @@ def from_dictionary(cls,
price_point_id,
billing_schedule_item_id,
custom_item,
+ prepaid_allocation_expires_at,
additional_properties)
@classmethod
@@ -365,6 +399,11 @@ def __repr__(self):
if hasattr(self, "tax_amount")
else None
)
+ _tax_included=(
+ self.tax_included
+ if hasattr(self, "tax_included")
+ else None
+ )
_total_amount=(
self.total_amount
if hasattr(self, "total_amount")
@@ -415,6 +454,11 @@ def __repr__(self):
if hasattr(self, "custom_item")
else None
)
+ _prepaid_allocation_expires_at=(
+ self.prepaid_allocation_expires_at
+ if hasattr(self, "prepaid_allocation_expires_at")
+ else None
+ )
_additional_properties=self.additional_properties
return (
f"{self.__class__.__name__}("
@@ -426,6 +470,7 @@ def __repr__(self):
f"subtotal_amount={_subtotal_amount!r}, "
f"discount_amount={_discount_amount!r}, "
f"tax_amount={_tax_amount!r}, "
+ f"tax_included={_tax_included!r}, "
f"total_amount={_total_amount!r}, "
f"tiered_unit_price={_tiered_unit_price!r}, "
f"period_range_start={_period_range_start!r}, "
@@ -436,6 +481,7 @@ def __repr__(self):
f"price_point_id={_price_point_id!r}, "
f"billing_schedule_item_id={_billing_schedule_item_id!r}, "
f"custom_item={_custom_item!r}, "
+ f"prepaid_allocation_expires_at={_prepaid_allocation_expires_at!r}, "
f"additional_properties={_additional_properties!r}, "
f")"
)
@@ -482,6 +528,11 @@ def __str__(self):
if hasattr(self, "tax_amount")
else None
)
+ _tax_included=(
+ self.tax_included
+ if hasattr(self, "tax_included")
+ else None
+ )
_total_amount=(
self.total_amount
if hasattr(self, "total_amount")
@@ -532,6 +583,11 @@ def __str__(self):
if hasattr(self, "custom_item")
else None
)
+ _prepaid_allocation_expires_at=(
+ self.prepaid_allocation_expires_at
+ if hasattr(self, "prepaid_allocation_expires_at")
+ else None
+ )
_additional_properties=self.additional_properties
return (
f"{self.__class__.__name__}("
@@ -543,6 +599,7 @@ def __str__(self):
f"subtotal_amount={_subtotal_amount!s}, "
f"discount_amount={_discount_amount!s}, "
f"tax_amount={_tax_amount!s}, "
+ f"tax_included={_tax_included!s}, "
f"total_amount={_total_amount!s}, "
f"tiered_unit_price={_tiered_unit_price!s}, "
f"period_range_start={_period_range_start!s}, "
@@ -553,6 +610,7 @@ def __str__(self):
f"price_point_id={_price_point_id!s}, "
f"billing_schedule_item_id={_billing_schedule_item_id!s}, "
f"custom_item={_custom_item!s}, "
+ f"prepaid_allocation_expires_at={_prepaid_allocation_expires_at!s}, "
f"additional_properties={_additional_properties!s}, "
f")"
)
diff --git a/advancedbilling/models/customer.py b/advancedbilling/models/customer.py
index 362d982..9587b5d 100644
--- a/advancedbilling/models/customer.py
+++ b/advancedbilling/models/customer.py
@@ -59,6 +59,7 @@ class Customer(object):
tax_exempt_reason (str): The Tax Exemption Reason Code for the customer
default_auto_renewal_profile_id (int): The default auto-renewal profile ID
for the customer
+ maxioid (str): The Maxio-generated unique identifier for the customer.
additional_properties (Dict[str, object]): The additional properties for the
model.
@@ -96,6 +97,7 @@ class Customer(object):
"salesforce_id": "salesforce_id",
"tax_exempt_reason": "tax_exempt_reason",
"default_auto_renewal_profile_id": "default_auto_renewal_profile_id",
+ "maxioid": "maxioid",
}
_optionals = [
@@ -129,6 +131,7 @@ class Customer(object):
"salesforce_id",
"tax_exempt_reason",
"default_auto_renewal_profile_id",
+ "maxioid",
]
_nullables = [
@@ -155,6 +158,7 @@ class Customer(object):
"salesforce_id",
"tax_exempt_reason",
"default_auto_renewal_profile_id",
+ "maxioid",
]
def __init__(
@@ -189,6 +193,7 @@ def __init__(
salesforce_id=APIHelper.SKIP,
tax_exempt_reason=APIHelper.SKIP,
default_auto_renewal_profile_id=APIHelper.SKIP,
+ maxioid=APIHelper.SKIP,
additional_properties=None):
"""Initialize a Customer instance."""
# Initialize members of the class
@@ -267,6 +272,8 @@ def __init__(
self.tax_exempt_reason = tax_exempt_reason
if default_auto_renewal_profile_id is not APIHelper.SKIP:
self.default_auto_renewal_profile_id = default_auto_renewal_profile_id
+ if maxioid is not APIHelper.SKIP:
+ self.maxioid = maxioid
# Add additional model properties to the instance
if additional_properties is None:
@@ -418,6 +425,10 @@ def from_dictionary(cls,
dictionary.get("default_auto_renewal_profile_id")\
if "default_auto_renewal_profile_id" in dictionary.keys()\
else APIHelper.SKIP
+ maxioid =\
+ dictionary.get("maxioid")\
+ if "maxioid" in dictionary.keys()\
+ else APIHelper.SKIP
# Clean out expected properties from dictionary
additional_properties =\
@@ -454,6 +465,7 @@ def from_dictionary(cls,
salesforce_id,
tax_exempt_reason,
default_auto_renewal_profile_id,
+ maxioid,
additional_properties)
@classmethod
@@ -629,6 +641,11 @@ def __repr__(self):
if hasattr(self, "default_auto_renewal_profile_id")
else None
)
+ _maxioid=(
+ self.maxioid
+ if hasattr(self, "maxioid")
+ else None
+ )
_additional_properties=self.additional_properties
return (
f"{self.__class__.__name__}("
@@ -662,6 +679,7 @@ def __repr__(self):
f"salesforce_id={_salesforce_id!r}, "
f"tax_exempt_reason={_tax_exempt_reason!r}, "
f"default_auto_renewal_profile_id={_default_auto_renewal_profile_id!r}, "
+ f"maxioid={_maxioid!r}, "
f"additional_properties={_additional_properties!r}, "
f")"
)
@@ -818,6 +836,11 @@ def __str__(self):
if hasattr(self, "default_auto_renewal_profile_id")
else None
)
+ _maxioid=(
+ self.maxioid
+ if hasattr(self, "maxioid")
+ else None
+ )
_additional_properties=self.additional_properties
return (
f"{self.__class__.__name__}("
@@ -851,6 +874,7 @@ def __str__(self):
f"salesforce_id={_salesforce_id!s}, "
f"tax_exempt_reason={_tax_exempt_reason!s}, "
f"default_auto_renewal_profile_id={_default_auto_renewal_profile_id!s}, "
+ f"maxioid={_maxioid!s}, "
f"additional_properties={_additional_properties!s}, "
f")"
)
diff --git a/advancedbilling/models/event.py b/advancedbilling/models/event.py
index b1860b8..fcb436f 100644
--- a/advancedbilling/models/event.py
+++ b/advancedbilling/models/event.py
@@ -28,8 +28,9 @@ class Event(object):
ProformaInvoiceIssued | SubscriptionGroupSignupEventData |
CreditAccountBalanceChanged | PrepaymentAccountBalanceChanged |
PaymentCollectionMethodChanged | ItemPricePointChanged |
- CustomFieldValueChange | None): The schema varies based on the event key.
- The key-to-event data mapping is as follows: *
+ CustomFieldValueChange | ChjsTokenizationSuccess |
+ ChjsTokenizationFailure | None): The schema varies based on the event
+ key. The key-to-event data mapping is as follows: *
`subscription_product_change` - SubscriptionProductChange *
`subscription_state_change` - SubscriptionStateChange * `signup_success`,
`delayed_signup_creation_success`, `payment_success`, `payment_failure`,
@@ -50,7 +51,9 @@ class Event(object):
`subscription_service_credit_account_balance_changed` -
CreditAccountBalanceChanged * `item_price_point_changed` -
ItemPricePointChanged * `custom_field_value_change` -
- CustomFieldValueChange * The rest, that is
+ CustomFieldValueChange * `chjs_tokenization_success` -
+ ChjsTokenizationSuccess * `chjs_tokenization_failure` -
+ ChjsTokenizationFailure * The rest, that is
`delayed_signup_creation_failure`, `billing_date_change`,
`expiration_date_change`, `expiring_card`, `customer_update`,
`customer_create`, `customer_delete`, `upgrade_downgrade_success`,
diff --git a/advancedbilling/models/event_key.py b/advancedbilling/models/event_key.py
index b1e6065..6ad7986 100644
--- a/advancedbilling/models/event_key.py
+++ b/advancedbilling/models/event_key.py
@@ -43,6 +43,7 @@ class EventKey(object):
TRIAL_END_NOTICE: The enum member of type str.
DUNNING_STEP_REACHED: The enum member of type str.
INVOICE_ISSUED: The enum member of type str.
+ INVOICE_PENDING: The enum member of type str.
PREPAID_SUBSCRIPTION_BALANCE_CHANGED: The enum member of type str.
SUBSCRIPTION_GROUP_SIGNUP_SUCCESS: The enum member of type str.
SUBSCRIPTION_GROUP_SIGNUP_FAILURE: The enum member of type str.
@@ -87,6 +88,8 @@ class EventKey(object):
CHARGEBACK_WON: The enum member of type str.
PAYMENT_COLLECTION_METHOD_CHANGED: The enum member of type str.
COMPONENT_BILLING_DATE_CHANGED: The enum member of type str.
+ CHJS_TOKENIZATION_FAILURE: The enum member of type str.
+ CHJS_TOKENIZATION_SUCCESS: The enum member of type str.
SUBSCRIPTION_TERM_RENEWAL_SCHEDULED: The enum member of type str.
SUBSCRIPTION_TERM_RENEWAL_PENDING: The enum member of type str.
SUBSCRIPTION_TERM_RENEWAL_ACTIVATED: The enum member of type str.
@@ -108,7 +111,7 @@ class EventKey(object):
"subscription_card_update", "subscription_group_card_update",
"subscription_bank_account_update", "refund_success", "refund_failure",
"upcoming_renewal_notice", "trial_end_notice", "dunning_step_reached",
- "invoice_issued", "prepaid_subscription_balance_changed",
+ "invoice_issued", "invoice_pending", "prepaid_subscription_balance_changed",
"subscription_group_signup_success", "subscription_group_signup_failure",
"direct_debit_payment_paid_out", "direct_debit_payment_rejected",
"direct_debit_payment_pending", "pending_payment_created",
@@ -132,6 +135,7 @@ class EventKey(object):
"subscription_removed_from_group", "chargeback_opened", "chargeback_lost",
"chargeback_accepted", "chargeback_closed", "chargeback_won",
"payment_collection_method_changed", "component_billing_date_changed",
+ "chjs_tokenization_failure", "chjs_tokenization_success",
"subscription_term_renewal_scheduled", "subscription_term_renewal_pending",
"subscription_term_renewal_activated", "subscription_term_renewal_removed"]
PAYMENT_SUCCESS = "payment_success"
@@ -200,6 +204,8 @@ class EventKey(object):
INVOICE_ISSUED = "invoice_issued"
+ INVOICE_PENDING = "invoice_pending"
+
PREPAID_SUBSCRIPTION_BALANCE_CHANGED = "prepaid_subscription_balance_changed"
SUBSCRIPTION_GROUP_SIGNUP_SUCCESS = "subscription_group_signup_success"
@@ -286,6 +292,10 @@ class EventKey(object):
COMPONENT_BILLING_DATE_CHANGED = "component_billing_date_changed"
+ CHJS_TOKENIZATION_FAILURE = "chjs_tokenization_failure"
+
+ CHJS_TOKENIZATION_SUCCESS = "chjs_tokenization_success"
+
SUBSCRIPTION_TERM_RENEWAL_SCHEDULED = "subscription_term_renewal_scheduled"
SUBSCRIPTION_TERM_RENEWAL_PENDING = "subscription_term_renewal_pending"
diff --git a/advancedbilling/models/invoice_line_item.py b/advancedbilling/models/invoice_line_item.py
index 1aec410..870e1cb 100644
--- a/advancedbilling/models/invoice_line_item.py
+++ b/advancedbilling/models/invoice_line_item.py
@@ -50,6 +50,13 @@ class InvoiceLineItem(object):
been summed prior to applying the tax rate to arrive at `tax_amount` for
the invoice - backing that out to the tax on a single line may introduce
rounding or precision errors.
+ tax_included (bool): Whether the unit price for this line item is
+ tax-inclusive. When `true`, `unit_price` already includes tax and
+ `tax_amount` represents the portion of the price attributable to tax.
+ When `false`, any applicable tax is added on top of the price. The value
+ is inherited from the source price point's `tax_included` setting. Custom
+ or ad-hoc line items (which have no associated price point) always return
+ `false`.
total_amount (str): The non-canonical total amount for the line.
`subtotal_amount` is the canonical amount for a line. The invoice
`total_amount` is derived from the sum of the line `subtotal_amount`s and
@@ -89,6 +96,9 @@ class InvoiceLineItem(object):
product_price_point_id (int): The price point ID of the line item's product
custom_item (bool): The model property of type bool.
kind (str): The model property of type str.
+ prepaid_allocation_expires_at (date): The date a prepaid allocation is set to
+ expire. Only present on line items representing prepaid component
+ allocations. The format is `"YYYY-MM-DD"`.
additional_properties (Dict[str, object]): The additional properties for the
model.
@@ -104,6 +114,7 @@ class InvoiceLineItem(object):
"subtotal_amount": "subtotal_amount",
"discount_amount": "discount_amount",
"tax_amount": "tax_amount",
+ "tax_included": "tax_included",
"total_amount": "total_amount",
"tiered_unit_price": "tiered_unit_price",
"period_range_start": "period_range_start",
@@ -119,6 +130,7 @@ class InvoiceLineItem(object):
"product_price_point_id": "product_price_point_id",
"custom_item": "custom_item",
"kind": "kind",
+ "prepaid_allocation_expires_at": "prepaid_allocation_expires_at",
}
_optionals = [
@@ -130,6 +142,7 @@ class InvoiceLineItem(object):
"subtotal_amount",
"discount_amount",
"tax_amount",
+ "tax_included",
"total_amount",
"tiered_unit_price",
"period_range_start",
@@ -145,6 +158,7 @@ class InvoiceLineItem(object):
"product_price_point_id",
"custom_item",
"kind",
+ "prepaid_allocation_expires_at",
]
_nullables = [
@@ -155,6 +169,7 @@ class InvoiceLineItem(object):
"billing_schedule_item_id",
"component_cost_data",
"product_price_point_id",
+ "prepaid_allocation_expires_at",
]
def __init__(
@@ -167,6 +182,7 @@ def __init__(
subtotal_amount=APIHelper.SKIP,
discount_amount=APIHelper.SKIP,
tax_amount=APIHelper.SKIP,
+ tax_included=APIHelper.SKIP,
total_amount=APIHelper.SKIP,
tiered_unit_price=APIHelper.SKIP,
period_range_start=APIHelper.SKIP,
@@ -182,6 +198,7 @@ def __init__(
product_price_point_id=APIHelper.SKIP,
custom_item=APIHelper.SKIP,
kind=APIHelper.SKIP,
+ prepaid_allocation_expires_at=APIHelper.SKIP,
additional_properties=None):
"""Initialize a InvoiceLineItem instance."""
# Initialize members of the class
@@ -201,6 +218,8 @@ def __init__(
self.discount_amount = discount_amount
if tax_amount is not APIHelper.SKIP:
self.tax_amount = tax_amount
+ if tax_included is not APIHelper.SKIP:
+ self.tax_included = tax_included
if total_amount is not APIHelper.SKIP:
self.total_amount = total_amount
if tiered_unit_price is not APIHelper.SKIP:
@@ -231,6 +250,8 @@ def __init__(
self.custom_item = custom_item
if kind is not APIHelper.SKIP:
self.kind = kind
+ if prepaid_allocation_expires_at is not APIHelper.SKIP:
+ self.prepaid_allocation_expires_at = prepaid_allocation_expires_at
# Add additional model properties to the instance
if additional_properties is None:
@@ -287,6 +308,10 @@ def from_dictionary(cls,
dictionary.get("tax_amount")\
if dictionary.get("tax_amount")\
else APIHelper.SKIP
+ tax_included =\
+ dictionary.get("tax_included")\
+ if "tax_included" in dictionary.keys()\
+ else APIHelper.SKIP
total_amount =\
dictionary.get("total_amount")\
if dictionary.get("total_amount")\
@@ -348,6 +373,13 @@ def from_dictionary(cls,
dictionary.get("kind")\
if dictionary.get("kind")\
else APIHelper.SKIP
+ if "prepaid_allocation_expires_at" in dictionary.keys():
+ prepaid_allocation_expires_at = dateutil.parser.parse(
+ dictionary.get("prepaid_allocation_expires_at")).date()\
+ if dictionary.get("prepaid_allocation_expires_at") else None
+
+ else:
+ prepaid_allocation_expires_at = APIHelper.SKIP
# Clean out expected properties from dictionary
additional_properties =\
@@ -362,6 +394,7 @@ def from_dictionary(cls,
subtotal_amount,
discount_amount,
tax_amount,
+ tax_included,
total_amount,
tiered_unit_price,
period_range_start,
@@ -377,6 +410,7 @@ def from_dictionary(cls,
product_price_point_id,
custom_item,
kind,
+ prepaid_allocation_expires_at,
additional_properties)
@classmethod
@@ -442,6 +476,11 @@ def __repr__(self):
if hasattr(self, "tax_amount")
else None
)
+ _tax_included=(
+ self.tax_included
+ if hasattr(self, "tax_included")
+ else None
+ )
_total_amount=(
self.total_amount
if hasattr(self, "total_amount")
@@ -517,6 +556,11 @@ def __repr__(self):
if hasattr(self, "kind")
else None
)
+ _prepaid_allocation_expires_at=(
+ self.prepaid_allocation_expires_at
+ if hasattr(self, "prepaid_allocation_expires_at")
+ else None
+ )
_additional_properties=self.additional_properties
return (
f"{self.__class__.__name__}("
@@ -528,6 +572,7 @@ def __repr__(self):
f"subtotal_amount={_subtotal_amount!r}, "
f"discount_amount={_discount_amount!r}, "
f"tax_amount={_tax_amount!r}, "
+ f"tax_included={_tax_included!r}, "
f"total_amount={_total_amount!r}, "
f"tiered_unit_price={_tiered_unit_price!r}, "
f"period_range_start={_period_range_start!r}, "
@@ -543,6 +588,7 @@ def __repr__(self):
f"product_price_point_id={_product_price_point_id!r}, "
f"custom_item={_custom_item!r}, "
f"kind={_kind!r}, "
+ f"prepaid_allocation_expires_at={_prepaid_allocation_expires_at!r}, "
f"additional_properties={_additional_properties!r}, "
f")"
)
@@ -589,6 +635,11 @@ def __str__(self):
if hasattr(self, "tax_amount")
else None
)
+ _tax_included=(
+ self.tax_included
+ if hasattr(self, "tax_included")
+ else None
+ )
_total_amount=(
self.total_amount
if hasattr(self, "total_amount")
@@ -664,6 +715,11 @@ def __str__(self):
if hasattr(self, "kind")
else None
)
+ _prepaid_allocation_expires_at=(
+ self.prepaid_allocation_expires_at
+ if hasattr(self, "prepaid_allocation_expires_at")
+ else None
+ )
_additional_properties=self.additional_properties
return (
f"{self.__class__.__name__}("
@@ -675,6 +731,7 @@ def __str__(self):
f"subtotal_amount={_subtotal_amount!s}, "
f"discount_amount={_discount_amount!s}, "
f"tax_amount={_tax_amount!s}, "
+ f"tax_included={_tax_included!s}, "
f"total_amount={_total_amount!s}, "
f"tiered_unit_price={_tiered_unit_price!s}, "
f"period_range_start={_period_range_start!s}, "
@@ -690,6 +747,7 @@ def __str__(self):
f"product_price_point_id={_product_price_point_id!s}, "
f"custom_item={_custom_item!s}, "
f"kind={_kind!s}, "
+ f"prepaid_allocation_expires_at={_prepaid_allocation_expires_at!s}, "
f"additional_properties={_additional_properties!s}, "
f")"
)
diff --git a/advancedbilling/models/payment_profile_attributes.py b/advancedbilling/models/payment_profile_attributes.py
index 5d13c05..e649487 100644
--- a/advancedbilling/models/payment_profile_attributes.py
+++ b/advancedbilling/models/payment_profile_attributes.py
@@ -15,8 +15,8 @@ class PaymentProfileAttributes(object):
Attributes:
chargify_token (str): (Optional) Token received after sending billing
- information using chargify.js. This token must be passed as a sole
- attribute of `payment_profile_attributes` (i.e.
+ information using Maxio.js (formerly Chargify.js). This token must be
+ passed as a sole attribute of `payment_profile_attributes` (i.e.
tok_9g6hw85pnpt6knmskpwp4ttt)
id (int): The model property of type int.
payment_type (PaymentType): The model property of type PaymentType.
diff --git a/advancedbilling/models/payment_profile_params.py b/advancedbilling/models/payment_profile_params.py
new file mode 100644
index 0000000..35df221
--- /dev/null
+++ b/advancedbilling/models/payment_profile_params.py
@@ -0,0 +1,173 @@
+"""advanced_billing.
+
+This file was automatically generated for Maxio by APIMATIC v3.0 (
+ https://www.apimatic.io ).
+"""
+
+# ruff: noqa: E501
+from advancedbilling.api_helper import APIHelper
+
+
+class PaymentProfileParams(object):
+ """Implementation of the 'PaymentProfileParams' model.
+
+ PCI-safe cardholder fields only. Full card numbers, CVV, and billing address are
+ never included.
+
+ Attributes:
+ first_name (str): The model property of type str.
+ last_name (str): The model property of type str.
+ card_type (str): The model property of type str.
+ additional_properties (Dict[str, object]): The additional properties for the
+ model.
+
+ """
+
+ # Create a mapping from Model property names to API property names
+ _names = {
+ "first_name": "first_name",
+ "last_name": "last_name",
+ "card_type": "card_type",
+ }
+
+ _optionals = [
+ "first_name",
+ "last_name",
+ "card_type",
+ ]
+
+ def __init__(
+ self,
+ first_name=APIHelper.SKIP,
+ last_name=APIHelper.SKIP,
+ card_type=APIHelper.SKIP,
+ additional_properties=None):
+ """Initialize a PaymentProfileParams instance."""
+ # Initialize members of the class
+ if first_name is not APIHelper.SKIP:
+ self.first_name = first_name
+ if last_name is not APIHelper.SKIP:
+ self.last_name = last_name
+ if card_type is not APIHelper.SKIP:
+ self.card_type = card_type
+
+ # Add additional model properties to the instance
+ if additional_properties is None:
+ additional_properties = {}
+ self.additional_properties = additional_properties
+
+ @classmethod
+ def from_dictionary(cls,
+ dictionary):
+ """Create an instance of this model from a dictionary
+
+ Args:
+ dictionary (dictionary): A dictionary representation of the object
+ as obtained from the deserialization of the server's response. The
+ keys MUST match property names in the API description.
+
+ Returns:
+ object: An instance of this structure class.
+
+ """
+ if not isinstance(dictionary, dict) or dictionary is None:
+ return None
+
+ # Extract variables from the dictionary
+ first_name =\
+ dictionary.get("first_name")\
+ if dictionary.get("first_name")\
+ else APIHelper.SKIP
+ last_name =\
+ dictionary.get("last_name")\
+ if dictionary.get("last_name")\
+ else APIHelper.SKIP
+ card_type =\
+ dictionary.get("card_type")\
+ if dictionary.get("card_type")\
+ else APIHelper.SKIP
+
+ # Clean out expected properties from dictionary
+ additional_properties =\
+ {k: v for k, v in dictionary.items() if k not in cls._names.values()}
+
+ # Return an object of this model
+ return cls(first_name,
+ last_name,
+ card_type,
+ additional_properties)
+
+ @classmethod
+ def validate(cls, dictionary):
+ """Validate dictionary against class required properties
+
+ Args:
+ dictionary (dictionary): A dictionary representation of the object
+ as obtained from the deserialization of the server's response. The
+ keys MUST match property names in the API description.
+
+ Returns:
+ boolean : if dictionary is valid contains required properties.
+
+ """
+ if isinstance(dictionary, cls):
+ return True
+
+ if not isinstance(dictionary, dict):
+ return False
+
+ return True
+
+ def __repr__(self):
+ """Return a unambiguous string representation."""
+ _first_name=(
+ self.first_name
+ if hasattr(self, "first_name")
+ else None
+ )
+ _last_name=(
+ self.last_name
+ if hasattr(self, "last_name")
+ else None
+ )
+ _card_type=(
+ self.card_type
+ if hasattr(self, "card_type")
+ else None
+ )
+ _additional_properties=self.additional_properties
+ return (
+ f"{self.__class__.__name__}("
+ f"first_name={_first_name!r}, "
+ f"last_name={_last_name!r}, "
+ f"card_type={_card_type!r}, "
+ f"additional_properties={_additional_properties!r}, "
+ f")"
+ )
+
+ def __str__(self):
+ """Return a human-readable string representation."""
+ _first_name=(
+ self.first_name
+ if hasattr(self, "first_name")
+ else None
+ )
+ _last_name=(
+ self.last_name
+ if hasattr(self, "last_name")
+ else None
+ )
+ _card_type=(
+ self.card_type
+ if hasattr(self, "card_type")
+ else None
+ )
+ _additional_properties=self.additional_properties
+ return (
+ f"{self.__class__.__name__}("
+ f"first_name={_first_name!s}, "
+ f"last_name={_last_name!s}, "
+ f"card_type={_card_type!s}, "
+ f"additional_properties={_additional_properties!s}, "
+ f")"
+ )
diff --git a/advancedbilling/models/site.py b/advancedbilling/models/site.py
index 8fdf473..850d6b2 100644
--- a/advancedbilling/models/site.py
+++ b/advancedbilling/models/site.py
@@ -44,6 +44,12 @@ class Site(object):
tax_configuration (TaxConfiguration): The model property of type
TaxConfiguration.
net_terms (NetTerms): The model property of type NetTerms.
+ multi_frequency_enabled (bool): Whether the site has the multi-frequency
+ billing feature enabled. Only present when relationship invoicing is
+ active.
+ auto_renewals_enabled (bool): Whether the auto-renewals feature is enabled
+ for this site.
+ portal_enabled (bool): Whether the Billing Portal is enabled for this site.
test (bool): The model property of type bool.
additional_properties (Dict[str, object]): The additional properties for the
model.
@@ -69,6 +75,9 @@ class Site(object):
"organization_address": "organization_address",
"tax_configuration": "tax_configuration",
"net_terms": "net_terms",
+ "multi_frequency_enabled": "multi_frequency_enabled",
+ "auto_renewals_enabled": "auto_renewals_enabled",
+ "portal_enabled": "portal_enabled",
"test": "test",
}
@@ -89,6 +98,9 @@ class Site(object):
"organization_address",
"tax_configuration",
"net_terms",
+ "multi_frequency_enabled",
+ "auto_renewals_enabled",
+ "portal_enabled",
"test",
]
@@ -110,6 +122,9 @@ def __init__(
organization_address=APIHelper.SKIP,
tax_configuration=APIHelper.SKIP,
net_terms=APIHelper.SKIP,
+ multi_frequency_enabled=APIHelper.SKIP,
+ auto_renewals_enabled=APIHelper.SKIP,
+ portal_enabled=APIHelper.SKIP,
test=APIHelper.SKIP,
additional_properties=None):
"""Initialize a Site instance."""
@@ -148,6 +163,12 @@ def __init__(
self.tax_configuration = tax_configuration
if net_terms is not APIHelper.SKIP:
self.net_terms = net_terms
+ if multi_frequency_enabled is not APIHelper.SKIP:
+ self.multi_frequency_enabled = multi_frequency_enabled
+ if auto_renewals_enabled is not APIHelper.SKIP:
+ self.auto_renewals_enabled = auto_renewals_enabled
+ if portal_enabled is not APIHelper.SKIP:
+ self.portal_enabled = portal_enabled
if test is not APIHelper.SKIP:
self.test = test
@@ -242,6 +263,18 @@ def from_dictionary(cls,
dictionary.get("net_terms"))\
if "net_terms" in dictionary.keys()\
else APIHelper.SKIP
+ multi_frequency_enabled =\
+ dictionary.get("multi_frequency_enabled")\
+ if "multi_frequency_enabled" in dictionary.keys()\
+ else APIHelper.SKIP
+ auto_renewals_enabled =\
+ dictionary.get("auto_renewals_enabled")\
+ if "auto_renewals_enabled" in dictionary.keys()\
+ else APIHelper.SKIP
+ portal_enabled =\
+ dictionary.get("portal_enabled")\
+ if "portal_enabled" in dictionary.keys()\
+ else APIHelper.SKIP
test =\
dictionary.get("test")\
if "test" in dictionary.keys()\
@@ -268,6 +301,9 @@ def from_dictionary(cls,
organization_address,
tax_configuration,
net_terms,
+ multi_frequency_enabled,
+ auto_renewals_enabled,
+ portal_enabled,
test,
additional_properties)
@@ -353,6 +389,21 @@ def __repr__(self):
if hasattr(self, "net_terms")
else None
)
+ _multi_frequency_enabled=(
+ self.multi_frequency_enabled
+ if hasattr(self, "multi_frequency_enabled")
+ else None
+ )
+ _auto_renewals_enabled=(
+ self.auto_renewals_enabled
+ if hasattr(self, "auto_renewals_enabled")
+ else None
+ )
+ _portal_enabled=(
+ self.portal_enabled
+ if hasattr(self, "portal_enabled")
+ else None
+ )
_test=(
self.test
if hasattr(self, "test")
@@ -377,6 +428,9 @@ def __repr__(self):
f"organization_address={_organization_address!r}, "
f"tax_configuration={_tax_configuration!r}, "
f"net_terms={_net_terms!r}, "
+ f"multi_frequency_enabled={_multi_frequency_enabled!r}, "
+ f"auto_renewals_enabled={_auto_renewals_enabled!r}, "
+ f"portal_enabled={_portal_enabled!r}, "
f"test={_test!r}, "
f"additional_properties={_additional_properties!r}, "
f")"
@@ -464,6 +518,21 @@ def __str__(self):
if hasattr(self, "net_terms")
else None
)
+ _multi_frequency_enabled=(
+ self.multi_frequency_enabled
+ if hasattr(self, "multi_frequency_enabled")
+ else None
+ )
+ _auto_renewals_enabled=(
+ self.auto_renewals_enabled
+ if hasattr(self, "auto_renewals_enabled")
+ else None
+ )
+ _portal_enabled=(
+ self.portal_enabled
+ if hasattr(self, "portal_enabled")
+ else None
+ )
_test=(
self.test
if hasattr(self, "test")
@@ -488,6 +557,9 @@ def __str__(self):
f"organization_address={_organization_address!s}, "
f"tax_configuration={_tax_configuration!s}, "
f"net_terms={_net_terms!s}, "
+ f"multi_frequency_enabled={_multi_frequency_enabled!s}, "
+ f"auto_renewals_enabled={_auto_renewals_enabled!s}, "
+ f"portal_enabled={_portal_enabled!s}, "
f"test={_test!s}, "
f"additional_properties={_additional_properties!s}, "
f")"
diff --git a/advancedbilling/models/tokenized_payment_profile.py b/advancedbilling/models/tokenized_payment_profile.py
new file mode 100644
index 0000000..97190f1
--- /dev/null
+++ b/advancedbilling/models/tokenized_payment_profile.py
@@ -0,0 +1,200 @@
+"""advanced_billing.
+
+This file was automatically generated for Maxio by APIMATIC v3.0 (
+ https://www.apimatic.io ).
+"""
+
+# ruff: noqa: E501
+from advancedbilling.api_helper import APIHelper
+
+
+class TokenizedPaymentProfile(object):
+ """Implementation of the 'Tokenized Payment Profile' model.
+
+ Attributes:
+ id (int): The model property of type int.
+ vault_token (str): The model property of type str.
+ gateway_handle (str): The model property of type str.
+ customer_vault_token (str): The model property of type str.
+ additional_properties (Dict[str, object]): The additional properties for the
+ model.
+
+ """
+
+ # Create a mapping from Model property names to API property names
+ _names = {
+ "id": "id",
+ "vault_token": "vault_token",
+ "gateway_handle": "gateway_handle",
+ "customer_vault_token": "customer_vault_token",
+ }
+
+ _optionals = [
+ "vault_token",
+ "gateway_handle",
+ "customer_vault_token",
+ ]
+
+ _nullables = [
+ "gateway_handle",
+ "customer_vault_token",
+ ]
+
+ def __init__(
+ self,
+ id=None,
+ vault_token=APIHelper.SKIP,
+ gateway_handle=APIHelper.SKIP,
+ customer_vault_token=APIHelper.SKIP,
+ additional_properties=None):
+ """Initialize a TokenizedPaymentProfile instance."""
+ # Initialize members of the class
+ self.id = id
+ if vault_token is not APIHelper.SKIP:
+ self.vault_token = vault_token
+ if gateway_handle is not APIHelper.SKIP:
+ self.gateway_handle = gateway_handle
+ if customer_vault_token is not APIHelper.SKIP:
+ self.customer_vault_token = customer_vault_token
+
+ # Add additional model properties to the instance
+ if additional_properties is None:
+ additional_properties = {}
+ self.additional_properties = additional_properties
+
+ @classmethod
+ def from_dictionary(cls,
+ dictionary):
+ """Create an instance of this model from a dictionary
+
+ Args:
+ dictionary (dictionary): A dictionary representation of the object
+ as obtained from the deserialization of the server's response. The
+ keys MUST match property names in the API description.
+
+ Returns:
+ object: An instance of this structure class.
+
+ """
+ if not isinstance(dictionary, dict) or dictionary is None:
+ return None
+
+ # Extract variables from the dictionary
+ id =\
+ dictionary.get("id")\
+ if dictionary.get("id")\
+ else None
+ vault_token =\
+ dictionary.get("vault_token")\
+ if dictionary.get("vault_token")\
+ else APIHelper.SKIP
+ gateway_handle =\
+ dictionary.get("gateway_handle")\
+ if "gateway_handle" in dictionary.keys()\
+ else APIHelper.SKIP
+ customer_vault_token =\
+ dictionary.get("customer_vault_token")\
+ if "customer_vault_token" in dictionary.keys()\
+ else APIHelper.SKIP
+
+ # Clean out expected properties from dictionary
+ additional_properties =\
+ {k: v for k, v in dictionary.items() if k not in cls._names.values()}
+
+ # Return an object of this model
+ return cls(id,
+ vault_token,
+ gateway_handle,
+ customer_vault_token,
+ additional_properties)
+
+ @classmethod
+ def validate(cls, dictionary):
+ """Validate dictionary against class required properties
+
+ Args:
+ dictionary (dictionary): A dictionary representation of the object
+ as obtained from the deserialization of the server's response. The
+ keys MUST match property names in the API description.
+
+ Returns:
+ boolean : if dictionary is valid contains required properties.
+
+ """
+ if isinstance(dictionary, cls):
+ return APIHelper.is_valid_type(
+ value=dictionary.id,
+ type_callable=lambda value:
+ isinstance(
+ value,
+ int,
+ ))
+
+ if not isinstance(dictionary, dict):
+ return False
+
+ return APIHelper.is_valid_type(
+ value=dictionary.get("id"),
+ type_callable=lambda value:
+ isinstance(
+ value,
+ int,
+ ))
+
+ def __repr__(self):
+ """Return a unambiguous string representation."""
+ _id=self.id
+ _vault_token=(
+ self.vault_token
+ if hasattr(self, "vault_token")
+ else None
+ )
+ _gateway_handle=(
+ self.gateway_handle
+ if hasattr(self, "gateway_handle")
+ else None
+ )
+ _customer_vault_token=(
+ self.customer_vault_token
+ if hasattr(self, "customer_vault_token")
+ else None
+ )
+ _additional_properties=self.additional_properties
+ return (
+ f"{self.__class__.__name__}("
+ f"id={_id!r}, "
+ f"vault_token={_vault_token!r}, "
+ f"gateway_handle={_gateway_handle!r}, "
+ f"customer_vault_token={_customer_vault_token!r}, "
+ f"additional_properties={_additional_properties!r}, "
+ f")"
+ )
+
+ def __str__(self):
+ """Return a human-readable string representation."""
+ _id=self.id
+ _vault_token=(
+ self.vault_token
+ if hasattr(self, "vault_token")
+ else None
+ )
+ _gateway_handle=(
+ self.gateway_handle
+ if hasattr(self, "gateway_handle")
+ else None
+ )
+ _customer_vault_token=(
+ self.customer_vault_token
+ if hasattr(self, "customer_vault_token")
+ else None
+ )
+ _additional_properties=self.additional_properties
+ return (
+ f"{self.__class__.__name__}("
+ f"id={_id!s}, "
+ f"vault_token={_vault_token!s}, "
+ f"gateway_handle={_gateway_handle!s}, "
+ f"customer_vault_token={_customer_vault_token!s}, "
+ f"additional_properties={_additional_properties!s}, "
+ f")"
+ )
diff --git a/advancedbilling/models/webhook_subscription.py b/advancedbilling/models/webhook_subscription.py
index 2854933..f48ad93 100644
--- a/advancedbilling/models/webhook_subscription.py
+++ b/advancedbilling/models/webhook_subscription.py
@@ -12,12 +12,15 @@ class WebhookSubscription(object):
Attributes:
BILLING_DATE_CHANGE: The enum member of type str.
COMPONENT_ALLOCATION_CHANGE: The enum member of type str.
+ CHJS_TOKENIZATION_FAILURE: The enum member of type str.
+ CHJS_TOKENIZATION_SUCCESS: The enum member of type str.
CUSTOMER_CREATE: The enum member of type str.
CUSTOMER_UPDATE: The enum member of type str.
DUNNING_STEP_REACHED: The enum member of type str.
EXPIRING_CARD: The enum member of type str.
EXPIRATION_DATE_CHANGE: The enum member of type str.
INVOICE_ISSUED: The enum member of type str.
+ INVOICE_PENDING: The enum member of type str.
METERED_USAGE: The enum member of type str.
PAYMENT_FAILURE: The enum member of type str.
PAYMENT_SUCCESS: The enum member of type str.
@@ -55,6 +58,10 @@ class WebhookSubscription(object):
COMPONENT_ALLOCATION_CHANGE = "component_allocation_change"
+ CHJS_TOKENIZATION_FAILURE = "chjs_tokenization_failure"
+
+ CHJS_TOKENIZATION_SUCCESS = "chjs_tokenization_success"
+
CUSTOMER_CREATE = "customer_create"
CUSTOMER_UPDATE = "customer_update"
@@ -67,6 +74,8 @@ class WebhookSubscription(object):
INVOICE_ISSUED = "invoice_issued"
+ INVOICE_PENDING = "invoice_pending"
+
METERED_USAGE = "metered_usage"
PAYMENT_FAILURE = "payment_failure"
diff --git a/advancedbilling/utilities/union_type_lookup.py b/advancedbilling/utilities/union_type_lookup.py
index d2d96cc..c80d597 100644
--- a/advancedbilling/utilities/union_type_lookup.py
+++ b/advancedbilling/utilities/union_type_lookup.py
@@ -54,6 +54,12 @@
from advancedbilling.models.change_invoice_status_event import (
ChangeInvoiceStatusEvent,
)
+from advancedbilling.models.chjs_tokenization_failure import (
+ ChjsTokenizationFailure,
+)
+from advancedbilling.models.chjs_tokenization_success import (
+ ChjsTokenizationSuccess,
+)
from advancedbilling.models.component_allocation_change import (
ComponentAllocationChange,
)
@@ -409,16 +415,7 @@ class UnionTypeLookUp:
is_optional=True,
),
),
- "AllocationPreviewItemQuantity": lambda: OneOf(
- [
- LeafType(int),
- LeafType(str),
- ],
- Context.create(
- is_optional=True,
- ),
- ),
- "AllocationPreviewItemPreviousQuantity": lambda: OneOf(
+ "AllocationQuantity": lambda: OneOf(
[
LeafType(int),
LeafType(str),
@@ -427,7 +424,7 @@ class UnionTypeLookUp:
is_optional=True,
),
),
- "AllocationQuantity": lambda: OneOf(
+ "AllocationPreviousQuantity": lambda: OneOf(
[
LeafType(int),
LeafType(str),
@@ -436,7 +433,7 @@ class UnionTypeLookUp:
is_optional=True,
),
),
- "AllocationPreviousQuantity": lambda: OneOf(
+ "AllocationPreviewItemQuantity": lambda: OneOf(
[
LeafType(int),
LeafType(str),
@@ -445,7 +442,7 @@ class UnionTypeLookUp:
is_optional=True,
),
),
- "ComponentAllocationChangeAllocatedQuantity": lambda: OneOf(
+ "AllocationPreviewItemPreviousQuantity": lambda: OneOf(
[
LeafType(int),
LeafType(str),
@@ -492,35 +489,25 @@ class UnionTypeLookUp:
is_optional=True,
),
),
- "CreateAllocationPricePointId": lambda: OneOf(
+ "ComponentAllocationChangeAllocatedQuantity": lambda: OneOf(
[
- LeafType(str),
LeafType(int),
+ LeafType(str),
],
Context.create(
is_optional=True,
- is_nullable=True,
),
),
- "CreateMultiInvoicePaymentAmount": lambda: OneOf(
+ "ComponentPricePointAssignmentPricePoint": lambda: OneOf(
[
LeafType(str),
- LeafType(float),
- ],
- ),
- "CustomerErrorResponseErrors": lambda: OneOf(
- [
- LeafType(CustomerError),
- LeafType(str,
- Context.create(
- is_array=True,
- )),
+ LeafType(int),
],
Context.create(
is_optional=True,
),
),
- "EBBComponentUnitPrice": lambda: OneOf(
+ "CouponPayloadPercentage": lambda: OneOf(
[
LeafType(str),
LeafType(float),
@@ -529,13 +516,14 @@ class UnionTypeLookUp:
is_optional=True,
),
),
- "CouponPayloadPercentage": lambda: OneOf(
+ "CreateAllocationPricePointId": lambda: OneOf(
[
LeafType(str),
- LeafType(float),
+ LeafType(int),
],
Context.create(
is_optional=True,
+ is_nullable=True,
),
),
"CreateComponentPricePointRequestPricePoint": lambda: AnyOf(
@@ -544,6 +532,15 @@ class UnionTypeLookUp:
LeafType(CreatePrepaidUsageComponentPricePoint),
],
),
+ "CreateComponentPricePointsRequestPricePoints": lambda: AnyOf(
+ [
+ LeafType(CreateComponentPricePoint),
+ LeafType(CreatePrepaidUsageComponentPricePoint),
+ ],
+ Context.create(
+ is_array=True,
+ ),
+ ),
"CreateInvoiceCouponPercentage": lambda: OneOf(
[
LeafType(str),
@@ -571,159 +568,147 @@ class UnionTypeLookUp:
is_optional=True,
),
),
- "CreateInvoicePaymentAmount": lambda: OneOf(
+ "CreateInvoiceItemQuantity": lambda: OneOf(
[
- LeafType(str),
LeafType(float),
+ LeafType(str),
],
Context.create(
is_optional=True,
),
),
- "CreateMetafieldsRequestMetafields": lambda: OneOf(
- [
- LeafType(CreateMetafield),
- LeafType(CreateMetafield,
- Context.create(
- is_array=True,
- )),
- ],
- ),
- "CreateOrUpdateSegmentPriceUnitPrice": lambda: OneOf(
+ "CreateInvoiceItemUnitPrice": lambda: OneOf(
[
- LeafType(str),
LeafType(float),
+ LeafType(str),
],
+ Context.create(
+ is_optional=True,
+ ),
),
- "CreateSegmentSegmentProperty1Value": lambda: OneOf(
+ "CreateInvoiceItemProductId": lambda: OneOf(
[
LeafType(str),
- LeafType(float),
LeafType(int),
- LeafType(bool),
],
Context.create(
is_optional=True,
),
),
- "CreateSegmentSegmentProperty2Value": lambda: OneOf(
+ "CreateInvoiceItemComponentId": lambda: OneOf(
[
LeafType(str),
- LeafType(float),
LeafType(int),
- LeafType(bool),
],
Context.create(
is_optional=True,
),
),
- "CreateSegmentSegmentProperty3Value": lambda: OneOf(
+ "CreateInvoiceItemPricePointId": lambda: OneOf(
[
LeafType(str),
- LeafType(float),
LeafType(int),
- LeafType(bool),
],
Context.create(
is_optional=True,
),
),
- "CreateSegmentSegmentProperty4Value": lambda: OneOf(
+ "CreateInvoiceItemProductPricePointId": lambda: OneOf(
[
LeafType(str),
- LeafType(float),
LeafType(int),
- LeafType(bool),
],
Context.create(
is_optional=True,
),
),
- "ComponentPricePointAssignmentPricePoint": lambda: OneOf(
+ "CreateInvoicePaymentAmount": lambda: OneOf(
[
LeafType(str),
- LeafType(int),
+ LeafType(float),
],
Context.create(
is_optional=True,
),
),
- "CreateComponentPricePointsRequestPricePoints": lambda: AnyOf(
+ "CreateMetafieldsRequestMetafields": lambda: OneOf(
[
- LeafType(CreateComponentPricePoint),
- LeafType(CreatePrepaidUsageComponentPricePoint),
+ LeafType(CreateMetafield),
+ LeafType(CreateMetafield,
+ Context.create(
+ is_array=True,
+ )),
],
- Context.create(
- is_array=True,
- ),
),
- "CreateInvoiceItemQuantity": lambda: OneOf(
+ "CreateMultiInvoicePaymentAmount": lambda: OneOf(
[
- LeafType(float),
LeafType(str),
+ LeafType(float),
],
- Context.create(
- is_optional=True,
- ),
),
- "CreateInvoiceItemUnitPrice": lambda: OneOf(
+ "CreateOrUpdateSegmentPriceUnitPrice": lambda: OneOf(
[
- LeafType(float),
LeafType(str),
+ LeafType(float),
],
- Context.create(
- is_optional=True,
- ),
),
- "CreateInvoiceItemProductId": lambda: OneOf(
+ "CreatePaymentProfileExpirationMonth": lambda: OneOf(
[
- LeafType(str),
LeafType(int),
+ LeafType(str),
],
Context.create(
is_optional=True,
),
),
- "CreateInvoiceItemComponentId": lambda: OneOf(
+ "CreatePaymentProfileExpirationYear": lambda: OneOf(
[
- LeafType(str),
LeafType(int),
+ LeafType(str),
],
Context.create(
is_optional=True,
),
),
- "CreateInvoiceItemPricePointId": lambda: OneOf(
+ "CreateSegmentSegmentProperty1Value": lambda: OneOf(
[
LeafType(str),
+ LeafType(float),
LeafType(int),
+ LeafType(bool),
],
Context.create(
is_optional=True,
),
),
- "CreateInvoiceItemProductPricePointId": lambda: OneOf(
+ "CreateSegmentSegmentProperty2Value": lambda: OneOf(
[
LeafType(str),
+ LeafType(float),
LeafType(int),
+ LeafType(bool),
],
Context.create(
is_optional=True,
),
),
- "CreatePaymentProfileExpirationMonth": lambda: OneOf(
+ "CreateSegmentSegmentProperty3Value": lambda: OneOf(
[
- LeafType(int),
LeafType(str),
+ LeafType(float),
+ LeafType(int),
+ LeafType(bool),
],
Context.create(
is_optional=True,
),
),
- "CreatePaymentProfileExpirationYear": lambda: OneOf(
+ "CreateSegmentSegmentProperty4Value": lambda: OneOf(
[
- LeafType(int),
LeafType(str),
+ LeafType(float),
+ LeafType(int),
+ LeafType(bool),
],
Context.create(
is_optional=True,
@@ -765,12 +750,33 @@ class UnionTypeLookUp:
is_optional=True,
),
),
+ "CustomerErrorResponseErrors": lambda: OneOf(
+ [
+ LeafType(CustomerError),
+ LeafType(str,
+ Context.create(
+ is_array=True,
+ )),
+ ],
+ Context.create(
+ is_optional=True,
+ ),
+ ),
"DeductServiceCreditAmount": lambda: OneOf(
[
LeafType(str),
LeafType(float),
],
),
+ "EBBComponentUnitPrice": lambda: OneOf(
+ [
+ LeafType(str),
+ LeafType(float),
+ ],
+ Context.create(
+ is_optional=True,
+ ),
+ ),
"EventEventSpecificData": lambda: OneOf(
[
LeafType(SubscriptionProductChange),
@@ -791,6 +797,8 @@ class UnionTypeLookUp:
LeafType(PaymentCollectionMethodChanged),
LeafType(ItemPricePointChanged),
LeafType(CustomFieldValueChange),
+ LeafType(ChjsTokenizationSuccess),
+ LeafType(ChjsTokenizationFailure),
],
Context.create(
is_nullable=True,
@@ -824,6 +832,12 @@ class UnionTypeLookUp:
is_optional=True,
),
),
+ "OnOffComponentUnitPrice": lambda: OneOf(
+ [
+ LeafType(str),
+ LeafType(float),
+ ],
+ ),
"PaymentProfileAttributesExpirationMonth": lambda: OneOf(
[
LeafType(int),
@@ -842,64 +856,101 @@ class UnionTypeLookUp:
is_optional=True,
),
),
- "ReactivateSubscriptionRequestResume": lambda: OneOf(
+ "Payment-Profile": lambda: AnyOf(
[
- LeafType(bool),
- LeafType(ResumeOptions),
+ LeafType(ApplePayPaymentProfile,
+ Context.create(
+ discriminator_value="apple_pay",
+ discriminator="payment_type",
+ )),
+ LeafType(BankAccountPaymentProfile,
+ Context.create(
+ discriminator_value="bank_account",
+ discriminator="payment_type",
+ )),
+ LeafType(CreditCardPaymentProfile,
+ Context.create(
+ discriminator_value="credit_card",
+ discriminator="payment_type",
+ )),
+ LeafType(PaypalPaymentProfile,
+ Context.create(
+ discriminator_value="paypal_account",
+ discriminator="payment_type",
+ )),
+ ],
+ ),
+ "PrepaidUsageComponentUnitPrice": lambda: OneOf(
+ [
+ LeafType(str),
+ LeafType(float),
],
Context.create(
is_optional=True,
),
),
- "SubscriptionCustomPricePriceInCents": lambda: OneOf(
+ "PriceStartingQuantity": lambda: OneOf(
[
+ LeafType(int),
LeafType(str),
+ ],
+ ),
+ "PriceEndingQuantity": lambda: OneOf(
+ [
LeafType(int),
+ LeafType(str),
],
+ Context.create(
+ is_optional=True,
+ is_nullable=True,
+ ),
),
- "SubscriptionCustomPriceInterval": lambda: OneOf(
+ "PriceUnitPrice": lambda: OneOf(
[
+ LeafType(float),
LeafType(str),
- LeafType(int),
],
),
- "SubscriptionCustomPriceTrialPriceInCents": lambda: OneOf(
+ "QuantityBasedComponentUnitPrice": lambda: OneOf(
[
LeafType(str),
- LeafType(int),
+ LeafType(float),
],
Context.create(
is_optional=True,
),
),
- "SubscriptionCustomPriceTrialInterval": lambda: OneOf(
+ "ReactivateSubscriptionRequestResume": lambda: OneOf(
[
- LeafType(str),
- LeafType(int),
+ LeafType(bool),
+ LeafType(ResumeOptions),
],
Context.create(
is_optional=True,
),
),
- "SubscriptionCustomPriceInitialChargeInCents": lambda: OneOf(
+ "RefundConsolidatedInvoiceSegmentUids": lambda: OneOf(
[
+ LeafType(str,
+ Context.create(
+ is_array=True,
+ )),
LeafType(str),
- LeafType(int),
],
- Context.create(
- is_optional=True,
- ),
),
- "SubscriptionCustomPriceExpirationInterval": lambda: OneOf(
+ "RefundInvoiceRequestRefund": lambda: AnyOf(
+ [
+ LeafType(RefundInvoice),
+ LeafType(RefundConsolidatedInvoice),
+ ],
+ ),
+ "RefundPrepaymentAmount": lambda: OneOf(
[
LeafType(str),
- LeafType(int),
+ LeafType(float),
],
- Context.create(
- is_optional=True,
- ),
),
- "SubscriptionGroupCreditCardFullNumber": lambda: OneOf(
+ "RenewalPreviewComponentComponentId": lambda: OneOf(
[
LeafType(str),
LeafType(int),
@@ -908,7 +959,7 @@ class UnionTypeLookUp:
is_optional=True,
),
),
- "SubscriptionGroupCreditCardExpirationMonth": lambda: OneOf(
+ "RenewalPreviewComponentPricePointId": lambda: OneOf(
[
LeafType(str),
LeafType(int),
@@ -917,22 +968,28 @@ class UnionTypeLookUp:
is_optional=True,
),
),
- "SubscriptionGroupCreditCardExpirationYear": lambda: OneOf(
+ "ScheduledRenewalConfigurationItemRequestRenewalConfigurationItem": lambda: OneOf(
+ [
+ LeafType(ScheduledRenewalItemRequestBodyComponent),
+ LeafType(ScheduledRenewalItemRequestBodyProduct),
+ ],
+ ),
+ "ScheduledRenewalProductPricePointPriceInCents": lambda: OneOf(
[
LeafType(str),
LeafType(int),
],
- Context.create(
- is_optional=True,
- ),
),
- "RefundConsolidatedInvoiceSegmentUids": lambda: OneOf(
+ "ScheduledRenewalProductPricePointInterval": lambda: OneOf(
[
- LeafType(str,
- Context.create(
- is_array=True,
- )),
LeafType(str),
+ LeafType(int),
+ ],
+ ),
+ "ScheduledRenewalUpdateRequestRenewalConfigurationItem": lambda: OneOf(
+ [
+ LeafType(ScheduledRenewalItemRequestBodyComponent),
+ LeafType(ScheduledRenewalItemRequestBodyProduct),
],
),
"SegmentSegmentProperty1Value": lambda: OneOf(
@@ -979,123 +1036,80 @@ class UnionTypeLookUp:
is_optional=True,
),
),
- "Payment-Profile": lambda: AnyOf(
- [
- LeafType(ApplePayPaymentProfile,
- Context.create(
- discriminator_value="apple_pay",
- discriminator="payment_type",
- )),
- LeafType(BankAccountPaymentProfile,
- Context.create(
- discriminator_value="bank_account",
- discriminator="payment_type",
- )),
- LeafType(CreditCardPaymentProfile,
- Context.create(
- discriminator_value="credit_card",
- discriminator="payment_type",
- )),
- LeafType(PaypalPaymentProfile,
- Context.create(
- discriminator_value="paypal_account",
- discriminator="payment_type",
- )),
- ],
- ),
- "RefundPrepaymentAmount": lambda: OneOf(
+ "SubscriptionComponentAllocatedQuantity": lambda: OneOf(
[
+ LeafType(int),
LeafType(str),
- LeafType(float),
- ],
- ),
- "ScheduledRenewalConfigurationItemRequestRenewalConfigurationItem": lambda: OneOf(
- [
- LeafType(ScheduledRenewalItemRequestBodyComponent),
- LeafType(ScheduledRenewalItemRequestBodyProduct),
],
+ Context.create(
+ is_optional=True,
+ ),
),
- "ScheduledRenewalProductPricePointPriceInCents": lambda: OneOf(
+ "SubscriptionCustomPricePriceInCents": lambda: OneOf(
[
LeafType(str),
LeafType(int),
],
),
- "ScheduledRenewalProductPricePointInterval": lambda: OneOf(
+ "SubscriptionCustomPriceInterval": lambda: OneOf(
[
LeafType(str),
LeafType(int),
],
),
- "SubscriptionComponentAllocatedQuantity": lambda: OneOf(
+ "SubscriptionCustomPriceTrialPriceInCents": lambda: OneOf(
[
- LeafType(int),
LeafType(str),
+ LeafType(int),
],
Context.create(
is_optional=True,
),
),
- "SubscriptionGroupCreateErrorResponseErrors": lambda: OneOf(
- [
- LeafType(SubscriptionGroupMembersArrayError),
- LeafType(SubscriptionGroupSingleError),
- LeafType(str),
- ],
- ),
- "OnOffComponentUnitPrice": lambda: OneOf(
+ "SubscriptionCustomPriceTrialInterval": lambda: OneOf(
[
LeafType(str),
- LeafType(float),
+ LeafType(int),
],
+ Context.create(
+ is_optional=True,
+ ),
),
- "PrepaidUsageComponentUnitPrice": lambda: OneOf(
+ "SubscriptionCustomPriceInitialChargeInCents": lambda: OneOf(
[
LeafType(str),
- LeafType(float),
+ LeafType(int),
],
Context.create(
is_optional=True,
),
),
- "PriceStartingQuantity": lambda: OneOf(
+ "SubscriptionCustomPriceExpirationInterval": lambda: OneOf(
[
- LeafType(int),
LeafType(str),
- ],
- ),
- "PriceEndingQuantity": lambda: OneOf(
- [
LeafType(int),
- LeafType(str),
],
Context.create(
is_optional=True,
- is_nullable=True,
),
),
- "PriceUnitPrice": lambda: OneOf(
+ "SubscriptionGroupCreateErrorResponseErrors": lambda: OneOf(
[
- LeafType(float),
+ LeafType(SubscriptionGroupMembersArrayError),
+ LeafType(SubscriptionGroupSingleError),
LeafType(str),
],
),
- "QuantityBasedComponentUnitPrice": lambda: OneOf(
+ "SubscriptionGroupCreditCardFullNumber": lambda: OneOf(
[
LeafType(str),
- LeafType(float),
+ LeafType(int),
],
Context.create(
is_optional=True,
),
),
- "RefundInvoiceRequestRefund": lambda: AnyOf(
- [
- LeafType(RefundInvoice),
- LeafType(RefundConsolidatedInvoice),
- ],
- ),
- "RenewalPreviewComponentComponentId": lambda: OneOf(
+ "SubscriptionGroupCreditCardExpirationMonth": lambda: OneOf(
[
LeafType(str),
LeafType(int),
@@ -1104,7 +1118,7 @@ class UnionTypeLookUp:
is_optional=True,
),
),
- "RenewalPreviewComponentPricePointId": lambda: OneOf(
+ "SubscriptionGroupCreditCardExpirationYear": lambda: OneOf(
[
LeafType(str),
LeafType(int),
@@ -1113,12 +1127,6 @@ class UnionTypeLookUp:
is_optional=True,
),
),
- "ScheduledRenewalUpdateRequestRenewalConfigurationItem": lambda: OneOf(
- [
- LeafType(ScheduledRenewalItemRequestBodyComponent),
- LeafType(ScheduledRenewalItemRequestBodyProduct),
- ],
- ),
"SubscriptionGroupSignupComponentComponentId": lambda: OneOf(
[
LeafType(str),
@@ -1155,6 +1163,18 @@ class UnionTypeLookUp:
is_optional=True,
),
),
+ "UpdateMetafieldsRequestMetafields": lambda: OneOf(
+ [
+ LeafType(UpdateMetafield),
+ LeafType(UpdateMetafield,
+ Context.create(
+ is_array=True,
+ )),
+ ],
+ Context.create(
+ is_optional=True,
+ ),
+ ),
"UpdatePriceEndingQuantity": lambda: OneOf(
[
LeafType(int),
@@ -1182,18 +1202,6 @@ class UnionTypeLookUp:
is_optional=True,
),
),
- "UpdateMetafieldsRequestMetafields": lambda: OneOf(
- [
- LeafType(UpdateMetafield),
- LeafType(UpdateMetafield,
- Context.create(
- is_array=True,
- )),
- ],
- Context.create(
- is_optional=True,
- ),
- ),
"UpdateSubscriptionSnapDay": lambda: OneOf(
[
LeafType(str),
diff --git a/doc/controllers/advance-invoice.md b/doc/controllers/advance-invoice.md
index 24efc08..2a8220f 100644
--- a/doc/controllers/advance-invoice.md
+++ b/doc/controllers/advance-invoice.md
@@ -17,7 +17,7 @@ advance_invoice_controller = client.advance_invoice
# Issue Advance Invoice
-Generate an invoice in advance for a subscription's next renewal date. [See our docs](https://maxio.zendesk.com/hc/en-us/articles/24252026404749-Issue-Invoice-In-Advance) for more information on advance invoices, including eligibility on generating one; for the most part, they function like any other invoice, except they are issued early and have special behavior upon being voided.
+Generate an invoice in advance for a subscription's next renewal date. [See our docs](https://maxio.zendesk.com/hc/en-us/articles/24252026404749-Issue-Invoice-In-Advance) for more information on advance invoices, including eligibility for generating one; for the most part, they function like any other invoice, except they are issued early and have special behavior upon being voided.
A subscription may only have one advance invoice per billing period. Attempting to issue an advance invoice when one already exists will return an error.
That said, regeneration of the invoice may be forced with the params `force: true`, which will void an advance invoice if one exists and generate a new one. If no advance invoice exists, a new one will be generated.
We recommend using either the create or preview endpoints for proforma invoices to preview this advance invoice before using this endpoint to generate it.
@@ -28,6 +28,10 @@ def issue_advance_invoice(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -37,6 +41,8 @@ def issue_advance_invoice(self,
## Response Type
+**201**: Created
+
[`Invoice`](../../doc/models/invoice.md)
## Example Usage
@@ -65,13 +71,17 @@ print(result)
# Read Advance Invoice
-Once an advance invoice has been generated for a subscription's upcoming renewal, it can be viewed through this endpoint. There can only be one advance invoice per subscription per billing cycle.
+Returns the advance invoice generated for a subscription's upcoming renewal. There can only be one advance invoice per subscription per billing cycle.
```python
def read_advance_invoice(self,
subscription_id)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -80,6 +90,8 @@ def read_advance_invoice(self,
## Response Type
+**200**: OK
+
[`Invoice`](../../doc/models/invoice.md)
## Example Usage
@@ -109,6 +121,10 @@ def void_advance_invoice(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -118,6 +134,8 @@ def void_advance_invoice(self,
## Response Type
+**201**: Created
+
[`Invoice`](../../doc/models/invoice.md)
## Example Usage
diff --git a/doc/controllers/api-exports.md b/doc/controllers/api-exports.md
index 5251b00..2ac10bb 100644
--- a/doc/controllers/api-exports.md
+++ b/doc/controllers/api-exports.md
@@ -23,7 +23,7 @@ api_exports_controller = client.api_exports
# List Exported Proforma Invoices
-This API returns an array of exported proforma invoices for a provided `batch_id`. Pay close attention to pagination in order to control responses from the server.
+Lists exported proforma invoices for a provided `batch_id`. Use pagination to control responses returned from the server.
Example: `GET https://{subdomain}.chargify.com/api_exports/proforma_invoices/123/rows?per_page=10000&page=1`.
@@ -32,6 +32,10 @@ def list_exported_proforma_invoices(self,
options=dict())
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -42,6 +46,8 @@ def list_exported_proforma_invoices(self,
## Response Type
+**200**: OK
+
[`List[ProformaInvoice]`](../../doc/models/proforma-invoice.md)
## Example Usage
@@ -65,7 +71,7 @@ print(result)
# List Exported Invoices
-This API returns an array of exported invoices for a provided `batch_id`. Pay close attention to pagination in order to control responses from the server.
+Lists exported invoices for a provided `batch_id`. Use pagination to control responses returned from the server.
Example: `GET https://{subdomain}.chargify.com/api_exports/invoices/123/rows?per_page=10000&page=1`.
@@ -74,6 +80,10 @@ def list_exported_invoices(self,
options=dict())
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -84,6 +94,8 @@ def list_exported_invoices(self,
## Response Type
+**200**: OK
+
[`List[Invoice]`](../../doc/models/invoice.md)
## Example Usage
@@ -107,7 +119,7 @@ print(result)
# List Exported Subscriptions
-This API returns an array of exported subscriptions for a provided `batch_id`. Pay close attention to pagination in order to control responses from the server.
+Lists exported subscriptions for a provided `batch_id`. Use pagination to control responses returned from the server.
Example: `GET https://{subdomain}.chargify.com/api_exports/subscriptions/123/rows?per_page=200&page=1`.
@@ -116,6 +128,10 @@ def list_exported_subscriptions(self,
options=dict())
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -126,6 +142,8 @@ def list_exported_subscriptions(self,
## Response Type
+**200**: OK
+
[`List[Subscription]`](../../doc/models/subscription.md)
## Example Usage
@@ -149,7 +167,7 @@ print(result)
# Export Proforma Invoices
-This API creates a proforma invoices export and returns a batchjob object.
+Creates a proforma invoices export and returns a batch job object.
It is only available for Relationship Invoicing architecture.
@@ -157,8 +175,14 @@ It is only available for Relationship Invoicing architecture.
def export_proforma_invoices(self)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Response Type
+**201**: Created
+
[`BatchJobResponse`](../../doc/models/batch-job-response.md)
## Example Usage
@@ -178,14 +202,20 @@ print(result)
# Export Invoices
-This API creates an invoices export and returns a batchjob object.
+Creates an invoices export and returns a batch job object.
```python
def export_invoices(self)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Response Type
+**201**: Created
+
[`BatchJobResponse`](../../doc/models/batch-job-response.md)
## Example Usage
@@ -205,14 +235,20 @@ print(result)
# Export Subscriptions
-This API creates a subscriptions export and returns a batchjob object.
+Creates a subscriptions export and returns a batch job object.
```python
def export_subscriptions(self)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Response Type
+**201**: Created
+
[`BatchJobResponse`](../../doc/models/batch-job-response.md)
## Example Usage
@@ -231,13 +267,17 @@ print(result)
# Read Proforma Invoices Export
-This API returns a batchjob object for proforma invoices export.
+Returns a batch job object for a proforma invoices export.
```python
def read_proforma_invoices_export(self,
batch_id)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -246,6 +286,8 @@ def read_proforma_invoices_export(self,
## Response Type
+**200**: OK
+
[`BatchJobResponse`](../../doc/models/batch-job-response.md)
## Example Usage
@@ -266,13 +308,17 @@ print(result)
# Read Invoices Export
-This API returns a batchjob object for invoices export.
+Returns a batch job object for an invoices export.
```python
def read_invoices_export(self,
batch_id)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -281,6 +327,8 @@ def read_invoices_export(self,
## Response Type
+**200**: OK
+
[`BatchJobResponse`](../../doc/models/batch-job-response.md)
## Example Usage
@@ -301,13 +349,17 @@ print(result)
# Read Subscriptions Export
-This API returns a batchjob object for subscriptions export.
+Returns a batch job object for a subscriptions export.
```python
def read_subscriptions_export(self,
batch_id)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -316,6 +368,8 @@ def read_subscriptions_export(self,
## Response Type
+**200**: OK
+
[`BatchJobResponse`](../../doc/models/batch-job-response.md)
## Example Usage
diff --git a/doc/controllers/billing-portal.md b/doc/controllers/billing-portal.md
index 7029fa9..d3c2036 100644
--- a/doc/controllers/billing-portal.md
+++ b/doc/controllers/billing-portal.md
@@ -18,11 +18,13 @@ billing_portal_controller = client.billing_portal
# Enable Billing Portal for Customer
+Enables Billing Portal access for a customer, with an option to send an invitation email at the same time.
+
## Billing Portal Documentation
Full documentation on how the Billing Portal operates within the Advanced Billing UI can be located [here](https://maxio.zendesk.com/hc/en-us/articles/24252412965133-Billing-Portal-Overview).
-This documentation is focused on how the to configure the Billing Portal Settings, as well as Subscriber Interaction and Merchant Management of the Billing Portal.
+This documentation is focused on how to configure the Billing Portal Settings, as well as Subscriber Interaction and Merchant Management of the Billing Portal.
You can use this endpoint to enable Billing Portal access for a Customer, with the option of sending the Customer an Invitation email at the same time.
@@ -40,6 +42,10 @@ def enable_billing_portal_for_customer(self,
auto_invite=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -49,6 +55,8 @@ def enable_billing_portal_for_customer(self,
## Response Type
+**200**: OK
+
[`CustomerResponse`](../../doc/models/customer-response.md)
## Example Usage
@@ -69,7 +77,7 @@ print(result)
# Read Billing Portal Link
-This method will provide to the API user the exact URL required for a subscriber to access the Billing Portal.
+Returns the exact URL required for a subscriber to access the Billing Portal.
## Rules for Management Link API
@@ -84,6 +92,10 @@ def read_billing_portal_link(self,
customer_id)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -92,6 +104,8 @@ def read_billing_portal_link(self,
## Response Type
+**200**: OK
+
[`PortalManagementLink`](../../doc/models/portal-management-link.md)
## Example Usage
@@ -126,15 +140,13 @@ print(result)
# Resend Billing Portal Invitation
-You can resend a customer's Billing Portal invitation.
+Resends a customer's Billing Portal invitation.
-If you attempt to resend an invitation 5 times within 30 minutes, you will receive a `422` response with `error` message in the body.
+If you attempt to resend an invitation 5 times within 30 minutes, you will receive a `422` response with an `error` message in the body.
If you attempt to resend an invitation when the Billing Portal is already disabled for a Customer, you will receive a `422` error response.
-If you attempt to resend an invitation when the Billing Portal is already disabled for a Customer, you will receive a `422` error response.
-
-If you attempt to resend an invitation when the Customer does not exist a Customer, you will receive a `404` error response.
+If you attempt to resend an invitation when the Customer does not exist, you will receive a `404` error response.
## Limitations
@@ -145,6 +157,10 @@ def resend_billing_portal_invitation(self,
customer_id)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -153,6 +169,8 @@ def resend_billing_portal_invitation(self,
## Response Type
+**200**: OK
+
[`ResentInvitation`](../../doc/models/resent-invitation.md)
## Example Usage
@@ -185,7 +203,7 @@ print(result)
# Revoke Billing Portal Access
-You can revoke a customer's Billing Portal invitation.
+Revokes a customer's Billing Portal invitation.
If you attempt to revoke an invitation when the Billing Portal is already disabled for a Customer, you will receive a 422 error response.
@@ -198,6 +216,10 @@ def revoke_billing_portal_access(self,
customer_id)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -206,6 +228,8 @@ def revoke_billing_portal_access(self,
## Response Type
+**200**: OK
+
[`RevokedInvitation`](../../doc/models/revoked-invitation.md)
## Example Usage
diff --git a/doc/controllers/component-price-points.md b/doc/controllers/component-price-points.md
index fb91baa..d13392f 100644
--- a/doc/controllers/component-price-points.md
+++ b/doc/controllers/component-price-points.md
@@ -38,6 +38,10 @@ def promote_component_price_point_to_default(self,
price_point_id)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -47,6 +51,8 @@ def promote_component_price_point_to_default(self,
## Response Type
+**200**: OK
+
[`ComponentResponse`](../../doc/models/component-response.md)
## Example Usage
@@ -107,6 +113,10 @@ def create_component_price_point(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -116,6 +126,8 @@ def create_component_price_point(self,
## Response Type
+**200**: OK
+
[`ComponentPricePointResponse`](../../doc/models/component-price-point-response.md)
## Example Usage
@@ -160,7 +172,7 @@ print(result)
# List Component Price Points
-Use this endpoint to read current price points that are associated with a component.
+Lists the price points associated with a component.
You may specify the component by using either the numeric id or the `handle:gold` syntax.
@@ -173,6 +185,10 @@ def list_component_price_points(self,
options=dict())
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -185,6 +201,8 @@ def list_component_price_points(self,
## Response Type
+**201**: Created
+
[`ComponentPricePointsResponse`](../../doc/models/component-price-points-response.md)
## Example Usage
@@ -252,7 +270,7 @@ print(result)
# Bulk Create Component Price Points
-Use this endpoint to create multiple component price points in one request.
+Creates multiple component price points in one request.
```python
def bulk_create_component_price_points(self,
@@ -260,6 +278,10 @@ def bulk_create_component_price_points(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -269,6 +291,8 @@ def bulk_create_component_price_points(self,
## Response Type
+**200**: OK
+
[`ComponentPricePointsResponse`](../../doc/models/component-price-points-response.md)
## Example Usage
@@ -396,6 +420,10 @@ def clone_component_price_point(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -406,6 +434,8 @@ def clone_component_price_point(self,
## Response Type
+**201**: Created
+
[`ComponentPricePointCurrencyOverageResponse`](../../doc/models/component-price-point-currency-overage-response.md)
## Example Usage
@@ -511,7 +541,7 @@ print(result)
# Update Component Price Point
-When updating a price point, prices can be updated as well by creating new prices or editing / removing existing ones.
+Updates a component price point and its associated prices.
Passing in a price bracket without an `id` will attempt to create a new price.
@@ -526,6 +556,10 @@ def update_component_price_point(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -536,6 +570,8 @@ def update_component_price_point(self,
## Response Type
+**200**: OK
+
[`ComponentPricePointResponse`](../../doc/models/component-price-point-response.md)
## Example Usage
@@ -583,7 +619,7 @@ print(result)
# Read Component Price Point
-Use this endpoint to retrieve details for a specific component price point. You can achieve this by using either the component price point ID or handle.
+Returns details for a specific component price point. You can achieve this by using either the component price point ID or handle.
```python
def read_component_price_point(self,
@@ -592,6 +628,10 @@ def read_component_price_point(self,
currency_prices=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -602,6 +642,8 @@ def read_component_price_point(self,
## Response Type
+**200**: OK
+
[`ComponentPricePointCurrencyOverageResponse`](../../doc/models/component-price-point-currency-overage-response.md)
## Example Usage
@@ -621,7 +663,7 @@ print(result)
# Archive Component Price Point
-A price point can be archived at any time. Subscriptions using a price point that has been archived will continue using it until they're moved to another price point.
+Archives a component price point. Subscriptions using a price point that has been archived will continue using it until they're moved to another price point.
```python
def archive_component_price_point(self,
@@ -629,6 +671,10 @@ def archive_component_price_point(self,
price_point_id)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -638,6 +684,8 @@ def archive_component_price_point(self,
## Response Type
+**200**: OK
+
[`ComponentPricePointResponse`](../../doc/models/component-price-point-response.md)
## Example Usage
@@ -697,7 +745,7 @@ print(result)
# Unarchive Component Price Point
-Use this endpoint to unarchive a component price point.
+Unarchives a component price point.
```python
def unarchive_component_price_point(self,
@@ -705,6 +753,10 @@ def unarchive_component_price_point(self,
price_point_id)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -714,6 +766,8 @@ def unarchive_component_price_point(self,
## Response Type
+**200**: OK
+
[`ComponentPricePointResponse`](../../doc/models/component-price-point-response.md)
## Example Usage
@@ -767,7 +821,7 @@ print(result)
# Create Currency Prices
-This endpoint allows you to create currency prices for a given currency that has been defined on the site level in your settings.
+Creates currency prices for a given currency defined at the site level.
When creating currency prices, they need to mirror the structure of your primary pricing. For each price level defined on the component price point, there should be a matching price level created in the given currency.
@@ -779,6 +833,10 @@ def create_currency_prices(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -788,6 +846,8 @@ def create_currency_prices(self,
## Response Type
+**200**: OK
+
[`ComponentCurrencyPricesResponse`](../../doc/models/component-currency-prices-response.md)
## Example Usage
@@ -843,7 +903,7 @@ print(result)
# Update Currency Prices
-This endpoint allows you to update currency prices for a given currency that has been defined on the site level in your settings.
+Updates currency prices for a given currency defined at the site level.
Note: Currency Prices are not able to be updated for custom price points.
@@ -853,6 +913,10 @@ def update_currency_prices(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -862,6 +926,8 @@ def update_currency_prices(self,
## Response Type
+**200**: OK
+
[`ComponentCurrencyPricesResponse`](../../doc/models/component-currency-prices-response.md)
## Example Usage
@@ -915,13 +981,17 @@ print(result)
# List All Component Price Points
-This method allows to retrieve a list of Components Price Points belonging to a Site.
+Lists all component price points belonging to a site.
```python
def list_all_component_price_points(self,
options=dict())
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -934,6 +1004,8 @@ def list_all_component_price_points(self,
## Response Type
+**200**: OK
+
[`ListComponentsPricePointsResponse`](../../doc/models/list-components-price-points-response.md)
## Example Usage
diff --git a/doc/controllers/components.md b/doc/controllers/components.md
index 22defde..a7afefd 100644
--- a/doc/controllers/components.md
+++ b/doc/controllers/components.md
@@ -12,7 +12,7 @@ components_controller = client.components
* [Create Metered Component](../../doc/controllers/components.md#create-metered-component)
* [Create Quantity Based Component](../../doc/controllers/components.md#create-quantity-based-component)
-* [Create on Off Component](../../doc/controllers/components.md#create-on-off-component)
+* [Create On Off Component](../../doc/controllers/components.md#create-on-off-component)
* [Create Prepaid Usage Component](../../doc/controllers/components.md#create-prepaid-usage-component)
* [Create Event Based Component](../../doc/controllers/components.md#create-event-based-component)
* [Find Component](../../doc/controllers/components.md#find-component)
@@ -26,9 +26,9 @@ components_controller = client.components
# Create Metered Component
-This request will create a component definition of kind **metered_component** under the specified product family. Metered component can then be added and “allocated” for a subscription.
+Creates a metered component definition under the specified product family. A metered component can then be added and “allocated” for a subscription.
-Metered components are used to bill for any type of unit that resets to 0 at the end of the billing period (think daily Google Adwords clicks or monthly cell phone minutes). This is most commonly associated with usage-based billing and many other pricing schemes.
+Metered components are used to bill for any type of unit that resets to 0 at the end of the billing period (think daily Google Ads clicks or monthly cell phone minutes). This is most commonly associated with usage-based billing and many other pricing schemes.
Note that this is different from recurring quantity-based components, which DO NOT reset to zero at the start of every billing period. If you want to bill for a quantity of something that does not change unless you change it, then you want quantity components, instead.
@@ -40,6 +40,10 @@ def create_metered_component(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -49,6 +53,8 @@ def create_metered_component(self,
## Response Type
+**201**: Created
+
[`ComponentResponse`](../../doc/models/component-response.md)
## Example Usage
@@ -138,9 +144,9 @@ print(result)
# Create Quantity Based Component
-This request will create a component definition of kind **quantity_based_component** under the specified product family. Quantity Based component can then be added and “allocated” for a subscription.
+Creates a Quantity Based component definition under the specified product family. A Quantity Based component can then be added and “allocated” for a subscription.
-When defining Quantity Based component, You can choose one of 2 types:
+When defining a Quantity Based component, you can choose one of 2 types:
#### Recurring
@@ -160,6 +166,10 @@ def create_quantity_based_component(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -169,6 +179,8 @@ def create_quantity_based_component(self,
## Response Type
+**201**: Created
+
[`ComponentResponse`](../../doc/models/component-response.md)
## Example Usage
@@ -257,9 +269,9 @@ print(result)
| 422 | Unprocessable Entity (WebDAV) | [`ErrorListResponseException`](../../doc/models/error-list-response-exception.md) |
-# Create on Off Component
+# Create On Off Component
-This request will create a component definition of kind **on_off_component** under the specified product family. On/Off component can then be added and “allocated” for a subscription.
+Creates an On/Off component definition under the specified product family. An On/Off component can then be added and “allocated” for a subscription.
On/off components are used for any flat fee, recurring add on (think $99/month for tech support or a flat add on shipping fee).
@@ -271,6 +283,10 @@ def create_on_off_component(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -280,6 +296,8 @@ def create_on_off_component(self,
## Response Type
+**201**: Created
+
[`ComponentResponse`](../../doc/models/component-response.md)
## Example Usage
@@ -355,7 +373,7 @@ print(result)
# Create Prepaid Usage Component
-This request will create a component definition of kind **prepaid_usage_component** under the specified product family. Prepaid component can then be added and “allocated” for a subscription.
+Creates a prepaid usage component definition under the specified product family. A prepaid component can then be added and “allocated” for a subscription.
Prepaid components allow customers to pre-purchase units that can be used up over time on their subscription. In a sense, they are the mirror image of metered components; while metered components charge at the end of the period for the amount of units used, prepaid components are charged for at the time of purchase, and we subsequently keep track of the usage against the amount purchased.
@@ -367,6 +385,10 @@ def create_prepaid_usage_component(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -376,6 +398,8 @@ def create_prepaid_usage_component(self,
## Response Type
+**201**: Created
+
[`ComponentResponse`](../../doc/models/component-response.md)
## Example Usage
@@ -489,7 +513,7 @@ print(result)
# Create Event Based Component
-This request will create a component definition of kind **event_based_component** under the specified product family. Event-based component can then be added and “allocated” for a subscription.
+Creates an event-based component definition under the specified product family. An event-based component can then be added and “allocated” for a subscription.
Event-based components are similar to other component types, in that you define the component parameters (such as name and taxability) and the pricing. A key difference for the event-based component is that it must be attached to a metric. This is because the metric provides the component with the actual quantity used in computing what and how much will be billed each period for each subscription.
@@ -503,6 +527,10 @@ def create_event_based_component(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -512,6 +540,8 @@ def create_event_based_component(self,
## Response Type
+**201**: Created
+
[`ComponentResponse`](../../doc/models/component-response.md)
## Example Usage
@@ -593,13 +623,17 @@ print(result)
# Find Component
-This request will return information regarding a component having the handle you provide. You can identify your components with a handle so you don't have to save or reference the IDs we generate.
+Returns information for a component matching the provided handle. You can identify your components with a handle so you don't have to save or reference the IDs we generate.
```python
def find_component(self,
handle)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -608,6 +642,8 @@ def find_component(self,
## Response Type
+**200**: OK
+
[`ComponentResponse`](../../doc/models/component-response.md)
## Example Usage
@@ -662,6 +698,10 @@ def read_component(self,
component_id)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -671,6 +711,8 @@ def read_component(self,
## Response Type
+**200**: OK
+
[`ComponentResponse`](../../doc/models/component-response.md)
## Example Usage
@@ -721,7 +763,7 @@ print(result)
# Update Product Family Component
-This request will update a component from a specific product family.
+Updates a component from a specific product family.
You may read the component by either the component's id or handle. When using the handle, it must be prefixed with `handle:`.
@@ -732,6 +774,10 @@ def update_product_family_component(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -742,6 +788,8 @@ def update_product_family_component(self,
## Response Type
+**200**: OK
+
[`ComponentResponse`](../../doc/models/component-response.md)
## Example Usage
@@ -804,7 +852,7 @@ print(result)
# Archive Component
-Sending a DELETE request to this endpoint will archive the component. All current subscribers will be unffected; their subscription/purchase will continue to be charged as usual.
+Archives the component; all current subscribers will continue to be charged as usual.
```python
def archive_component(self,
@@ -812,6 +860,10 @@ def archive_component(self,
component_id)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -821,6 +873,8 @@ def archive_component(self,
## Response Type
+**200**: OK
+
[`Component`](../../doc/models/component.md)
## Example Usage
@@ -872,13 +926,17 @@ print(result)
# List Components
-This request will return a list of components for a site.
+Lists components for a site.
```python
def list_components(self,
options=dict())
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -895,6 +953,8 @@ def list_components(self,
## Response Type
+**200**: OK
+
[`List[ComponentResponse]`](../../doc/models/component-response.md)
## Example Usage
@@ -1018,7 +1078,7 @@ print(result)
# Update Component
-This request will update a component.
+Updates a component.
You may read the component by either the component's id or handle. When using the handle, it must be prefixed with `handle:`.
@@ -1028,6 +1088,10 @@ def update_component(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -1037,6 +1101,8 @@ def update_component(self,
## Response Type
+**200**: OK
+
[`ComponentResponse`](../../doc/models/component-response.md)
## Example Usage
@@ -1096,13 +1162,17 @@ print(result)
# List Components for Product Family
-This request will return a list of components for a particular product family.
+Lists components for a particular product family.
```python
def list_components_for_product_family(self,
options=dict())
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -1120,6 +1190,8 @@ def list_components_for_product_family(self,
## Response Type
+**200**: OK
+
[`List[ComponentResponse]`](../../doc/models/component-response.md)
## Example Usage
diff --git a/doc/controllers/coupons.md b/doc/controllers/coupons.md
index 08bc1d8..02a9fba 100644
--- a/doc/controllers/coupons.md
+++ b/doc/controllers/coupons.md
@@ -28,27 +28,26 @@ coupons_controller = client.coupons
# Create Coupon
-## Coupons Documentation
-
-Coupons can be administered in the Advanced Billing application or created via API. View our section on [creating coupons](https://maxio.zendesk.com/hc/en-us/articles/24261212433165-Creating-Editing-Deleting-Coupons) for more information.
-
-Additionally, for documentation on how to apply a coupon to a subscription within the Advanced Billing UI, see our documentation [here](https://maxio.zendesk.com/hc/en-us/articles/24261259337101-Coupons-and-Subscriptions).
-
-## Create Coupon
-
-This request will create a coupon, based on the provided information.
-
-You can create either a flat amount coupon, by specyfing `amount_in_cents`, or percentage coupon by specyfing `percentage`.
+Creates a coupon under the specified product family.
+You can create either a flat amount coupon by specifying amount_in_cents, or a percentage coupon by specifying percentage
You can restrict a coupon to only apply to specific products / components by optionally passing in `restricted_products` and/or `restricted_components` objects in the format:
`{ "": boolean_value }`
+Coupons can be administered in the Advanced Billing application or created via API. See [creating coupons](https://maxio.zendesk.com/hc/en-us/articles/24261212433165-Creating-Editing-Deleting-Coupons) for more information.
+
+See [Apply Coupons to Subscriptions](https://maxio.zendesk.com/hc/en-us/articles/24261259337101-Coupons-and-Subscriptions) for information on applying a coupon to a subscription in the Advanced Billing UI.
+
```python
def create_coupon(self,
product_family_id,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -58,6 +57,8 @@ def create_coupon(self,
## Response Type
+**201**: Created
+
[`CouponResponse`](../../doc/models/coupon-response.md)
## Example Usage
@@ -105,13 +106,17 @@ print(result)
# List Coupons for Product Family
-List coupons for a specific Product Family in a Site.
+Lists coupons for a specific product family in a site.
```python
def list_coupons_for_product_family(self,
options=dict())
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -124,6 +129,8 @@ def list_coupons_for_product_family(self,
## Response Type
+**200**: OK
+
[`List[CouponResponse]`](../../doc/models/coupon-response.md)
## Example Usage
@@ -248,7 +255,7 @@ print(result)
# Find Coupon
-You can search for a coupon via the API with the find method. By passing a code parameter, the find will attempt to locate a coupon that matches that code. If no coupon is found, a 404 is returned.
+Searches for a coupon by code, returning a 404 if no coupon is found. By passing a code parameter, the find will attempt to locate a coupon that matches that code.
If you have more than one product family and if the coupon you are trying to find does not belong to the default product family in your site, then you will need to specify (either in the url or as a query string param) the product family id.
@@ -259,6 +266,10 @@ def find_coupon(self,
currency_prices=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -269,6 +280,8 @@ def find_coupon(self,
## Response Type
+**200**: OK
+
[`CouponResponse`](../../doc/models/coupon-response.md)
## Example Usage
@@ -285,7 +298,7 @@ print(result)
# Read Coupon
-You can retrieve the Coupon via the API with the Show method. You must identify the Coupon in this call by the ID parameter that Advanced Billing assigns.
+Returns a coupon by its Advanced Billing-assigned ID. You must identify the Coupon in this call by the ID parameter that Advanced Billing assigns.
If instead you would like to find a Coupon using a Coupon code, see the Coupon Find method.
When fetching a coupon, if you have defined multiple currencies at the site level, you can optionally pass the `?currency_prices=true` query param to include an array of currency price data in the response.
@@ -299,6 +312,10 @@ def read_coupon(self,
currency_prices=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -309,6 +326,8 @@ def read_coupon(self,
## Response Type
+**200**: OK
+
[`CouponResponse`](../../doc/models/coupon-response.md)
## Example Usage
@@ -360,9 +379,7 @@ print(result)
# Update Coupon
-## Update Coupon
-
-You can update a Coupon via the API with a PUT request to the resource endpoint.
+Updates a coupon.
You can restrict a coupon to only apply to specific products / components by optionally passing in hashes of `restricted_products` and/or `restricted_components` in the format:
`{ "": boolean_value }`
@@ -374,6 +391,10 @@ def update_coupon(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -384,6 +405,8 @@ def update_coupon(self,
## Response Type
+**200**: OK
+
[`CouponResponse`](../../doc/models/coupon-response.md)
## Example Usage
@@ -461,7 +484,7 @@ print(result)
# Archive Coupon
-You can archive a Coupon via the API with the archive method.
+Archives a coupon, making it unavailable for future use while remaining active on existing subscriptions.
Archiving makes that Coupon unavailable for future use, but allows it to remain attached and functional on existing Subscriptions that are using it.
The `archived_at` date and time will be assigned.
@@ -471,6 +494,10 @@ def archive_coupon(self,
coupon_id)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -480,6 +507,8 @@ def archive_coupon(self,
## Response Type
+**200**: OK
+
[`CouponResponse`](../../doc/models/coupon-response.md)
## Example Usage
@@ -528,13 +557,17 @@ print(result)
# List Coupons
-You can retrieve a list of coupons.
+Lists coupons for a site.
```python
def list_coupons(self,
options=dict())
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -546,6 +579,8 @@ def list_coupons(self,
## Response Type
+**200**: OK
+
[`List[CouponResponse]`](../../doc/models/coupon-response.md)
## Example Usage
@@ -626,7 +661,7 @@ print(result)
# Read Coupon Usage
-This request will provide details about the coupon usage as an array of data hashes, one per product.
+Lists coupon usage details, one entry per product.
```python
def read_coupon_usage(self,
@@ -634,6 +669,10 @@ def read_coupon_usage(self,
coupon_id)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -643,6 +682,8 @@ def read_coupon_usage(self,
## Response Type
+**200**: OK
+
[`List[CouponUsage]`](../../doc/models/coupon-usage.md)
## Example Usage
@@ -696,7 +737,7 @@ print(result)
# Validate Coupon
-You can verify if a specific coupon code is valid using the `validate` method. This method is useful for validating coupon codes that are entered by a customer. If the coupon is found and is valid, the coupon will be returned with a 200 status code.
+Verifies whether a specific coupon code is valid. This method is useful for validating coupon codes that are entered by a customer. If the coupon is found and is valid, the coupon will be returned with a 200 status code.
If the coupon is invalid, the status code will be 404 and the response will say why it is invalid. If the coupon is valid, the status code will be 200 and the coupon will be returned. The following reasons for invalidity are supported:
@@ -724,6 +765,10 @@ def validate_coupon(self,
product_family_id=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -733,6 +778,8 @@ def validate_coupon(self,
## Response Type
+**200**: OK
+
[`CouponResponse`](../../doc/models/coupon-response.md)
## Example Usage
@@ -782,7 +829,7 @@ print(result)
# Create or Update Coupon Currency Prices
-This endpoint allows you to create and/or update currency prices for an existing coupon. Multiple prices can be created or updated in a single request but each of the currencies must be defined on the site level already and the coupon must be an amount-based coupon, not percentage.
+Creates and/or updates currency prices for an existing coupon. Multiple prices can be created or updated in a single request but each of the currencies must be defined on the site level already and the coupon must be an amount-based coupon, not percentage.
Currency pricing for coupons must mirror the setup of the primary coupon pricing - if the primary coupon is percentage based, you will not be able to define pricing in non-primary currencies.
@@ -792,6 +839,10 @@ def create_or_update_coupon_currency_prices(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -801,6 +852,8 @@ def create_or_update_coupon_currency_prices(self,
## Response Type
+**200**: OK
+
[`CouponCurrencyResponse`](../../doc/models/coupon-currency-response.md)
## Example Usage
@@ -837,6 +890,8 @@ print(result)
# Create Coupon Subcodes
+Creates subcodes for an existing coupon.
+
## Coupon Subcodes Intro
Coupon Subcodes allow you to create a set of unique codes that allow you to expand the use of one coupon.
@@ -884,6 +939,10 @@ def create_coupon_subcodes(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -893,6 +952,8 @@ def create_coupon_subcodes(self,
## Response Type
+**200**: OK
+
[`CouponSubcodesResponse`](../../doc/models/coupon-subcodes-response.md)
## Example Usage
@@ -930,13 +991,17 @@ print(result)
# List Coupon Subcodes
-This request allows you to request the subcodes that are attached to a coupon.
+Lists the subcodes attached to a coupon.
```python
def list_coupon_subcodes(self,
options=dict())
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -947,6 +1012,8 @@ def list_coupon_subcodes(self,
## Response Type
+**200**: OK
+
[`CouponSubcodes`](../../doc/models/coupon-subcodes.md)
## Example Usage
@@ -993,7 +1060,7 @@ print(result)
# Update Coupon Subcodes
-You can update the subcodes for the given Coupon via the API with a PUT request to the resource endpoint.
+Updates the subcodes for a coupon, replacing all existing subcodes with the new list.
Send an array of new coupon subcodes.
**Note**: All current subcodes for that Coupon will be deleted first, and replaced with the list of subcodes sent to this endpoint.
@@ -1011,6 +1078,10 @@ def update_coupon_subcodes(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -1020,6 +1091,8 @@ def update_coupon_subcodes(self,
## Response Type
+**200**: OK
+
[`CouponSubcodesResponse`](../../doc/models/coupon-subcodes-response.md)
## Example Usage
@@ -1045,6 +1118,8 @@ print(result)
# Delete Coupon Subcode
+Deletes a specific subcode from a coupon.
+
## Example
Given a coupon with an ID of 567, and a coupon subcode of 20OFF, the URL to `DELETE` this coupon subcode would be:
@@ -1074,6 +1149,10 @@ def delete_coupon_subcode(self,
subcode)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -1083,6 +1162,8 @@ def delete_coupon_subcode(self,
## Response Type
+**200**: OK
+
`void`
## Example Usage
diff --git a/doc/controllers/custom-fields.md b/doc/controllers/custom-fields.md
index 21c068c..2366dc6 100644
--- a/doc/controllers/custom-fields.md
+++ b/doc/controllers/custom-fields.md
@@ -44,6 +44,10 @@ def create_metafields(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -53,6 +57,8 @@ def create_metafields(self,
## Response Type
+**200**: OK
+
[`List[Metafield]`](../../doc/models/metafield.md)
## Example Usage
@@ -131,6 +137,10 @@ def list_metafields(self,
options=dict())
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -143,6 +153,8 @@ def list_metafields(self,
## Response Type
+**200**: OK
+
[`ListMetafieldsResponse`](../../doc/models/list-metafields-response.md)
## Example Usage
@@ -208,7 +220,7 @@ With this endpoint, you can:
- Add new metadata to a dropdown or radio for a metafield that was created without metadata.
-- Remove metadata for a dropdown or radio for a metafield.
+- Remove metadata for a dropdown or radio for a metafield.
> Note: Updates to metadata overwrite existing values. To remove one or more values, specify all metadata values except those you want to remove.
@@ -222,6 +234,10 @@ def update_metafield(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -231,6 +247,8 @@ def update_metafield(self,
## Response Type
+**200**: OK
+
[`List[Metafield]`](../../doc/models/metafield.md)
## Example Usage
@@ -259,6 +277,10 @@ def delete_metafield(self,
name=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -268,6 +290,8 @@ def delete_metafield(self,
## Response Type
+**200**: OK
+
`void`
## Example Usage
@@ -300,6 +324,10 @@ def create_metadata(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -310,6 +338,8 @@ def create_metadata(self,
## Response Type
+**200**: OK
+
[`List[Metadata]`](../../doc/models/metadata.md)
## Example Usage
@@ -356,6 +386,10 @@ def list_metadata(self,
options=dict())
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -367,6 +401,8 @@ def list_metadata(self,
## Response Type
+**200**: OK
+
[`PaginatedMetadata`](../../doc/models/paginated-metadata.md)
## Example Usage
@@ -410,7 +446,7 @@ Updates metadata and metafields on the Site and the customer or subscription spe
If you update metadata on a subscription or customer with a metafield that does not already exist, the metafield is created with the metadata you specify and it is always added as a text field to the Site and to the subscription or customer you specify. You can update the input_type for the metafield with the Update Metafield endpoint.
-Each site is limited to 100 unique metafields per resource. This means you can have 100 metafields for Subscription and another 100 for Customer.
+Each site is limited to 100 unique metafields per resource. This means you can have 100 metafields for the Subscription resource and another 100 for the Customer resource.
```python
def update_metadata(self,
@@ -419,6 +455,10 @@ def update_metadata(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -429,6 +469,8 @@ def update_metadata(self,
## Response Type
+**200**: OK
+
[`List[Metadata]`](../../doc/models/metadata.md)
## Example Usage
@@ -464,6 +506,10 @@ def delete_metadata(self,
names=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -475,6 +521,8 @@ def delete_metadata(self,
## Response Type
+**200**: OK
+
`void`
## Example Usage
@@ -499,13 +547,17 @@ custom_fields_controller.delete_metadata(
# List Metadata for Resource Type
-Lists metadata for a specified array of subscriptions or customers.
+Lists metadata for a specified array of subscriptions or customers.
```python
def list_metadata_for_resource_type(self,
options=dict())
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -524,6 +576,8 @@ def list_metadata_for_resource_type(self,
## Response Type
+**200**: OK
+
[`PaginatedMetadata`](../../doc/models/paginated-metadata.md)
## Example Usage
diff --git a/doc/controllers/customers.md b/doc/controllers/customers.md
index 4de05f3..d4f6a83 100644
--- a/doc/controllers/customers.md
+++ b/doc/controllers/customers.md
@@ -21,7 +21,7 @@ customers_controller = client.customers
# Create Customer
-You may create a new Customer at any time, or you may create a Customer at the same time you create a Subscription. The only validation restriction is that you may only create one customer for a given reference value.
+Creates a new customer; can also be created alongside a new subscription. The only validation restriction is that you may only create one customer for a given reference value.
If provided, the `reference` value must be unique. It represents a unique identifier for the customer from your own app, i.e. the customer’s ID. This allows you to retrieve a given customer via a piece of shared information. Alternatively, you may choose to leave `reference` blank, and store Advanced Billing’s unique ID for the customer, which is in the `id` attribute.
@@ -51,6 +51,10 @@ def create_customer(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -59,6 +63,8 @@ def create_customer(self,
## Response Type
+**200**: OK
+
[`CustomerResponse`](../../doc/models/customer-response.md)
## Example Usage
@@ -133,7 +139,7 @@ print(result)
# List Customers
-This request will by default list all customers associated with your Site.
+Lists all customers associated with your site, or filters results using the search parameter.
## Find Customer
@@ -154,6 +160,10 @@ def list_customers(self,
options=dict())
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -170,6 +180,8 @@ def list_customers(self,
## Response Type
+**200**: OK
+
[`List[CustomerResponse]`](../../doc/models/customer-response.md)
## Example Usage
@@ -278,6 +290,10 @@ def read_customer(self,
id)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -286,6 +302,8 @@ def read_customer(self,
## Response Type
+**200**: OK
+
[`CustomerResponse`](../../doc/models/customer-response.md)
## Example Usage
@@ -337,7 +355,7 @@ print(result)
# Update Customer
-This method allows to update the Customer.
+Updates the customer.
```python
def update_customer(self,
@@ -345,6 +363,10 @@ def update_customer(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -354,6 +376,8 @@ def update_customer(self,
## Response Type
+**200**: OK
+
[`CustomerResponse`](../../doc/models/customer-response.md)
## Example Usage
@@ -417,13 +441,17 @@ print(result)
# Delete Customer
-This method allows you to delete the Customer.
+Deletes the customer.
```python
def delete_customer(self,
id)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -432,6 +460,8 @@ def delete_customer(self,
## Response Type
+**204**: No Content
+
`void`
## Example Usage
@@ -445,13 +475,17 @@ customers_controller.delete_customer(id)
# Read Customer by Reference
-Use this method to return the customer object if you have the unique **Reference ID (Your App)** value handy. It will return a single match.
+Returns a customer by their unique reference ID. It will return a single match.
```python
def read_customer_by_reference(self,
reference)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -460,6 +494,8 @@ def read_customer_by_reference(self,
## Response Type
+**200**: OK
+
[`CustomerResponse`](../../doc/models/customer-response.md)
## Example Usage
@@ -474,13 +510,17 @@ print(result)
# List Customer Subscriptions
-This method lists all subscriptions that belong to a customer.
+Lists all subscriptions that belong to a customer.
```python
def list_customer_subscriptions(self,
customer_id)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -489,6 +529,8 @@ def list_customer_subscriptions(self,
## Response Type
+**200**: OK
+
[`List[SubscriptionResponse]`](../../doc/models/subscription-response.md)
## Example Usage
diff --git a/doc/controllers/events-based-billing-segments.md b/doc/controllers/events-based-billing-segments.md
index 6413211..ef643a5 100644
--- a/doc/controllers/events-based-billing-segments.md
+++ b/doc/controllers/events-based-billing-segments.md
@@ -20,7 +20,7 @@ events_based_billing_segments_controller = client.events_based_billing_segments
# Create Segment
-This endpoint creates a new Segment for a Component with segmented Metric. It allows you to specify properties to bill upon and prices for each Segment. You can only pass as many "property_values" as the related Metric has segmenting properties defined.
+Creates a new segment for a component with a segmented metric. It allows you to specify properties to bill upon and prices for each Segment. You can only pass as many "property_values" as the related Metric has segmenting properties defined.
You may specify component and/or price point by using either the numeric ID or the `handle:gold` syntax.
@@ -31,6 +31,10 @@ def create_segment(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -41,6 +45,8 @@ def create_segment(self,
## Response Type
+**201**: Created
+
[`SegmentResponse`](../../doc/models/segment-response.md)
## Example Usage
@@ -87,7 +93,7 @@ print(result)
# List Segments for Price Point
-This endpoint allows you to fetch Segments created for a given Price Point. They will be returned in the order of creation.
+Lists segments created for a given price point, in order of creation.
You can pass `page` and `per_page` parameters in order to access all of the segments. By default it will return `30` records. You can set `per_page` to `200` at most.
@@ -98,6 +104,10 @@ def list_segments_for_price_point(self,
options=dict())
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -110,6 +120,8 @@ def list_segments_for_price_point(self,
## Response Type
+**200**: OK
+
[`ListSegmentsResponse`](../../doc/models/list-segments-response.md)
## Example Usage
@@ -138,7 +150,7 @@ print(result)
# Update Segment
-This endpoint updates a single Segment for a Component with a segmented Metric. It allows you to update the pricing for the segment.
+Updates a single segment for a component with a segmented metric. It allows you to update the pricing for the segment.
You may specify component and/or price point by using either the numeric ID or the `handle:gold` syntax.
@@ -150,6 +162,10 @@ def update_segment(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -161,6 +177,8 @@ def update_segment(self,
## Response Type
+**200**: OK
+
[`SegmentResponse`](../../doc/models/segment-response.md)
## Example Usage
@@ -190,7 +208,7 @@ print(result)
# Delete Segment
-This endpoint allows you to delete a Segment with specified ID.
+Deletes a segment with the specified ID.
You may specify component and/or price point by using either the numeric ID or the `handle:gold` syntax.
@@ -201,6 +219,10 @@ def delete_segment(self,
id)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -211,6 +233,8 @@ def delete_segment(self,
## Response Type
+**204**: No Content
+
`void`
## Example Usage
@@ -239,7 +263,7 @@ events_based_billing_segments_controller.delete_segment(
# Bulk Create Segments
-This endpoint allows you to create multiple segments in one request. The array of segments can contain up to `2000` records.
+Creates multiple segments in one request. The array of segments can contain up to `2000` records.
If any of the records contain an error the whole request would fail and none of the requested segments get created. The error response contains a message for only the one segment that failed validation, with the corresponding index in the array.
@@ -252,6 +276,10 @@ def bulk_create_segments(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -262,6 +290,8 @@ def bulk_create_segments(self,
## Response Type
+**201**: Created
+
[`ListSegmentsResponse`](../../doc/models/list-segments-response.md)
## Example Usage
@@ -288,7 +318,7 @@ print(result)
# Bulk Update Segments
-This endpoint allows you to update multiple segments in one request. The array of segments can contain up to `1000` records.
+Updates multiple segments in one request. The array of segments can contain up to `1000` records.
If any of the records contain an error the whole request would fail and none of the requested segments get updated. The error response contains a message for only the one segment that failed validation, with the corresponding index in the array.
@@ -301,6 +331,10 @@ def bulk_update_segments(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -311,6 +345,8 @@ def bulk_update_segments(self,
## Response Type
+**200**: OK
+
[`ListSegmentsResponse`](../../doc/models/list-segments-response.md)
## Example Usage
diff --git a/doc/controllers/events.md b/doc/controllers/events.md
index 8d7b10c..7543a91 100644
--- a/doc/controllers/events.md
+++ b/doc/controllers/events.md
@@ -17,11 +17,13 @@ events_controller = client.events
# List Events
+Lists events for a site.
+
## Events Intro
Advanced Billing Events include various activity that happens around a Site. This information is **especially** useful to track down issues that arise when subscriptions are not created due to errors.
-Within the Advanced Billing UI, "Events" are referred to as "Site Activity". Full documentation on how to record view Events / Site Activty in the Advanced Billing UI can be located [here](https://maxio.zendesk.com/hc/en-us/articles/24250671733517-Site-Activity).
+Within the Advanced Billing UI, "Events" are referred to as "Site Activity". Full documentation on how to view Events / Site Activity in the Advanced Billing UI can be located [here](https://maxio.zendesk.com/hc/en-us/articles/24250671733517-Site-Activity).
## List Events for a Site
@@ -91,6 +93,10 @@ def list_events(self,
options=dict())
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -109,6 +115,8 @@ def list_events(self,
## Response Type
+**200**: OK
+
[`List[EventResponse]`](../../doc/models/event-response.md)
## Example Usage
@@ -193,7 +201,7 @@ print(result)
# List Subscription Events
-The following request will return a list of events for a subscription.
+Lists events for a subscription.
## Event Key
@@ -210,6 +218,10 @@ def list_subscription_events(self,
options=dict())
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -224,6 +236,8 @@ def list_subscription_events(self,
## Response Type
+**200**: OK
+
[`List[EventResponse]`](../../doc/models/event-response.md)
## Example Usage
@@ -289,13 +303,17 @@ print(result)
# Read Events Count
-Get a count of all the events for a given site by using this method.
+Returns the total count of events for a given site.
```python
def read_events_count(self,
options=dict())
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -309,6 +327,8 @@ def read_events_count(self,
## Response Type
+**200**: OK
+
[`CountResponse`](../../doc/models/count-response.md)
## Example Usage
diff --git a/doc/controllers/insights.md b/doc/controllers/insights.md
index b271dbf..0c26e5b 100644
--- a/doc/controllers/insights.md
+++ b/doc/controllers/insights.md
@@ -13,12 +13,12 @@ insights_controller = client.insights
* [Read Site Stats](../../doc/controllers/insights.md#read-site-stats)
* [Read Mrr](../../doc/controllers/insights.md#read-mrr)
* [List Mrr Movements](../../doc/controllers/insights.md#list-mrr-movements)
-* [List Mrr Per Subscription](../../doc/controllers/insights.md#list-mrr-per-subscription)
+* [List Mrr per Subscription](../../doc/controllers/insights.md#list-mrr-per-subscription)
# Read Site Stats
-The Stats API is a very basic view of some Site-level stats. This API call only answers with JSON responses. An XML version is not provided.
+Returns basic site-level stats. This API call only answers with JSON responses. An XML version is not provided.
## Stats Documentation
@@ -32,8 +32,14 @@ https://subdomain.chargify.com/dashboard
def read_site_stats(self)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Response Type
+**200**: OK
+
[`SiteSummary`](../../doc/models/site-summary.md)
## Example Usage
@@ -67,7 +73,7 @@ print(result)
**This endpoint is deprecated.**
-This endpoint returns your site's current MRR, including plan and usage breakouts.
+Returns your site's current MRR, including plan and usage breakouts.
```python
def read_mrr(self,
@@ -75,6 +81,10 @@ def read_mrr(self,
subscription_id=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -84,6 +94,8 @@ def read_mrr(self,
## Response Type
+**200**: OK
+
[`MRRResponse`](../../doc/models/mrr-response.md)
## Example Usage
@@ -118,7 +130,7 @@ print(result)
**This endpoint is deprecated.**
-This endpoint returns your site's MRR movements.
+Lists your site's MRR movements.
## Understanding MRR movements
@@ -148,6 +160,10 @@ def list_mrr_movements(self,
options=dict())
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -159,6 +175,8 @@ def list_mrr_movements(self,
## Response Type
+**200**: OK
+
[`ListMRRResponse`](../../doc/models/list-mrr-response.md)
## Example Usage
@@ -225,7 +243,7 @@ print(result)
```
-# List Mrr Per Subscription
+# List Mrr per Subscription
**This endpoint is deprecated.**
@@ -236,6 +254,10 @@ def list_mrr_per_subscription(self,
options=dict())
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -248,6 +270,8 @@ def list_mrr_per_subscription(self,
## Response Type
+**200**: OK
+
[`SubscriptionMRRResponse`](../../doc/models/subscription-mrr-response.md)
## Example Usage
diff --git a/doc/controllers/invoices.md b/doc/controllers/invoices.md
index 222e4b4..fbd4eba 100644
--- a/doc/controllers/invoices.md
+++ b/doc/controllers/invoices.md
@@ -37,7 +37,7 @@ Refund an invoice, segment, or consolidated invoice.
A refund less than the total of a consolidated invoice will be split across its segments.
-A $50.00 refund on a $100.00 consolidated invoice with one $60.00 and one $40.00 segment, the refunded amount will be applied as 50% of each ($30.00 and $20.00 respectively).
+For a $50.00 refund on a $100.00 consolidated invoice with one $60.00 segment and one $40.00 segment, the refunded amount will be applied as 50% of each ($30.00 and $20.00, respectively).
```python
def refund_invoice(self,
@@ -45,6 +45,10 @@ def refund_invoice(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -54,6 +58,8 @@ def refund_invoice(self,
## Response Type
+**200**: OK
+
[`Invoice`](../../doc/models/invoice.md)
## Example Usage
@@ -95,6 +101,10 @@ def list_invoices(self,
options=dict())
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -125,6 +135,8 @@ def list_invoices(self,
## Response Type
+**200**: OK
+
[`ListInvoicesResponse`](../../doc/models/list-invoices-response.md)
## Example Usage
@@ -457,6 +469,10 @@ def read_invoice(self,
uid)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -465,6 +481,8 @@ def read_invoice(self,
## Response Type
+**200**: OK
+
[`Invoice`](../../doc/models/invoice.md)
## Example Usage
@@ -553,6 +571,7 @@ print(result)
"subtotal_amount": "100.0",
"discount_amount": "0.0",
"tax_amount": "0.0",
+ "tax_included": false,
"total_amount": "100.0",
"tiered_unit_price": false,
"period_range_start": "2018-07-26",
@@ -618,6 +637,10 @@ def list_invoice_events(self,
options=dict())
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -632,6 +655,8 @@ def list_invoice_events(self,
## Response Type
+**200**: OK
+
[`ListInvoiceEventsResponse`](../../doc/models/list-invoice-events-response.md)
## Example Usage
@@ -748,6 +773,7 @@ print(result)
"subtotal_amount": "99.0",
"discount_amount": "9.9",
"tax_amount": "6.01425",
+ "tax_included": false,
"total_amount": "95.11425",
"tiered_unit_price": false,
"period_range_start": "2018-08-01",
@@ -768,6 +794,7 @@ print(result)
"subtotal_amount": "15.5",
"discount_amount": "1.55",
"tax_amount": "0.941625",
+ "tax_included": false,
"total_amount": "14.891625",
"tiered_unit_price": true,
"period_range_start": "2018-07-22",
@@ -816,6 +843,7 @@ print(result)
"subtotal_amount": "47.0",
"discount_amount": "4.7",
"tax_amount": "2.85525",
+ "tax_included": false,
"total_amount": "45.15525",
"tiered_unit_price": true,
"period_range_start": "2018-07-22",
@@ -864,6 +892,7 @@ print(result)
"subtotal_amount": "14.0",
"discount_amount": "1.4",
"tax_amount": "0.8505",
+ "tax_included": false,
"total_amount": "13.4505",
"tiered_unit_price": false,
"period_range_start": "2018-08-01",
@@ -1039,6 +1068,10 @@ def record_payment_for_invoice(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -1048,6 +1081,8 @@ def record_payment_for_invoice(self,
## Response Type
+**200**: OK
+
[`Invoice`](../../doc/models/invoice.md)
## Example Usage
@@ -1082,7 +1117,7 @@ print(result)
This API call should be used when you want to record an external payment against multiple invoices.
-In order apply a payment to multiple invoices, at minimum, specify the `amount` and `applications` (i.e., `invoice_uid` and `amount`) details.
+To apply a payment to multiple invoices, at minimum, specify the `amount` and `applications` (i.e., `invoice_uid` and `amount`) details.
```
{
@@ -1112,6 +1147,10 @@ def record_payment_for_multiple_invoices(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -1120,6 +1159,8 @@ def record_payment_for_multiple_invoices(self,
## Response Type
+**200**: OK
+
[`MultiInvoicePaymentResponse`](../../doc/models/multi-invoice-payment-response.md)
## Example Usage
@@ -1192,6 +1233,10 @@ def list_credit_notes(self,
options=dict())
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -1207,6 +1252,8 @@ def list_credit_notes(self,
## Response Type
+**200**: OK
+
[`ListCreditNotesResponse`](../../doc/models/list-credit-notes-response.md)
## Example Usage
@@ -1294,6 +1341,7 @@ print(result)
"subtotal_amount": "1.971004",
"discount_amount": "0.19862831",
"tax_amount": "0.11963536",
+ "tax_included": false,
"total_amount": "1.89201105",
"tiered_unit_price": false,
"period_range_start": "2018-11-30",
@@ -1312,6 +1360,7 @@ print(result)
"subtotal_amount": "114.21127834",
"discount_amount": "11.42112783",
"tax_amount": "6.93833516",
+ "tax_included": false,
"total_amount": "109.72848567",
"tiered_unit_price": false,
"period_range_start": "2018-12-30",
@@ -1330,6 +1379,7 @@ print(result)
"subtotal_amount": "9.16746047",
"discount_amount": "0.91674605",
"tax_amount": "0.55692322",
+ "tax_included": false,
"total_amount": "8.80763764",
"tiered_unit_price": true,
"period_range_start": "2018-11-30",
@@ -1348,6 +1398,7 @@ print(result)
"subtotal_amount": "72.57572871",
"discount_amount": "7.25757287",
"tax_amount": "4.40897552",
+ "tax_included": false,
"total_amount": "69.72713136",
"tiered_unit_price": true,
"period_range_start": "2018-11-30",
@@ -1366,6 +1417,7 @@ print(result)
"subtotal_amount": "3.12839588",
"discount_amount": "0.31322157",
"tax_amount": "0.19002427",
+ "tax_included": false,
"total_amount": "3.00519858",
"tiered_unit_price": true,
"period_range_start": "2018-11-30",
@@ -1384,6 +1436,7 @@ print(result)
"subtotal_amount": "7.63955039",
"discount_amount": "0.76395504",
"tax_amount": "0.46410269",
+ "tax_included": false,
"total_amount": "7.33969804",
"tiered_unit_price": false,
"period_range_start": "2018-12-30",
@@ -1536,6 +1589,10 @@ def read_credit_note(self,
uid)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -1544,6 +1601,8 @@ def read_credit_note(self,
## Response Type
+**200**: OK
+
[`CreditNote`](../../doc/models/credit-note.md)
## Example Usage
@@ -1622,6 +1681,7 @@ print(result)
"subtotal_amount": "1.971004",
"discount_amount": "0.19862831",
"tax_amount": "0.11963536",
+ "tax_included": false,
"total_amount": "1.89201105",
"tiered_unit_price": false,
"period_range_start": "2018-11-30",
@@ -1642,6 +1702,7 @@ print(result)
"subtotal_amount": "114.21127834",
"discount_amount": "11.42112783",
"tax_amount": "6.93833516",
+ "tax_included": false,
"total_amount": "109.72848567",
"tiered_unit_price": false,
"period_range_start": "2018-12-30",
@@ -1662,6 +1723,7 @@ print(result)
"subtotal_amount": "9.16746047",
"discount_amount": "0.91674605",
"tax_amount": "0.55692322",
+ "tax_included": false,
"total_amount": "8.80763764",
"tiered_unit_price": true,
"period_range_start": "2018-11-30",
@@ -1682,6 +1744,7 @@ print(result)
"subtotal_amount": "72.57572871",
"discount_amount": "7.25757287",
"tax_amount": "4.40897552",
+ "tax_included": false,
"total_amount": "69.72713136",
"tiered_unit_price": true,
"period_range_start": "2018-11-30",
@@ -1702,6 +1765,7 @@ print(result)
"subtotal_amount": "3.12839588",
"discount_amount": "0.31322157",
"tax_amount": "0.19002427",
+ "tax_included": false,
"total_amount": "3.00519858",
"tiered_unit_price": true,
"period_range_start": "2018-11-30",
@@ -1722,6 +1786,7 @@ print(result)
"subtotal_amount": "7.63955039",
"discount_amount": "0.76395504",
"tax_amount": "0.46410269",
+ "tax_included": false,
"total_amount": "7.33969804",
"tiered_unit_price": false,
"period_range_start": "2018-12-30",
@@ -1881,6 +1946,10 @@ def record_payment_for_subscription(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -1890,6 +1959,8 @@ def record_payment_for_subscription(self,
## Response Type
+**201**: OK
+
[`RecordPaymentResponse`](../../doc/models/record-payment-response.md)
## Example Usage
@@ -1962,6 +2033,10 @@ def reopen_invoice(self,
uid)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -1970,6 +2045,8 @@ def reopen_invoice(self,
## Response Type
+**200**: OK
+
[`Invoice`](../../doc/models/invoice.md)
## Example Usage
@@ -1999,6 +2076,10 @@ def void_invoice(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -2008,6 +2089,8 @@ def void_invoice(self,
## Response Type
+**200**: OK
+
[`Invoice`](../../doc/models/invoice.md)
## Example Usage
@@ -2045,6 +2128,10 @@ def list_consolidated_invoice_segments(self,
options=dict())
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -2056,6 +2143,8 @@ def list_consolidated_invoice_segments(self,
## Response Type
+**200**: OK
+
[`ConsolidatedInvoice`](../../doc/models/consolidated-invoice.md)
## Example Usage
@@ -2386,13 +2475,13 @@ Instead of creating custom products like in above example, You can pass existing
The price for each line item will be calculated as well as a total due amount for the invoice. Multiple line items can be sent.
-### Line items types
+### Line item types
-When defining line item, You can choose one of 3 types for one line item:
+When defining a line item, You can choose one of 3 types for a line item:
#### Custom item
-Like in basic behavior example above, You can pass `title` and `unit_price` for custom item.
+As shown in the basic behavior example, You can pass `title` and `unit_price` for custom item.
#### Product id
@@ -2400,7 +2489,7 @@ Product handle (with handle: prefix) or id from the scope of current subscriptio
#### Component id
-Component handle (with handle: prefix) or id from the scope of current subscription's site can be provided with `component_id`. If `component_id` is used, following fields cannot be used: `title`, `product_id`. By default `unit_price` is taken from product's default price point, but can be overwritten by passing `unit_price` or `price_point_id`. At this moment price points are supportted only for quantity based, on/off and metered components. For prepaid and event based billing components `unit_price` is required.
+Component handle (with handle: prefix) or id from the scope of current subscription's site can be provided with `component_id`. If `component_id` is used, following fields cannot be used: `title`, `product_id`. By default `unit_price` is taken from product's default price point, but can be overwritten by passing `unit_price` or `price_point_id`. At this moment price points are supported only for quantity based, on/off and metered components. For prepaid and event based billing components `unit_price` is required.
### Coupons
@@ -2537,7 +2626,7 @@ Optional `description` parameter, it will overwrite default generated descriptio
#### Issue Date
-By default, invoices will be created with a issue date set to today. `issue_date` parameter can be send to alter that. Only dates in the past can be send. `issue_date` should be send in `YYYY-MM-DD` format.
+By default, invoices will be created with a issue date set to today in your site's time zone. The `issue_date` parameter can be sent to alter the default. Only today or dates in the past are accepted. This date is interpreted and validated in your site's time zone. The format for `issue_date` is `YYYY-MM-DD`.
#### Net Terms
@@ -2549,7 +2638,7 @@ The seller, shipping and billing addresses can be sent to override the site's de
#### Memo and Payment Instructions
-A custom memo can be sent with the `memo` parameter to override the site's default. Likewise, custom payment instructions can be sent with the `payment_instrucions` parameter.
+A custom memo can be sent with the `memo` parameter to override the site's default. Likewise, custom payment instructions can be sent with the `payment_instructions` parameter.
#### Status
@@ -2561,6 +2650,10 @@ def create_invoice(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -2570,6 +2663,8 @@ def create_invoice(self,
## Response Type
+**200**: OK
+
[`InvoiceResponse`](../../doc/models/invoice-response.md)
## Example Usage
@@ -2677,6 +2772,7 @@ print(result)
"subtotal_amount": "1800.0",
"discount_amount": "0.0",
"tax_amount": "0.0",
+ "tax_included": false,
"total_amount": "1800.0",
"tiered_unit_price": false,
"period_range_start": "2020-12-02",
@@ -2716,6 +2812,10 @@ def send_invoice(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -2725,6 +2825,8 @@ def send_invoice(self,
## Response Type
+**204**: No Content
+
`void`
## Example Usage
@@ -2759,7 +2861,7 @@ invoices_controller.send_invoice(
# Preview Customer Information Changes
-Customer information may change after an invoice is issued which may lead to a mismatch between customer information that are present on an open invoice and actual customer information. This endpoint allows to preview these differences, if any.
+Customer information may change after an invoice is issued, which may lead to a mismatch between customer information that is present on an open invoice and actual customer information. This endpoint allows you to preview these differences, if any.
The endpoint doesn't accept a request body. Customer information differences are calculated on the application side.
@@ -2768,6 +2870,10 @@ def preview_customer_information_changes(self,
uid)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -2776,6 +2882,8 @@ def preview_customer_information_changes(self,
## Response Type
+**200**: OK
+
[`CustomerChangesPreviewResponse`](../../doc/models/customer-changes-preview-response.md)
## Example Usage
@@ -2850,7 +2958,7 @@ print(result)
# Update Customer Information
-This endpoint updates customer information on an open invoice and returns the updated invoice. If you would like to preview changes that will be applied, use the `/invoices/{uid}/customer_information/preview.json` endpoint before.
+This endpoint updates customer information on an open invoice and returns the updated invoice. If you would like to preview changes that will be applied, use the `/invoices/{uid}/customer_information/preview.json` endpoint first.
The endpoint doesn't accept a request body. Customer information differences are calculated on the application side.
@@ -2859,6 +2967,10 @@ def update_customer_information(self,
uid)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -2867,6 +2979,8 @@ def update_customer_information(self,
## Response Type
+**200**: OK
+
[`Invoice`](../../doc/models/invoice.md)
## Example Usage
@@ -3080,9 +3194,9 @@ This endpoint allows you to issue an invoice that is in "pending" or "draft" sta
You cannot issue a pending child invoice that was created for a member subscription in a group.
-For Remittance subscriptions, the invoice will go into "open" status and payment won't be attempted. The value for `on_failed_payment` would be rejected if sent. Any prepayments or service credits that exist on subscription will be automatically applied. Additionally, if setting is on, an email will be sent for issued invoice.
+For Remittance subscriptions, the invoice will go into "open" status and payment won't be attempted. The value for `on_failed_payment` would be rejected if sent. Any prepayments or service credits that exist on the subscription will be automatically applied. Additionally, if the setting is enabled, an email will be sent for the issued invoice.
-For Automatic subscriptions, prepayments and service credits will apply to the invoice and before payment is attempted. On successful payment, the invoice will go into "paid" status and email will be sent to the customer (if setting applies). When payment fails, the next event depends on the `on_failed_payment` value:
+For Automatic subscriptions, prepayments and service credits will apply to the invoice before payment is attempted. On successful payment, the invoice will go into "paid" status and email will be sent to the customer (if setting applies). When payment fails, the next event depends on the `on_failed_payment` value:
- `leave_open_invoice` - prepayments and credits applied to invoice; invoice status set to "open"; email sent to the customer for the issued invoice (if setting applies); payment failure recorded in the invoice history. This is the default option.
- `rollback_to_pending` - prepayments and credits not applied; invoice remains in "pending" status; no email sent to the customer; payment failure recorded in the invoice history.
@@ -3094,6 +3208,10 @@ def issue_invoice(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -3103,6 +3221,8 @@ def issue_invoice(self,
## Response Type
+**200**: OK
+
[`Invoice`](../../doc/models/invoice.md)
## Example Usage
diff --git a/doc/controllers/offers.md b/doc/controllers/offers.md
index b4f9ce6..0bdefd2 100644
--- a/doc/controllers/offers.md
+++ b/doc/controllers/offers.md
@@ -19,7 +19,7 @@ offers_controller = client.offers
# Create Offer
-Create an offer within your Advanced Billing site by sending a POST request.
+Creates an offer within your Advanced Billing site.
## Documentation
@@ -38,6 +38,10 @@ def create_offer(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -46,6 +50,8 @@ def create_offer(self,
## Response Type
+**201**: Created
+
[`OfferResponse`](../../doc/models/offer-response.md)
## Example Usage
@@ -127,13 +133,17 @@ print(result)
# List Offers
-This endpoint will list offers for a site.
+Lists offers for a site.
```python
def list_offers(self,
options=dict())
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -144,6 +154,8 @@ def list_offers(self,
## Response Type
+**200**: OK
+
[`ListOffersResponse`](../../doc/models/list-offers-response.md)
## Example Usage
@@ -222,13 +234,17 @@ print(result)
# Read Offer
-This method allows you to list a specific offer's attributes. This is different than list all offers for a site, as it requires an `offer_id`.
+Returns a specific offer's attributes. This is different from listing all offers for a site, as it requires an `offer_id`.
```python
def read_offer(self,
offer_id)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -237,6 +253,8 @@ def read_offer(self,
## Response Type
+**200**: OK
+
[`OfferResponse`](../../doc/models/offer-response.md)
## Example Usage
@@ -251,13 +269,17 @@ print(result)
# Archive Offer
-Archive an existing offer. Please provide an `offer_id` in order to archive the correct item.
+Archives an existing offer. Please provide an `offer_id` in order to archive the correct item.
```python
def archive_offer(self,
offer_id)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -266,6 +288,8 @@ def archive_offer(self,
## Response Type
+**200**: OK
+
`void`
## Example Usage
@@ -279,13 +303,17 @@ offers_controller.archive_offer(offer_id)
# Unarchive Offer
-Unarchive a previously archived offer. Please provide an `offer_id` in order to un-archive the correct item.
+Unarchives a previously archived offer. Please provide an `offer_id` in order to unarchive the correct item.
```python
def unarchive_offer(self,
offer_id)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -294,6 +322,8 @@ def unarchive_offer(self,
## Response Type
+**200**: OK
+
`void`
## Example Usage
diff --git a/doc/controllers/payment-profiles.md b/doc/controllers/payment-profiles.md
index a150e29..48122e2 100644
--- a/doc/controllers/payment-profiles.md
+++ b/doc/controllers/payment-profiles.md
@@ -34,7 +34,7 @@ Select an option from the **Request Examples** drop-down on the right side of th
Do not use real card information for testing. See the Sites articles that cover [testing your site setup](https://docs.maxio.com/hc/en-us/articles/24250712113165-Testing-Overview#testing-overview-0-0) for more details on testing in your sandbox.
-Note that collecting and sending raw card details in production requires [PCI compliance](https://docs.maxio.com/hc/en-us/articles/24183956938381-PCI-Compliance#pci-compliance-0-0) on your end. If your business is not PCI compliant, use [Chargify.js](https://docs.maxio.com/hc/en-us/articles/38163190843789-Chargify-js-Overview#chargify-js-overview-0-0) to collect credit card or bank account information.
+Note that collecting and sending raw card details in production requires [PCI compliance](https://docs.maxio.com/hc/en-us/articles/24183956938381-PCI-Compliance#pci-compliance-0-0) on your end. If your business is not PCI compliant, use [Maxio.js (formerly Chargify.js)](https://docs.maxio.com/hc/en-us/articles/38163190843789-Chargify-js-Overview#chargify-js-overview-0-0) to collect credit card or bank account information.
See the following articles to learn more about subscriptions and payments:
@@ -42,74 +42,33 @@ See the following articles to learn more about subscriptions and payments:
+ [Self Service Pages](https://maxio.zendesk.com/hc/en-us/articles/24261425318541-Self-Service-Pages) (Allows credit card updates by Subscriber)
+ [Public Signup Pages payment settings](https://maxio.zendesk.com/hc/en-us/articles/24261368332557-Individual-Page-Settings)
+ [Taxes](https://developers.chargify.com/docs/developer-docs/d2e9e34db740e-signups#taxes)
-+ [Chargify.js](https://docs.maxio.com/hc/en-us/articles/38163190843789-Chargify-js-Overview)
- + [Chargify.js with GoCardless - minimal example](https://docs.maxio.com/hc/en-us/articles/38206331271693-Examples#h_01K0PJ15QQZKCER8CFK40MR6XJ)
- + [Chargify.js with GoCardless - full example](https://docs.maxio.com/hc/en-us/articles/38206331271693-Examples#h_01K0PJ15QR09JVHWW0MCA7HVJV)
- + [Chargify.js with Stripe Direct Debit - minimal example](https://docs.maxio.com/hc/en-us/articles/38206331271693-Examples#h_01K0PJ15QQFKKN8Z7B7DZ9AJS5)
- + [Chargify.js with Stripe Direct Debit - full example](https://docs.maxio.com/hc/en-us/articles/38206331271693-Examples#h_01K0PJ15QRECQQ4ECS3ZA55GY7)
- + [Chargify.js with Stripe BECS Direct Debit - minimal example](https://developers.chargify.com/docs/developer-docs/ZG9jOjE0NjAzNDIy-examples#minimal-example-with-sepa-or-becs-direct-debit-stripe-gateway)
- + [Chargify.js with Stripe BECS Direct Debit - full example](https://developers.chargify.com/docs/developer-docs/ZG9jOjE0NjAzNDIy-examples#full-example-with-sepa-direct-debit-stripe-gateway)
++ [Maxio.js (formerly Chargify.js)](https://docs.maxio.com/hc/en-us/articles/38163190843789-Chargify-js-Overview)
+ + [Maxio.js with GoCardless - minimal example](https://docs.maxio.com/hc/en-us/articles/38206331271693-Examples#h_01K0PJ15QQZKCER8CFK40MR6XJ)
+ + [Maxio.js with GoCardless - full example](https://docs.maxio.com/hc/en-us/articles/38206331271693-Examples#h_01K0PJ15QR09JVHWW0MCA7HVJV)
+ + [Maxio.js with Stripe Direct Debit - minimal example](https://docs.maxio.com/hc/en-us/articles/38206331271693-Examples#h_01K0PJ15QQFKKN8Z7B7DZ9AJS5)
+ + [Maxio.js with Stripe Direct Debit - full example](https://docs.maxio.com/hc/en-us/articles/38206331271693-Examples#h_01K0PJ15QRECQQ4ECS3ZA55GY7)
+ + [Maxio.js with Stripe BECS Direct Debit - minimal example](https://developers.chargify.com/docs/developer-docs/ZG9jOjE0NjAzNDIy-examples#minimal-example-with-sepa-or-becs-direct-debit-stripe-gateway)
+ + [Maxio.js with Stripe BECS Direct Debit - full example](https://developers.chargify.com/docs/developer-docs/ZG9jOjE0NjAzNDIy-examples#full-example-with-sepa-direct-debit-stripe-gateway)
+ [Full documentation on GoCardless](https://maxio.zendesk.com/hc/en-us/articles/24176159136909-GoCardless)
+ [Full documentation on Stripe SEPA Direct Debit](https://maxio.zendesk.com/hc/en-us/articles/24176170430093-Stripe-SEPA-and-BECS-Direct-Debit)
+ [Full documentation on Stripe BECS Direct Debit](https://maxio.zendesk.com/hc/en-us/articles/24176170430093-Stripe-SEPA-and-BECS-Direct-Debit)
+ [Full documentation on Stripe BACS Direct Debit](https://maxio.zendesk.com/hc/en-us/articles/24176170430093-Stripe-SEPA-and-BECS-Direct-Debit)
-## 3D Secure Authentication during payment profile creation.
+## 3D Secure (3DS) Authentication post-authentication flow
-When a payment requires 3D Secure Authentication to adhear to Strong Customer Authentication (SCA) during payment profile creation, the request enters a [post-authentication flow](https://maxio.zendesk.com/hc/en-us/articles/24176278996493-Testing-Implementing-3D-Secure#psd2-flows-pre-authentication-and-post-authentication). In this case, a 422 Unprocessable Entity status is returned with the following response:
+When a payment requires 3DS Authentication to adhere to Strong Customer Authentication (SCA), the request enters a post-authentication flow where a 422 Unprocessable Entity status is returned with an action_link that will direct the customer through 3DS Authentication.
-```json
-{
- "jsonapi": {
- "version": "1.0"
- },
- "errors": [
- {
- "title": "This card requires 3DSecure verification.",
- "detail": "This card requires 3D secure authentication. Redirect the customer to the URL from the action_link attribute to authenticate. Attach callback_url param to this URL if you want to be notified about the result of 3D Secure authentication. Attach redirect_url param to this URL if you want to redirect a customer back to your page after 3D Secure authentication. Example: https://checkout-test.chargifypay.test/3d-secure/checkout/pay_uerzhsxd5uhkbodx5jhvkg6yeu?one_time_token_id=93&callback_url=http://localhost:4000&redirect_url=https://yourpage.com will do a POST request to https://localhost:4000 after credit card is authenticated and will redirect a customer to https://yourpage.com after 3DS authentication.",
- "links": {
- "action_link": "https://checkout-test.chargifypay.test/3d-secure/checkout/pay_uerzhsxd5uhkbodx5jhvkg6yeu?one_time_token_id=93"
- }
- }
- ]
-}
-```
-
-To let the customer go through 3D Secure Authentication, they need to be redirected to the URL specified in `action_link`.
-
-Optionally, you can specify the `callback_url` parameter in the `action_link` URL to receive notification about the result of 3D Secure Authentication.
-
-The `callback_url` will return the following information:
-
-- whether the authentication was successful (`success`)
-- the payment profile ID (`payment_profile_id`)
-
-You can also specify a `redirect_url` parameter in the `action_link` URL to redirect the customer back to your site.
-
-You cannot use action_link in an iframe inside a custom application. You must redirect the customer directly to the `action_link` and use the `redirect_url` or `callback_url` to be notified of the result.
-
-The final URL that you send a customer to complete 3D Secure may resemble the following, where the first half is the `action_link` and the second half contains a `redirect_url` and `callback_url`:
-
-`https://checkout-test.chargifypay.test/3d-secure/checkout/pay_uerzhsxd5uhkbodx5jhvkg6yeu?one_time_token_id=93&callback_url=http://localhost:4000&redirect_url=https://yourpage.com`
-
-### Example Redirect Flow
-
-Here's an example flow to redirect customers to different pages depending on whether SCA was performed successfully:
-
-1. Create a payment profile via the API; it requires 3DS.
-2. You receive an `action_link` in the response.
-3. Use this `action_link` to, for example, connect with your internal resources or generate a `session_id`.
-4. Include one of those attributes inside the `callback_url` and `redirect_url` to be aware which “session” this applies to.
-5. Redirect the customer to the `action_link` with `callback_url` and `redirect_url` applied
-6. After the customer completes 3DS authentication, we notify you of the result via the applied `callback_url`.
-7. After that, we redirect the customer to the `redirect_url`; at this point the result of authentication is known.
-8. Optionally, you can use the applied "msg" param in the `redirect_url` to determine if the redirect was successful.
+See the [3D Secure Post-Authentication Flow](https://docs.maxio.com/hc/en-us/articles/44277749524365-3D-Secure-Post-Authentication-Flow) article in the product documentation to learn how to manage the redirect flow.
```python
def create_payment_profile(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -118,6 +77,8 @@ def create_payment_profile(self,
## Response Type
+**200**: OK
+
[`PaymentProfileResponse`](../../doc/models/payment-profile-response.md)
## Example Usage
@@ -175,13 +136,17 @@ print(result)
# List Payment Profiles
-This method will return all of the active `payment_profiles` for a Site, or for one Customer within a site. If no payment profiles are found, this endpoint will return an empty array, not a 404.
+Returns all active payment profiles for a site, or for one customer within a site. If no payment profiles are found, this endpoint will return an empty array, not a 404.
```python
def list_payment_profiles(self,
options=dict())
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -192,6 +157,8 @@ def list_payment_profiles(self,
## Response Type
+**200**: OK
+
[`List[PaymentProfileResponse]`](../../doc/models/payment-profile-response.md)
## Example Usage
@@ -271,7 +238,7 @@ print(result)
# Read Payment Profile
-Using the GET method you can retrieve a Payment Profile identified by its unique ID.
+Returns a payment profile identified by its unique ID.
Note that a different JSON object will be returned if the card method on file is a bank account.
@@ -314,6 +281,10 @@ def read_payment_profile(self,
payment_profile_id)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -322,6 +293,8 @@ def read_payment_profile(self,
## Response Type
+**200**: OK
+
[`PaymentProfileResponse`](../../doc/models/payment-profile-response.md)
## Example Usage
@@ -373,6 +346,8 @@ print(result)
# Update Payment Profile
+Updates a payment profile.
+
## Partial Card Updates
In the event that you are using the Authorize.net, Stripe, Cybersource, Forte or Braintree Blue payment gateways, you can update just the billing and contact information for a payment method. Note the lack of credit-card related data contained in the JSON payload.
@@ -414,6 +389,10 @@ def update_payment_profile(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -423,6 +402,8 @@ def update_payment_profile(self,
## Response Type
+**200**: OK
+
[`PaymentProfileResponse`](../../doc/models/payment-profile-response.md)
## Example Usage
@@ -488,6 +469,10 @@ def delete_unused_payment_profile(self,
payment_profile_id)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -496,6 +481,8 @@ def delete_unused_payment_profile(self,
## Response Type
+**204**: No Content
+
`void`
## Example Usage
@@ -528,6 +515,10 @@ def delete_subscriptions_payment_profile(self,
payment_profile_id)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -537,6 +528,8 @@ def delete_subscriptions_payment_profile(self,
## Response Type
+**204**: No Content
+
`void`
## Example Usage
@@ -555,7 +548,7 @@ payment_profiles_controller.delete_subscriptions_payment_profile(
# Verify Bank Account
-Submit the two small deposit amounts the customer received in their bank account in order to verify the bank account. (Stripe only)
+Verifies a bank account. Submit the two small deposit amounts the customer received in their bank account to verify the bank account. (Stripe only)
```python
def verify_bank_account(self,
@@ -563,6 +556,10 @@ def verify_bank_account(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -572,6 +569,8 @@ def verify_bank_account(self,
## Response Type
+**200**: OK
+
[`BankAccountResponse`](../../doc/models/bank-account-response.md)
## Example Usage
@@ -641,6 +640,10 @@ def delete_subscription_group_payment_profile(self,
payment_profile_id)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -650,6 +653,8 @@ def delete_subscription_group_payment_profile(self,
## Response Type
+**204**: No Content
+
`void`
## Example Usage
@@ -668,7 +673,7 @@ payment_profiles_controller.delete_subscription_group_payment_profile(
# Change Subscription Default Payment Profile
-This will change the default payment profile on the subscription to the existing payment profile with the id specified.
+Changes the default payment profile on the subscription to the existing payment profile with the specified ID.
You must elect to change the existing payment profile to a new payment profile ID in order to receive a satisfactory response from this endpoint.
@@ -678,6 +683,10 @@ def change_subscription_default_payment_profile(self,
payment_profile_id)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -687,6 +696,8 @@ def change_subscription_default_payment_profile(self,
## Response Type
+**201**: Created
+
[`PaymentProfileResponse`](../../doc/models/payment-profile-response.md)
## Example Usage
@@ -754,6 +765,10 @@ def change_subscription_group_default_payment_profile(self,
payment_profile_id)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -763,6 +778,8 @@ def change_subscription_group_default_payment_profile(self,
## Response Type
+**201**: Created
+
[`PaymentProfileResponse`](../../doc/models/payment-profile-response.md)
## Example Usage
@@ -828,6 +845,10 @@ def read_one_time_token(self,
chargify_token)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -836,6 +857,8 @@ def read_one_time_token(self,
## Response Type
+**200**: OK
+
[`GetOneTimeTokenRequest`](../../doc/models/get-one-time-token-request.md)
## Example Usage
@@ -869,6 +892,10 @@ def send_request_update_payment_email(self,
subscription_id)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -877,6 +904,8 @@ def send_request_update_payment_email(self,
## Response Type
+**201**: Created
+
`void`
## Example Usage
diff --git a/doc/controllers/product-families.md b/doc/controllers/product-families.md
index 7632796..6adab61 100644
--- a/doc/controllers/product-families.md
+++ b/doc/controllers/product-families.md
@@ -25,6 +25,10 @@ def list_products_for_product_family(self,
options=dict())
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -43,6 +47,8 @@ def list_products_for_product_family(self,
## Response Type
+**200**: OK
+
[`List[ProductResponse]`](../../doc/models/product-response.md)
## Example Usage
@@ -174,7 +180,7 @@ print(result)
# Create Product Family
-Creates a Product Family within your Advanced Billing site. Create a Product Family to act as a container for your products, components and coupons.
+Creates a Product Family within your Advanced Billing site. Create a Product Family to act as a container for your products, components, and coupons.
Full documentation on how Product Families operate within the Advanced Billing UI can be located [here](https://maxio.zendesk.com/hc/en-us/articles/24261098936205-Product-Families).
@@ -183,6 +189,10 @@ def create_product_family(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -191,6 +201,8 @@ def create_product_family(self,
## Response Type
+**201**: Created
+
[`ProductFamilyResponse`](../../doc/models/product-family-response.md)
## Example Usage
@@ -232,13 +244,17 @@ print(result)
# List Product Families
-Retrieve a list of Product Families for a site.
+Returns a list of Product Families for a site.
```python
def list_product_families(self,
options=dict())
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -251,6 +267,8 @@ def list_product_families(self,
## Response Type
+**200**: OK
+
[`List[ProductFamilyResponse]`](../../doc/models/product-family-response.md)
## Example Usage
@@ -306,6 +324,10 @@ def read_product_family(self,
id)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -314,6 +336,8 @@ def read_product_family(self,
## Response Type
+**200**: OK
+
[`ProductFamilyResponse`](../../doc/models/product-family-response.md)
## Example Usage
diff --git a/doc/controllers/product-price-points.md b/doc/controllers/product-price-points.md
index df836eb..c1e5b1a 100644
--- a/doc/controllers/product-price-points.md
+++ b/doc/controllers/product-price-points.md
@@ -33,6 +33,10 @@ def create_product_price_point(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -42,6 +46,8 @@ def create_product_price_point(self,
## Response Type
+**201**: Created
+
[`ProductPricePointResponse`](../../doc/models/product-price-point-response.md)
## Example Usage
@@ -117,6 +123,10 @@ def list_product_price_points(self,
options=dict())
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -130,6 +140,8 @@ def list_product_price_points(self,
## Response Type
+**200**: OK
+
[`ListProductPricePointsResponse`](../../doc/models/list-product-price-points-response.md)
## Example Usage
@@ -188,6 +200,10 @@ def update_product_price_point(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -198,6 +214,8 @@ def update_product_price_point(self,
## Response Type
+**200**: OK
+
[`ProductPricePointResponse`](../../doc/models/product-price-point-response.md)
## Example Usage
@@ -252,7 +270,7 @@ print(result)
# Read Product Price Point
-Use this endpoint to retrieve details for a specific product price point. You can achieve this by using either the product price point ID or handle.
+Returns details for a specific product price point. You can achieve this by using either the product price point ID or handle.
```python
def read_product_price_point(self,
@@ -261,6 +279,10 @@ def read_product_price_point(self,
currency_prices=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -271,6 +293,8 @@ def read_product_price_point(self,
## Response Type
+**200**: OK
+
[`ProductPricePointResponse`](../../doc/models/product-price-point-response.md)
## Example Usage
@@ -325,6 +349,10 @@ def archive_product_price_point(self,
price_point_id)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -334,6 +362,8 @@ def archive_product_price_point(self,
## Response Type
+**200**: OK
+
[`ProductPricePointResponse`](../../doc/models/product-price-point-response.md)
## Example Usage
@@ -386,7 +416,7 @@ print(result)
# Unarchive Product Price Point
-Use this endpoint to unarchive an archived product price point.
+Unarchives an archived product price point.
```python
def unarchive_product_price_point(self,
@@ -394,6 +424,10 @@ def unarchive_product_price_point(self,
price_point_id)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -403,6 +437,8 @@ def unarchive_product_price_point(self,
## Response Type
+**200**: OK
+
[`ProductPricePointResponse`](../../doc/models/product-price-point-response.md)
## Example Usage
@@ -459,6 +495,10 @@ def promote_product_price_point_to_default(self,
price_point_id)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -468,6 +508,8 @@ def promote_product_price_point_to_default(self,
## Response Type
+**200**: OK
+
[`ProductResponse`](../../doc/models/product-response.md)
## Example Usage
@@ -548,6 +590,10 @@ def bulk_create_product_price_points(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -557,6 +603,8 @@ def bulk_create_product_price_points(self,
## Response Type
+**201**: Created
+
[`BulkCreateProductPricePointsResponse`](../../doc/models/bulk-create-product-price-points-response.md)
## Example Usage
@@ -656,6 +704,10 @@ def create_product_currency_prices(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -665,6 +717,8 @@ def create_product_currency_prices(self,
## Response Type
+**200**: OK
+
[`CurrencyPricesResponse`](../../doc/models/currency-prices-response.md)
## Example Usage
@@ -737,6 +791,10 @@ def update_product_currency_prices(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -746,6 +804,8 @@ def update_product_currency_prices(self,
## Response Type
+**200**: OK
+
[`CurrencyPricesResponse`](../../doc/models/currency-prices-response.md)
## Example Usage
@@ -799,13 +859,17 @@ print(result)
# List All Product Price Points
-This method allows retrieval of a list of Products Price Points belonging to a Site.
+Lists Product Price Points belonging to a site.
```python
def list_all_product_price_points(self,
options=dict())
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -818,6 +882,8 @@ def list_all_product_price_points(self,
## Response Type
+**200**: OK
+
[`ListProductPricePointsResponse`](../../doc/models/list-product-price-points-response.md)
## Example Usage
diff --git a/doc/controllers/products.md b/doc/controllers/products.md
index 4bad730..0f6a84c 100644
--- a/doc/controllers/products.md
+++ b/doc/controllers/products.md
@@ -22,7 +22,7 @@ products_controller = client.products
Creates a product in your Advanced Billing site.
-See the following product docuemation for more information:
+See the following product documentation for more information:
+ [Products Documentation](https://maxio.zendesk.com/hc/en-us/articles/24261090117645-Products-Overview)
+ [Changing a Subscription's Product](https://maxio.zendesk.com/hc/en-us/articles/24252069837581-Product-Changes-and-Migrations)
@@ -33,6 +33,10 @@ def create_product(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -42,6 +46,8 @@ def create_product(self,
## Response Type
+**201**: Created
+
[`ProductResponse`](../../doc/models/product-response.md)
## Example Usage
@@ -136,6 +142,10 @@ def read_product(self,
product_id)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -144,6 +154,8 @@ def read_product(self,
## Response Type
+**200**: OK
+
[`ProductResponse`](../../doc/models/product-response.md)
## Example Usage
@@ -217,6 +229,10 @@ def update_product(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -226,6 +242,8 @@ def update_product(self,
## Response Type
+**200**: OK
+
[`ProductResponse`](../../doc/models/product-response.md)
## Example Usage
@@ -294,7 +312,7 @@ print(result)
# Archive Product
-Archives the product. All current subscribers will be unffected; their subscription/purchase will continue to be charged monthly.
+Archives the product. All current subscribers will be unaffected; their subscription/purchase will continue to be charged monthly.
This will restrict the option to chose the product for purchase via the Billing Portal, as well as disable Public Signup Pages for the product.
@@ -303,6 +321,10 @@ def archive_product(self,
product_id)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -311,6 +333,8 @@ def archive_product(self,
## Response Type
+**200**: OK
+
[`ProductResponse`](../../doc/models/product-response.md)
## Example Usage
@@ -381,6 +405,10 @@ def read_product_by_handle(self,
api_handle)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -389,6 +417,8 @@ def read_product_by_handle(self,
## Response Type
+**200**: OK
+
[`ProductResponse`](../../doc/models/product-response.md)
## Example Usage
@@ -471,13 +501,17 @@ print(result)
# List Products
-This method allows to retrieve a list of Products belonging to a Site.
+Lists products belonging to a site.
```python
def list_products(self,
options=dict())
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -495,6 +529,8 @@ def list_products(self,
## Response Type
+**200**: OK
+
[`List[ProductResponse]`](../../doc/models/product-response.md)
## Example Usage
diff --git a/doc/controllers/proforma-invoices.md b/doc/controllers/proforma-invoices.md
index 5f57869..36371e7 100644
--- a/doc/controllers/proforma-invoices.md
+++ b/doc/controllers/proforma-invoices.md
@@ -24,7 +24,7 @@ proforma_invoices_controller = client.proforma_invoices
# Create Consolidated Proforma Invoice
-This endpoint will trigger the creation of a consolidated proforma invoice asynchronously. It will return a 201 with no message, or a 422 with any errors. To find and view the new consolidated proforma invoice, you may poll the subscription group listing for proforma invoices; only one consolidated proforma invoice may be created per group at a time.
+Creates a consolidated proforma invoice asynchronously. It will return a 201 with no message, or a 422 with any errors. To find and view the new consolidated proforma invoice, you may poll the subscription group listing for proforma invoices; only one consolidated proforma invoice may be created per group at a time.
If the information becomes outdated, simply void the old consolidated proforma invoice and generate a new one.
@@ -37,6 +37,10 @@ def create_consolidated_proforma_invoice(self,
uid)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -45,6 +49,8 @@ def create_consolidated_proforma_invoice(self,
## Response Type
+**201**: Created
+
`void`
## Example Usage
@@ -64,7 +70,7 @@ proforma_invoices_controller.create_consolidated_proforma_invoice(uid)
# List Subscription Group Proforma Invoices
-Only proforma invoices with a `consolidation_level` of parent are returned.
+Lists proforma invoices with a `consolidation_level` of parent for the subscription group.
By default, proforma invoices returned on the index will only include totals, not detailed breakdowns for `line_items`, `discounts`, `taxes`, `credits`, `payments`, `custom_fields`. To include breakdowns, pass the specific field as a key in the query with a value set to true.
@@ -73,6 +79,10 @@ def list_subscription_group_proforma_invoices(self,
options=dict())
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -87,6 +97,8 @@ def list_subscription_group_proforma_invoices(self,
## Response Type
+**200**: OK
+
[`ListProformaInvoicesResponse`](../../doc/models/list-proforma-invoices-response.md)
## Example Usage
@@ -114,7 +126,7 @@ print(result)
# Read Proforma Invoice
-Use this endpoint to read the details of an existing proforma invoice.
+Returns the details of an existing proforma invoice.
## Restrictions
@@ -125,6 +137,10 @@ def read_proforma_invoice(self,
proforma_invoice_uid)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -133,6 +149,8 @@ def read_proforma_invoice(self,
## Response Type
+**200**: OK
+
[`ProformaInvoice`](../../doc/models/proforma-invoice.md)
## Example Usage
@@ -153,7 +171,7 @@ print(result)
# Create Proforma Invoice
-This endpoint will create a proforma invoice and return it as a response. If the information becomes outdated, simply void the old proforma invoice and generate a new one.
+Creates a proforma invoice and returns it as a response. If the information becomes outdated, simply void the old proforma invoice and generate a new one.
If you would like to preview the next billing amounts without generating a full proforma invoice, use the renewal preview endpoint.
@@ -166,6 +184,10 @@ def create_proforma_invoice(self,
subscription_id)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -174,6 +196,8 @@ def create_proforma_invoice(self,
## Response Type
+**200**: OK
+
[`ProformaInvoice`](../../doc/models/proforma-invoice.md)
## Example Usage
@@ -194,13 +218,17 @@ print(result)
# List Proforma Invoices
-By default, proforma invoices returned on the index will only include totals, not detailed breakdowns for `line_items`, `discounts`, `taxes`, `credits`, `payments`, or `custom_fields`. To include breakdowns, pass the specific field as a key in the query with a value set to `true`.
+Lists proforma invoices for a subscription. By default, results only include totals, not detailed breakdowns for `line_items`, `discounts`, `taxes`, `credits`, `payments`, or `custom_fields`. To include breakdowns, pass the specific field as a key in the query with a value set to `true`.
```python
def list_proforma_invoices(self,
options=dict())
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -221,6 +249,8 @@ def list_proforma_invoices(self,
## Response Type
+**200**: OK
+
[`ListProformaInvoicesResponse`](../../doc/models/list-proforma-invoices-response.md)
## Example Usage
@@ -245,7 +275,7 @@ print(result)
# Deliver Proforma Invoice
-Allows for proforma invoices to be programmatically delivered via email. Supports email
+Delivers a proforma invoice programmatically via email. Supports email
delivery to direct recipients, carbon-copy (cc) recipients, and blind carbon-copy (bcc) recipients.
If `recipient_emails` is omitted, the system will fall back to the primary recipient derived from the invoice or
@@ -258,6 +288,10 @@ def deliver_proforma_invoice(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -267,6 +301,8 @@ def deliver_proforma_invoice(self,
## Response Type
+**201**: Created
+
[`ProformaInvoice`](../../doc/models/proforma-invoice.md)
## Example Usage
@@ -303,7 +339,7 @@ print(result)
# Void Proforma Invoice
-This endpoint will void a proforma invoice that has the status "draft".
+Voids a proforma invoice that has the status "draft".
## Restrictions
@@ -319,6 +355,10 @@ def void_proforma_invoice(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -328,6 +368,8 @@ def void_proforma_invoice(self,
## Response Type
+**200**: OK
+
[`ProformaInvoice`](../../doc/models/proforma-invoice.md)
## Example Usage
@@ -349,7 +391,7 @@ print(result)
# Preview Proforma Invoice
-Return a preview of the data that will be included on a given subscription's proforma invoice if one were to be generated. It will have similar line items and totals as a renewal preview, but the response will be presented in the format of a proforma invoice. Consequently it will include additional information such as the name and addresses that will appear on the proforma invoice.
+Returns a preview of the data that will be included on a given subscription's proforma invoice if one were to be generated. It will have similar line items and totals as a renewal preview, but the response will be presented in the format of a proforma invoice. Consequently it will include additional information such as the name and addresses that will appear on the proforma invoice.
The preview endpoint is subject to all the same conditions as the proforma invoice endpoint. For example, previews are only available on the Relationship Invoicing architecture, and previews cannot be made for end-of-life subscriptions.
@@ -362,6 +404,10 @@ def preview_proforma_invoice(self,
subscription_id)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -370,6 +416,8 @@ def preview_proforma_invoice(self,
## Response Type
+**200**: OK
+
[`ProformaInvoice`](../../doc/models/proforma-invoice.md)
## Example Usage
@@ -391,9 +439,7 @@ print(result)
# Create Signup Proforma Invoice
-This endpoint is only available for Relationship Invoicing sites. It cannot be used to create consolidated proforma invoices or preview prepaid subscriptions.
-
-Create a proforma invoice to preview costs before a subscription's signup. Like other proforma invoices, it can be emailed to the customer, voided, and publicly viewed on the chargifypay domain.
+Creates a proforma invoice to preview costs before a subscription's signup. This endpoint is only available for Relationship Invoicing sites and cannot be used to create consolidated proforma invoices or preview prepaid subscriptions. Like other proforma invoices, it can be emailed to the customer, voided, and publicly viewed on the chargifypay domain.
Pass a payload that resembles a subscription create or signup preview request. For example, you can specify components, coupons/a referral, offers, custom pricing, and an existing customer or payment profile to populate a shipping or billing address.
@@ -404,6 +450,10 @@ def create_signup_proforma_invoice(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -412,6 +462,8 @@ def create_signup_proforma_invoice(self,
## Response Type
+**201**: Created
+
[`ProformaInvoice`](../../doc/models/proforma-invoice.md)
## Example Usage
@@ -444,9 +496,7 @@ print(result)
# Preview Signup Proforma Invoice
-This endpoint is only available for Relationship Invoicing sites. It cannot be used to create consolidated proforma invoice previews or preview prepaid subscriptions.
-
-Create a signup preview in the format of a proforma invoice to preview costs before a subscription's signup. You have the option of optionally previewing the first renewal's costs as well. The proforma invoice preview will not be persisted.
+Creates a signup preview in the format of a proforma invoice to preview costs before a subscription's signup. This endpoint is only available for Relationship Invoicing sites and cannot be used to create consolidated proforma invoice previews or preview prepaid subscriptions. You have the option of previewing the first renewal's costs as well. The proforma invoice preview will not be persisted.
Pass a payload that resembles a subscription create or signup preview request. For example, you can specify components, coupons/a referral, offers, custom pricing, and an existing customer or payment profile to populate a shipping or billing address.
@@ -458,6 +508,10 @@ def preview_signup_proforma_invoice(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -467,6 +521,8 @@ def preview_signup_proforma_invoice(self,
## Response Type
+**201**: Created
+
[`SignupProformaPreviewResponse`](../../doc/models/signup-proforma-preview-response.md)
## Example Usage
diff --git a/doc/controllers/reason-codes.md b/doc/controllers/reason-codes.md
index 2e2b982..e17c9b2 100644
--- a/doc/controllers/reason-codes.md
+++ b/doc/controllers/reason-codes.md
@@ -19,9 +19,11 @@ reason_codes_controller = client.reason_codes
# Create Reason Code
+Creates a reason code for a given site.
+
# Reason Codes Intro
-ReasonCodes are a way to gain a high level view of why your customers are cancelling the subscription to your product or service.
+Reason Codes are a way to gain a high-level view of why your customers are cancelling the subscription to your product or service.
Add a set of churn reason codes to be displayed in-app and/or the Maxio Billing Portal. As your subscribers decide to cancel their subscription, learn why they decided to cancel.
@@ -33,13 +35,17 @@ Full documentation on how Reason Codes operate within Advanced Billing can be lo
## Create Reason Code
-This method gives a merchant the option to create a reason codes for a given Site.
+This method gives a merchant the option to create reason codes for a given site.
```python
def create_reason_code(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -48,6 +54,8 @@ def create_reason_code(self,
## Response Type
+**200**: OK
+
[`ReasonCodeResponse`](../../doc/models/reason-code-response.md)
## Example Usage
@@ -76,13 +84,17 @@ print(result)
# List Reason Codes
-This method gives a merchant the option to retrieve a list of all of the current churn codes for a given site.
+Lists all current churn codes for a given site.
```python
def list_reason_codes(self,
options=dict())
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -92,6 +104,8 @@ def list_reason_codes(self,
## Response Type
+**200**: OK
+
[`List[ReasonCodeResponse]`](../../doc/models/reason-code-response.md)
## Example Usage
@@ -154,13 +168,17 @@ print(result)
# Read Reason Code
-This method gives a merchant the option to retrieve a list of a particular code for a given Site by providing the unique numerical ID of the code.
+Returns a particular churn reason code for a given site by its unique ID.
```python
def read_reason_code(self,
reason_code_id)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -169,6 +187,8 @@ def read_reason_code(self,
## Response Type
+**200**: OK
+
[`ReasonCodeResponse`](../../doc/models/reason-code-response.md)
## Example Usage
@@ -189,7 +209,7 @@ print(result)
# Update Reason Code
-This method gives a merchant the option to update an existing reason code for a given site.
+Updates an existing reason code for a given site.
```python
def update_reason_code(self,
@@ -197,6 +217,10 @@ def update_reason_code(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -206,6 +230,8 @@ def update_reason_code(self,
## Response Type
+**200**: OK
+
[`ReasonCodeResponse`](../../doc/models/reason-code-response.md)
## Example Usage
@@ -227,13 +253,17 @@ print(result)
# Delete Reason Code
-This method gives a merchant the option to delete one reason code from the Churn Reason Codes. This code will be immediately removed. This action is not reversible.
+Deletes a reason code from the Churn Reason Codes. This code will be immediately removed. This action is not reversible.
```python
def delete_reason_code(self,
reason_code_id)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -242,6 +272,8 @@ def delete_reason_code(self,
## Response Type
+**200**: OK
+
[`OkResponse`](../../doc/models/ok-response.md)
## Example Usage
diff --git a/doc/controllers/referral-codes.md b/doc/controllers/referral-codes.md
index e6b8422..fe69bef 100644
--- a/doc/controllers/referral-codes.md
+++ b/doc/controllers/referral-codes.md
@@ -11,7 +11,7 @@ referral_codes_controller = client.referral_codes
# Validate Referral Code
-Use this method to determine if the referral code is valid and applicable within your Site. This method is useful for validating referral codes that are entered by a customer.
+Validates whether a referral code is valid and applicable within your site. This method is useful for validating referral codes that are entered by a customer.
## Referrals Documentation
@@ -26,6 +26,10 @@ def validate_referral_code(self,
code)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -34,6 +38,8 @@ def validate_referral_code(self,
## Response Type
+**200**: OK
+
[`ReferralValidationResponse`](../../doc/models/referral-validation-response.md)
## Example Usage
diff --git a/doc/controllers/sales-commissions.md b/doc/controllers/sales-commissions.md
index 97befef..97b4f09 100644
--- a/doc/controllers/sales-commissions.md
+++ b/doc/controllers/sales-commissions.md
@@ -17,7 +17,7 @@ sales_commissions_controller = client.sales_commissions
# List Sales Commission Settings
-Endpoint returns subscriptions with associated sales reps
+Lists subscriptions with associated sales reps.
## Modified Authentication Process
@@ -32,6 +32,10 @@ def list_sales_commission_settings(self,
options=dict())
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -44,6 +48,8 @@ def list_sales_commission_settings(self,
## Response Type
+**200**: OK
+
[`List[SaleRepSettings]`](../../doc/models/sale-rep-settings.md)
## Example Usage
@@ -96,7 +102,7 @@ print(result)
# List Sales Reps
-Endpoint returns sales rep list with details
+Returns a sales rep list with details.
## Modified Authentication Process
@@ -111,6 +117,10 @@ def list_sales_reps(self,
options=dict())
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -123,6 +133,8 @@ def list_sales_reps(self,
## Response Type
+**200**: OK
+
[`List[ListSaleRepItem]`](../../doc/models/list-sale-rep-item.md)
## Example Usage
@@ -224,7 +236,7 @@ print(result)
# Read Sales Rep
-Endpoint returns sales rep and attached subscriptions details.
+Returns a sales rep and attached subscription details.
## Modified Authentication Process
@@ -244,6 +256,10 @@ def read_sales_rep(self,
per_page=100)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -257,6 +273,8 @@ def read_sales_rep(self,
## Response Type
+**200**: OK
+
[`SaleRep`](../../doc/models/sale-rep.md)
## Example Usage
diff --git a/doc/controllers/sites.md b/doc/controllers/sites.md
index f4baeec..68b22ea 100644
--- a/doc/controllers/sites.md
+++ b/doc/controllers/sites.md
@@ -17,15 +17,15 @@ sites_controller = client.sites
# Read Site
-This endpoint allows you to fetch some site data.
+Retrieves site data.
Full documentation on Sites in the Advanced Billing UI can be located [here](https://maxio.zendesk.com/hc/en-us/sections/24250550707085-Sites).
-Specifically, the [Clearing Site Data](https://maxio.zendesk.com/hc/en-us/articles/24250617028365-Clearing-Site-Data) section is extremely relevant to this endpoint documentation.
+Specifically, the [Clearing Site Data](https://maxio.zendesk.com/hc/en-us/articles/24250617028365-Clearing-Site-Data) section is relevant to this endpoint documentation.
#### Relationship invoicing enabled
-If site has RI enabled then you will see more settings like:
+If the site has RI enabled then you will see more settings like:
"customer_hierarchy_enabled": true,
"whopays_enabled": true,
@@ -38,8 +38,14 @@ You can read more about these settings here:
def read_site(self)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Response Type
+**200**: OK
+
[`SiteResponse`](../../doc/models/site-response.md)
## Example Usage
@@ -103,7 +109,7 @@ print(result)
# Clear Site
-This call is asynchronous and there may be a delay before the site data is fully deleted. If you are clearing site data for an automated test, you will need to build in a delay and/or check that there are no products, etc., in the site before proceeding.
+Clears all data from a test site asynchronously. This call is asynchronous and there may be a delay before the site data is fully deleted. If you are clearing site data for an automated test, you will need to build in a delay and/or check that there are no products, etc., in the site before proceeding.
**This functionality will only work on sites in TEST mode. Attempts to perform this on sites in “live” mode will result in a response of 403 FORBIDDEN.**
@@ -112,6 +118,10 @@ def clear_site(self,
cleanup_scope="all")
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -120,6 +130,8 @@ def clear_site(self,
## Response Type
+**200**: OK
+
`void`
## Example Usage
@@ -135,13 +147,17 @@ sites_controller.clear_site(
# List Chargify Js Public Keys
-This endpoint returns public keys used for Chargify.js.
+Returns public keys used for Maxio.js (formerly Chargify.js).
```python
def list_chargify_js_public_keys(self,
options=dict())
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -151,6 +167,8 @@ def list_chargify_js_public_keys(self,
## Response Type
+**200**: OK
+
[`ListPublicKeysResponse`](../../doc/models/list-public-keys-response.md)
## Example Usage
diff --git a/doc/controllers/subscription-components.md b/doc/controllers/subscription-components.md
index ecbb8f4..dd81b43 100644
--- a/doc/controllers/subscription-components.md
+++ b/doc/controllers/subscription-components.md
@@ -31,7 +31,7 @@ subscription_components_controller = client.subscription_components
# Read Subscription Component
-This request will list information regarding a specific component owned by a subscription.
+Returns information for a specific component on a subscription.
```python
def read_subscription_component(self,
@@ -39,6 +39,10 @@ def read_subscription_component(self,
component_id)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -48,6 +52,8 @@ def read_subscription_component(self,
## Response Type
+**200**: OK
+
[`SubscriptionComponentResponse`](../../doc/models/subscription-component-response.md)
## Example Usage
@@ -92,7 +98,7 @@ print(result)
# List Subscription Components
-This request will list a subscription's applied components.
+Lists a subscription's applied components.
## Archived Components
@@ -103,6 +109,10 @@ def list_subscription_components(self,
options=dict())
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -123,6 +133,8 @@ def list_subscription_components(self,
## Response Type
+**200**: OK
+
[`List[SubscriptionComponentResponse]`](../../doc/models/subscription-component-response.md)
## Example Usage
@@ -200,6 +212,10 @@ def bulk_update_subscription_components_price_points(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -209,6 +225,8 @@ def bulk_update_subscription_components_price_points(self,
## Response Type
+**200**: OK
+
[`BulkComponentsPricePointAssignment`](../../doc/models/bulk-components-price-point-assignment.md)
## Example Usage
@@ -275,6 +293,10 @@ def bulk_reset_subscription_components_price_points(self,
subscription_id)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -283,6 +305,8 @@ def bulk_reset_subscription_components_price_points(self,
## Response Type
+**201**: Created
+
[`SubscriptionResponse`](../../doc/models/subscription-response.md)
## Example Usage
@@ -401,7 +425,7 @@ Creates an allocation, sets the current allocated quantity for the component, an
When creating an allocation via the API, you can pass the `upgrade_charge`, `downgrade_credit`, and `accrue_charge` to be applied.
-> **Note:** These proration and accural fields are ignored for Prepaid Components since this component type always generate charges immediately without proration.
+> **Note:** These proration and accrual fields are ignored for Prepaid Components since this component type always generates charges immediately without proration.
For information on prorated components and upgrade/downgrade schemes, see [Setting Component Allocations.](https://maxio.zendesk.com/hc/en-us/articles/24251906165133-Component-Allocations-Proration)
@@ -419,7 +443,7 @@ For information on prorated components and upgrade/downgrade schemes, see [Setti
> **Note:** Proration uses the current price of the component as well as the current tax rates. Changes to either may cause the prorated charge/credit to be wrong.
-For more informaiton see the [Component Allocations](https://maxio.zendesk.com/hc/en-us/articles/24251883961485-Component-Allocations-Overview) product Documentation.
+For more information, see the [Component Allocations](https://maxio.zendesk.com/hc/en-us/articles/24251883961485-Component-Allocations-Overview) product Documentation.
```python
def allocate_component(self,
@@ -428,6 +452,10 @@ def allocate_component(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -438,6 +466,8 @@ def allocate_component(self,
## Response Type
+**200**: OK
+
[`AllocationResponse`](../../doc/models/allocation-response.md)
## Example Usage
@@ -535,7 +565,7 @@ print(result)
# List Allocations
-This endpoint returns the 50 most recent Allocations, ordered by most recent first.
+Returns the 50 most recent Allocations, ordered by most recent first.
## On/Off Components
@@ -548,6 +578,10 @@ def list_allocations(self,
page=1)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -558,6 +592,8 @@ def list_allocations(self,
## Response Type
+**200**: OK
+
[`List[AllocationResponse]`](../../doc/models/allocation-response.md)
## Example Usage
@@ -632,7 +668,7 @@ print(result)
# Allocate Components
-Creates multiple allocations, sets the current allocated quantity for each of the components, and recording a memo. A `component_id` is required for each allocation.
+Creates multiple allocations, sets the current allocated quantity for each of the components, and records a memo. A `component_id` is required for each allocation.
The charges and/or credits that are created will be rolled up into a single total which is used to determine whether this is an upgrade or a downgrade.
@@ -650,7 +686,7 @@ The charges and/or credits that are created will be rolled up into a single tota
> **Note:** Proration uses the current price of the component as well as the current tax rates. Changes to either may cause the prorated charge/credit to be wrong.
-For more informaiton see the [Component Allocations](https://maxio.zendesk.com/hc/en-us/articles/24251883961485-Component-Allocations-Overview) product Documentation.
+For more information, see the [Component Allocations](https://maxio.zendesk.com/hc/en-us/articles/24251883961485-Component-Allocations-Overview) product documentation.
```python
def allocate_components(self,
@@ -658,6 +694,10 @@ def allocate_components(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -667,6 +707,8 @@ def allocate_components(self,
## Response Type
+**200**: OK
+
[`List[AllocationResponse]`](../../doc/models/allocation-response.md)
## Example Usage
@@ -751,7 +793,7 @@ print(result)
# Preview Allocations
-Advanced Billing offers the ability to preview a potential subscription's **quantity-based** or **on/off** component allocation in the middle of the current billing period. This is useful if you want users to be able to see the effect of a component operation before actually doing it.
+Previews a potential subscription's **quantity-based** or **on/off** component allocation in the middle of the current billing period. This is useful if you want users to be able to see the effect of a component operation before actually doing it.
## Fine-grained Component Control: Use with multiple `upgrade_charge`s or `downgrade_credits`
@@ -765,6 +807,10 @@ def preview_allocations(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -774,6 +820,8 @@ def preview_allocations(self,
## Response Type
+**200**: OK
+
[`AllocationPreviewResponse`](../../doc/models/allocation-preview-response.md)
## Example Usage
@@ -914,7 +962,7 @@ print(result)
# Update Prepaid Usage Allocation Expiration Date
-When the expiration interval options are selected on a prepaid usage component price point, all allocations will be created with an expiration date. This expiration date can be changed after the fact to allow for extending or shortening the allocation's active window.
+Updates the expiration date for a prepaid usage allocation. This expiration date can be changed after the fact to allow for extending or shortening the allocation's active window.
In order to change a prepaid usage allocation's expiration date, a PUT call must be made to the allocation's endpoint with a new expiration date.
@@ -934,6 +982,10 @@ def update_prepaid_usage_allocation_expiration_date(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -945,6 +997,8 @@ def update_prepaid_usage_allocation_expiration_date(self,
## Response Type
+**204**: OK
+
`void`
## Example Usage
@@ -980,7 +1034,9 @@ subscription_components_controller.update_prepaid_usage_allocation_expiration_da
# Delete Prepaid Usage Allocation
-Prepaid Usage components are unique in that their allocations are always additive. In order to reduce a subscription's allocated quantity for a prepaid usage component each allocation must be destroyed individually via this endpoint.
+Deletes a prepaid usage allocation.
+
+Prepaid Usage components are unique in that their allocations are always additive. In order to reduce a subscription's allocated quantity for a prepaid usage component, each allocation must be destroyed individually via this endpoint.
## Credit Scheme
@@ -998,6 +1054,10 @@ def delete_prepaid_usage_allocation(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -1009,6 +1069,8 @@ def delete_prepaid_usage_allocation(self,
## Response Type
+**200**: OK
+
`void`
## Example Usage
@@ -1048,11 +1110,11 @@ You can report metered or prepaid usage to Advanced Billing as often as you wish
Full documentation on how to create Components in the Advanced Billing UI can be located [here](https://maxio.zendesk.com/hc/en-us/articles/24261149711501-Create-Edit-and-Archive-Components). Additionally, for information on how to record component usage against a subscription, see the following resources:
-It is not possible to record metered usage for more than one component at a time Usage should be reported as one API call per component on a single subscription. For example, to record that a subscriber has sent both an SMS Message and an Email, send an API call for each.
+It is not possible to record metered usage for more than one component at a time. Usage should be reported as one API call per component on a single subscription. For example, to record that a subscriber has sent both an SMS Message and an Email, send an API call for each.
-See the following product documention articles for more information:
+See the following product documentation articles for more information:
-- [Create and Manage Components](https://maxio.zendesk.com/hc/en-us/articles/24261149711501-Create-Edit-and-Archive-Components). A
+- [Create and Manage Components](https://maxio.zendesk.com/hc/en-us/articles/24261149711501-Create-Edit-and-Archive-Components)
- [Recording Metered Component Usage](https://maxio.zendesk.com/hc/en-us/articles/24251890500109-Reporting-Component-Allocations#reporting-metered-component-usage)
- [Reporting Prepaid Component Status](https://maxio.zendesk.com/hc/en-us/articles/24251890500109-Reporting-Component-Allocations#reporting-prepaid-component-status)
@@ -1101,6 +1163,10 @@ def create_usage(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -1111,6 +1177,8 @@ def create_usage(self,
## Response Type
+**200**: OK
+
[`UsageResponse`](../../doc/models/usage-response.md)
## Example Usage
@@ -1162,7 +1230,7 @@ print(result)
# List Usages
-This request will return a list of the usages associated with a subscription for a particular metered component. This will display the previously recorded components for a subscription.
+Returns a list of usages associated with a subscription for a particular metered component. This will display the previously recorded components for a subscription.
This endpoint is not compatible with quantity-based components.
@@ -1183,6 +1251,10 @@ def list_usages(self,
options=dict())
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -1198,6 +1270,8 @@ def list_usages(self,
## Response Type
+**200**: OK
+
[`List[UsageResponse]`](../../doc/models/usage-response.md)
## Example Usage
@@ -1247,6 +1321,8 @@ print(result)
# Activate Event Based Component
+Activates an event-based component for a single subscription.
+
In order to bill your subscribers on your Events data under the Events-Based Billing feature, the components must be activated for the subscriber.
Learn more about the role of activation in the [Events-Based Billing docs](https://maxio.zendesk.com/hc/en-us/articles/24260323329805-Events-Based-Billing-Overview).
@@ -1262,6 +1338,10 @@ def activate_event_based_component(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -1272,6 +1352,8 @@ def activate_event_based_component(self,
## Response Type
+**200**: OK
+
`void`
## Example Usage
@@ -1311,7 +1393,7 @@ subscription_components_controller.activate_event_based_component(
# Deactivate Event Based Component
-Use this endpoint to deactivate an event-based component for a single subscription. Deactivating the event-based component causes Advanced Billing to ignore related events at subscription renewal.
+Deactivates an event-based component for a single subscription. Deactivating the event-based component causes Advanced Billing to ignore related events at subscription renewal.
```python
def deactivate_event_based_component(self,
@@ -1319,6 +1401,10 @@ def deactivate_event_based_component(self,
component_id)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -1328,6 +1414,8 @@ def deactivate_event_based_component(self,
## Response Type
+**200**: OK
+
`void`
## Example Usage
@@ -1346,6 +1434,8 @@ subscription_components_controller.deactivate_event_based_component(
# Record Event
+Records a single event for Events-Based Billing.
+
## Documentation
Events-Based Billing is an evolved form of metered billing that is based on data-rich events streamed in real-time from your system to Advanced Billing.
@@ -1373,6 +1463,10 @@ def record_event(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -1383,6 +1477,8 @@ def record_event(self,
## Response Type
+**201**: Created
+
`void`
## Example Usage
@@ -1406,7 +1502,7 @@ subscription_components_controller.record_event(
# Bulk Record Events
-Use this endpoint to record a collection of events.
+Records a collection of events.
*Note: this endpoint differs from the standard Chargify API endpoints in that the subdomain will be `events` and your site subdomain will be included in the URL path.*
@@ -1419,6 +1515,10 @@ def bulk_record_events(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -1429,6 +1529,8 @@ def bulk_record_events(self,
## Response Type
+**201**: Created
+
`void`
## Example Usage
@@ -1454,13 +1556,17 @@ subscription_components_controller.bulk_record_events(
# List Subscription Components for Site
-This request will list components applied to each subscription.
+Lists components applied to each subscription.
```python
def list_subscription_components_for_site(self,
options=dict())
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -1482,6 +1588,8 @@ def list_subscription_components_for_site(self,
## Response Type
+**200**: OK
+
[`ListSubscriptionComponentsResponse`](../../doc/models/list-subscription-components-response.md)
## Example Usage
diff --git a/doc/controllers/subscription-group-invoice-account.md b/doc/controllers/subscription-group-invoice-account.md
index bc428ad..20fc67b 100644
--- a/doc/controllers/subscription-group-invoice-account.md
+++ b/doc/controllers/subscription-group-invoice-account.md
@@ -18,7 +18,7 @@ subscription_group_invoice_account_controller = client.subscription_group_invoic
# Create Subscription Group Prepayment
-A prepayment can be added for a subscription group identified by the group's `uid`. This endpoint requires a `amount`, `details`, `method`, and `memo`. On success, the prepayment will be added to the group's prepayment balance.
+Adds a prepayment for a subscription group. This endpoint requires an `amount`, `details`, `method`, and `memo`. On success, the prepayment will be added to the group's prepayment balance.
```python
def create_subscription_group_prepayment(self,
@@ -26,6 +26,10 @@ def create_subscription_group_prepayment(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -35,6 +39,8 @@ def create_subscription_group_prepayment(self,
## Response Type
+**200**: OK
+
[`SubscriptionGroupPrepaymentResponse`](../../doc/models/subscription-group-prepayment-response.md)
## Example Usage
@@ -67,13 +73,17 @@ print(result)
# List Prepayments for Subscription Group
-This request will list a subscription group's prepayments.
+Lists a subscription group's prepayments.
```python
def list_prepayments_for_subscription_group(self,
options=dict())
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -85,6 +95,8 @@ def list_prepayments_for_subscription_group(self,
## Response Type
+**200**: OK
+
[`ListSubscriptionGroupPrepaymentResponse`](../../doc/models/list-subscription-group-prepayment-response.md)
## Example Usage
@@ -135,7 +147,7 @@ print(result)
# Issue Subscription Group Service Credit
-Credit can be issued for a subscription group identified by the group's `uid`. Credit will be added to the group in the amount specified in the request body. The credit will be applied to group member invoices as they are generated.
+Issues service credit for a subscription group. Credit will be added to the group in the amount specified in the request body. The credit will be applied to group member invoices as they are generated.
```python
def issue_subscription_group_service_credit(self,
@@ -143,6 +155,10 @@ def issue_subscription_group_service_credit(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -152,6 +168,8 @@ def issue_subscription_group_service_credit(self,
## Response Type
+**200**: OK
+
[`ServiceCreditResponse`](../../doc/models/service-credit-response.md)
## Example Usage
@@ -196,7 +214,7 @@ print(result)
# Deduct Subscription Group Service Credit
-Credit can be deducted for a subscription group identified by the group's `uid`. Credit will be deducted from the group in the amount specified in the request body.
+Deducts service credit for a subscription group. Credit will be deducted from the group in the amount specified in the request body.
```python
def deduct_subscription_group_service_credit(self,
@@ -204,6 +222,10 @@ def deduct_subscription_group_service_credit(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -213,6 +235,8 @@ def deduct_subscription_group_service_credit(self,
## Response Type
+**201**: Created
+
[`ServiceCredit`](../../doc/models/service-credit.md)
## Example Usage
diff --git a/doc/controllers/subscription-group-status.md b/doc/controllers/subscription-group-status.md
index a828707..b57793e 100644
--- a/doc/controllers/subscription-group-status.md
+++ b/doc/controllers/subscription-group-status.md
@@ -28,6 +28,10 @@ def cancel_subscriptions_in_group(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -37,6 +41,8 @@ def cancel_subscriptions_in_group(self,
## Response Type
+**200**: OK
+
`void`
## Example Usage
@@ -63,7 +69,7 @@ subscription_group_status_controller.cancel_subscriptions_in_group(
# Initiate Delayed Cancellation for Group
-This endpoint will schedule all subscriptions within the specified group to be canceled at the end of their billing period. The group is identified by its uid passed in the URL.
+Schedules all subscriptions within the specified group to be canceled at the end of their billing period. The group is identified by its uid passed in the URL.
All subscriptions in the group must be on automatic billing in order to successfully cancel them, and the group must not be in a "past_due" state.
@@ -72,6 +78,10 @@ def initiate_delayed_cancellation_for_group(self,
uid)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -80,6 +90,8 @@ def initiate_delayed_cancellation_for_group(self,
## Response Type
+**200**: OK
+
`void`
## Example Usage
@@ -99,6 +111,8 @@ subscription_group_status_controller.initiate_delayed_cancellation_for_group(uid
# Cancel Delayed Cancellation for Group
+Removes the delayed cancellation on a subscription group.
+
Removing the delayed cancellation on a subscription group will ensure that the subscriptions do not get canceled at the end of the period. The request will reset the `cancel_at_end_of_period` flag to false on each member in the group.
```python
@@ -106,6 +120,10 @@ def cancel_delayed_cancellation_for_group(self,
uid)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -114,6 +132,8 @@ def cancel_delayed_cancellation_for_group(self,
## Response Type
+**200**: OK
+
`void`
## Example Usage
@@ -133,15 +153,15 @@ subscription_group_status_controller.cancel_delayed_cancellation_for_group(uid)
# Reactivate Subscription Group
-This endpoint will attempt to reactivate or resume a cancelled subscription group. Upon reactivation, any canceled invoices created after the beginning of the primary subscription's billing period will be reopened and payment will be attempted on them. If the subscription group is being reactivated (as opposed to resumed), new charges will also be assessed for the new billing period.
+Reactivates or resumes a cancelled subscription group. Upon reactivation, any canceled invoices created after the beginning of the primary subscription's billing period will be reopened and payment will be attempted on them. If the subscription group is being reactivated (as opposed to resumed), new charges will also be assessed for the new billing period.
Whether a subscription group is reactivated (a new billing period is created) or resumed (the current billing period is respected) will depend on the parameters that are sent with the request as well as the date of the request relative to the primary subscription's period.
## Reactivating within the current period
-If a subscription group is cancelled and reactivated within the primary subscription's current period, we can choose to either start a new billing period or maintain the existing one. If we want to maintain the existing billing period the `resume=true` option must be passed in request parameters.
+If a subscription group is cancelled and reactivated within the primary subscription's current period, we can choose to either start a new billing period or maintain the existing one. If we want to maintain the existing billing period, the `resume=true` option must be passed in request parameters.
-An exception to the above are subscriptions that are on calendar billing. These subscriptions cannot be reactivated within the current period. If the `resume=true` option is not passed the request will return an error.
+An exception to the above are subscriptions that are on calendar billing. These subscriptions cannot be reactivated within the current period. If the `resume=true` option is not passed, the request will return an error.
The `resume_members` option is ignored in this case. All eligible group members will be automatically resumed.
@@ -153,12 +173,22 @@ Member subscriptions can have billing periods that are longer than the primary (
For calendar billing subscriptions, the new billing period created will be a partial one, spanning from the date of reactivation to the next corresponding calendar renewal date.
+## 3D Secure (3DS) Authentication post-authentication flow
+
+When a payment requires 3DS Authentication to adhere to Strong Customer Authentication (SCA), the request enters a post-authentication flow where a 422 Unprocessable Entity status is returned with an action_link that will direct the customer through 3DS Authentication.
+
+See the [3D Secure Post-Authentication Flow](https://docs.maxio.com/hc/en-us/articles/44277749524365-3D-Secure-Post-Authentication-Flow) article in the product documentation to learn how to manage the redirect flow.
+
```python
def reactivate_subscription_group(self,
uid,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -168,6 +198,8 @@ def reactivate_subscription_group(self,
## Response Type
+**200**: OK
+
[`ReactivateSubscriptionGroupResponse`](../../doc/models/reactivate-subscription-group-response.md)
## Example Usage
diff --git a/doc/controllers/subscription-groups.md b/doc/controllers/subscription-groups.md
index 712905a..e787e77 100644
--- a/doc/controllers/subscription-groups.md
+++ b/doc/controllers/subscription-groups.md
@@ -10,7 +10,7 @@ subscription_groups_controller = client.subscription_groups
## Methods
-* [Signup With Subscription Group](../../doc/controllers/subscription-groups.md#signup-with-subscription-group)
+* [Signup with Subscription Group](../../doc/controllers/subscription-groups.md#signup-with-subscription-group)
* [Create Subscription Group](../../doc/controllers/subscription-groups.md#create-subscription-group)
* [List Subscription Groups](../../doc/controllers/subscription-groups.md#list-subscription-groups)
* [Read Subscription Group](../../doc/controllers/subscription-groups.md#read-subscription-group)
@@ -18,12 +18,12 @@ subscription_groups_controller = client.subscription_groups
* [Delete Subscription Group](../../doc/controllers/subscription-groups.md#delete-subscription-group)
* [Find Subscription Group](../../doc/controllers/subscription-groups.md#find-subscription-group)
* [Add Subscription to Group](../../doc/controllers/subscription-groups.md#add-subscription-to-group)
-* [Remove Subscription From Group](../../doc/controllers/subscription-groups.md#remove-subscription-from-group)
+* [Remove Subscription from Group](../../doc/controllers/subscription-groups.md#remove-subscription-from-group)
-# Signup With Subscription Group
+# Signup with Subscription Group
-Create multiple subscriptions at once under the same customer and consolidate them into a subscription group.
+Creates multiple subscriptions at once under the same customer and consolidates them into a subscription group.
You must provide one and only one of the `payer_id`/`payer_reference`/`payer_attributes` for the customer attached to the group.
@@ -31,15 +31,19 @@ You must provide one and only one of the `payment_profile_id`/`credit_card_attri
Only one of the `subscriptions` can have `"primary": true` attribute set.
-When passing product to a subscription you can use either `product_id` or `product_handle` or `offer_id`. You can also use `custom_price` instead.
+When passing a product to a subscription you can use either `product_id` or `product_handle` or `offer_id`. You can also use `custom_price` instead.
The subscription request examples below will be split into two sections.
-The first section, "Subscription Customization", will focus on passing different information with a subscription, such as components, calendar billing, and custom fields. These examples will presume you are using a secure chargify_token generated by Chargify.js.
+The first section, "Subscription Customization", will focus on passing different information with a subscription, such as components, calendar billing, and custom fields. These examples will presume you are using a secure chargify_token generated by Maxio.js (formerly Chargify.js).
```python
def signup_with_subscription_group(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -48,6 +52,8 @@ def signup_with_subscription_group(self,
## Response Type
+**201**: Created
+
[`SubscriptionGroupSignupResponse`](../../doc/models/subscription-group-signup-response.md)
## Example Usage
@@ -94,6 +100,10 @@ def create_subscription_group(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -102,6 +112,8 @@ def create_subscription_group(self,
## Response Type
+**200**: OK
+
[`SubscriptionGroupResponse`](../../doc/models/subscription-group-response.md)
## Example Usage
@@ -167,6 +179,10 @@ def list_subscription_groups(self,
options=dict())
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -177,6 +193,8 @@ def list_subscription_groups(self,
## Response Type
+**200**: OK
+
[`ListSubscriptionGroupsResponse`](../../doc/models/list-subscription-groups-response.md)
## Example Usage
@@ -234,7 +252,7 @@ print(result)
# Read Subscription Group
-Use this endpoint to find subscription group details.
+Returns subscription group details.
#### Current Billing Amount in Cents
@@ -246,6 +264,10 @@ def read_subscription_group(self,
include=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -255,6 +277,8 @@ def read_subscription_group(self,
## Response Type
+**200**: OK
+
[`FullSubscriptionGroupResponse`](../../doc/models/full-subscription-group-response.md)
## Example Usage
@@ -318,8 +342,8 @@ print(result)
# Update Subscription Group Members
-Use this endpoint to update subscription group members.
-`"member_ids"` should contain an array of both subscription IDs to set as group members and subscription IDs already present in the groups. Not including them will result in removing them from subscription group. To clean up members, just leave the array empty.
+Updates subscription group members.
+`"member_ids"` should contain an array of both subscription IDs to set as group members and subscription IDs already present in the groups. Not including them will result in removing them from the subscription group. To clean up members, just leave the array empty.
```python
def update_subscription_group_members(self,
@@ -327,6 +351,10 @@ def update_subscription_group_members(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -336,6 +364,8 @@ def update_subscription_group_members(self,
## Response Type
+**200**: OK
+
[`SubscriptionGroupResponse`](../../doc/models/subscription-group-response.md)
## Example Usage
@@ -398,6 +428,10 @@ def delete_subscription_group(self,
uid)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -406,6 +440,8 @@ def delete_subscription_group(self,
## Response Type
+**200**: OK
+
[`DeleteSubscriptionGroupResponse`](../../doc/models/delete-subscription-group-response.md)
## Example Usage
@@ -435,15 +471,19 @@ print(result)
# Find Subscription Group
-Use this endpoint to find subscription group associated with subscription.
+Finds the subscription group associated with a subscription.
-If the subscription is not in a group endpoint will return 404 code.
+If the subscription is not in a group, the endpoint will return a 404 code.
```python
def find_subscription_group(self,
subscription_id)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -452,6 +492,8 @@ def find_subscription_group(self,
## Response Type
+**200**: OK
+
[`FullSubscriptionGroupResponse`](../../doc/models/full-subscription-group-response.md)
## Example Usage
@@ -534,6 +576,10 @@ def add_subscription_to_group(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -543,6 +589,8 @@ def add_subscription_to_group(self,
## Response Type
+**200**: OK
+
[`SubscriptionGroupResponse`](../../doc/models/subscription-group-response.md)
## Example Usage
@@ -594,15 +642,19 @@ print(result)
```
-# Remove Subscription From Group
+# Remove Subscription from Group
-For sites making use of the [Relationship Billing](https://maxio.zendesk.com/hc/en-us/articles/24252287829645-Advanced-Billing-Invoices-Overview) and [Customer Hierarchy](https://maxio.zendesk.com/hc/en-us/articles/24252185211533-Customer-Hierarchies-WhoPays#customer-hierarchies) features, it is possible to remove existing subscription from subscription group.
+For sites making use of the [Relationship Billing](https://maxio.zendesk.com/hc/en-us/articles/24252287829645-Advanced-Billing-Invoices-Overview) and [Customer Hierarchy](https://maxio.zendesk.com/hc/en-us/articles/24252185211533-Customer-Hierarchies-WhoPays#customer-hierarchies) features, it is possible to remove an existing subscription from a subscription group.
```python
def remove_subscription_from_group(self,
subscription_id)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -611,6 +663,8 @@ def remove_subscription_from_group(self,
## Response Type
+**204**: No Content
+
`void`
## Example Usage
diff --git a/doc/controllers/subscription-invoice-account.md b/doc/controllers/subscription-invoice-account.md
index d6893b6..a0876e2 100644
--- a/doc/controllers/subscription-invoice-account.md
+++ b/doc/controllers/subscription-invoice-account.md
@@ -28,6 +28,10 @@ def read_account_balances(self,
subscription_id)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -36,6 +40,8 @@ def read_account_balances(self,
## Response Type
+**200**: OK
+
[`AccountBalances`](../../doc/models/account-balances.md)
## Example Usage
@@ -50,7 +56,7 @@ print(result)
# Create Prepayment
-## Create Prepayment
+Creates a prepayment for a subscription.
In order to specify a prepayment made against a subscription, specify the `amount, memo, details, method`.
@@ -58,12 +64,22 @@ When the `method` specified is `"credit_card_on_file"`, the prepayment amount wi
Note that passing `amount_in_cents` is now allowed.
+## 3D Secure (3DS) Authentication post-authentication flow
+
+When a payment requires 3DS Authentication to adhere to Strong Customer Authentication (SCA), the request enters a post-authentication flow where a 422 Unprocessable Entity status is returned with an action_link that will direct the customer through 3DS Authentication.
+
+See the [3D Secure Post-Authentication Flow](https://docs.maxio.com/hc/en-us/articles/44277749524365-3D-Secure-Post-Authentication-Flow) article in the product documentation to learn how to manage the redirect flow.
+
```python
def create_prepayment(self,
subscription_id,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -73,6 +89,8 @@ def create_prepayment(self,
## Response Type
+**201**: Created
+
[`CreatePrepaymentResponse`](../../doc/models/create-prepayment-response.md)
## Example Usage
@@ -121,13 +139,17 @@ print(result)
# List Prepayments
-This request will list a subscription's prepayments.
+Lists a subscription's prepayments.
```python
def list_prepayments(self,
options=dict())
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -139,6 +161,8 @@ def list_prepayments(self,
## Response Type
+**200**: OK
+
[`PrepaymentsResponse`](../../doc/models/prepayments-response.md)
## Example Usage
@@ -188,7 +212,7 @@ print(result)
# Issue Service Credit
-Credit will be added to the subscription in the amount specified in the request body. The credit is subsequently applied to the next generated invoice.
+Adds a service credit to the subscription in the specified amount. The credit is subsequently applied to the next generated invoice.
```python
def issue_service_credit(self,
@@ -196,6 +220,10 @@ def issue_service_credit(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -205,6 +233,8 @@ def issue_service_credit(self,
## Response Type
+**201**: Created
+
[`ServiceCredit`](../../doc/models/service-credit.md)
## Example Usage
@@ -246,7 +276,7 @@ print(result)
# Deduct Service Credit
-Credit will be removed from the subscription in the amount specified in the request body. The credit amount being deducted must be equal to or less than the current credit balance.
+Deducts a service credit from the subscription in the specified amount. The credit amount being deducted must be equal to or less than the current credit balance.
```python
def deduct_service_credit(self,
@@ -254,6 +284,10 @@ def deduct_service_credit(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -263,6 +297,8 @@ def deduct_service_credit(self,
## Response Type
+**201**: OK
+
`void`
## Example Usage
@@ -292,7 +328,7 @@ subscription_invoice_account_controller.deduct_service_credit(
# List Service Credits
-This request will list a subscription's service credits.
+Lists a subscription's service credits.
```python
def list_service_credits(self,
@@ -302,6 +338,10 @@ def list_service_credits(self,
direction=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -313,6 +353,8 @@ def list_service_credits(self,
## Response Type
+**200**: OK
+
[`ListServiceCreditsResponse`](../../doc/models/list-service-credits-response.md)
## Example Usage
@@ -371,7 +413,7 @@ print(result)
# Refund Prepayment
-This endpoint will refund, completely or partially, a particular prepayment applied to a subscription. The `prepayment_id` will be the account transaction ID of the original payment. The prepayment must have some amount remaining in order to be refunded.
+Refunds a prepayment applied to a subscription, either fully or partially. The `prepayment_id` will be the account transaction ID of the original payment. The prepayment must have some amount remaining in order to be refunded.
The amount may be passed either as a decimal, with `amount`, or an integer in cents, with `amount_in_cents`.
@@ -382,6 +424,10 @@ def refund_prepayment(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -392,6 +438,8 @@ def refund_prepayment(self,
## Response Type
+**201**: Created
+
[`PrepaymentResponse`](../../doc/models/prepayment-response.md)
## Example Usage
diff --git a/doc/controllers/subscription-notes.md b/doc/controllers/subscription-notes.md
index c8a1279..afc3d8c 100644
--- a/doc/controllers/subscription-notes.md
+++ b/doc/controllers/subscription-notes.md
@@ -19,7 +19,7 @@ subscription_notes_controller = client.subscription_notes
# Create Subscription Note
-Use the following method to create a note for a subscription.
+Creates a note for a subscription.
## How to Use Subscription Notes
@@ -35,6 +35,10 @@ def create_subscription_note(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -44,6 +48,8 @@ def create_subscription_note(self,
## Response Type
+**200**: OK
+
[`SubscriptionNoteResponse`](../../doc/models/subscription-note-response.md)
## Example Usage
@@ -74,13 +80,17 @@ print(result)
# List Subscription Notes
-Use this method to retrieve a list of Notes associated with a Subscription. The response will be an array of Notes.
+Retrieves a list of notes associated with a subscription. The response will be an array of Notes.
```python
def list_subscription_notes(self,
options=dict())
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -91,6 +101,8 @@ def list_subscription_notes(self,
## Response Type
+**200**: OK
+
[`List[SubscriptionNoteResponse]`](../../doc/models/subscription-note-response.md)
## Example Usage
@@ -141,7 +153,7 @@ print(result)
# Read Subscription Note
-Once you have obtained the ID of the note you wish to read, use this method to show a particular note attached to a subscription.
+Retrieves a specific note attached to a subscription.
```python
def read_subscription_note(self,
@@ -149,6 +161,10 @@ def read_subscription_note(self,
note_id)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -158,6 +174,8 @@ def read_subscription_note(self,
## Response Type
+**200**: OK
+
[`SubscriptionNoteResponse`](../../doc/models/subscription-note-response.md)
## Example Usage
@@ -192,7 +210,7 @@ print(result)
# Update Subscription Note
-Use the following method to update a note for a Subscription.
+Updates a note for a subscription.
```python
def update_subscription_note(self,
@@ -201,6 +219,10 @@ def update_subscription_note(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -211,6 +233,8 @@ def update_subscription_note(self,
## Response Type
+**200**: OK
+
[`SubscriptionNoteResponse`](../../doc/models/subscription-note-response.md)
## Example Usage
@@ -252,6 +276,10 @@ def delete_subscription_note(self,
note_id)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -261,6 +289,8 @@ def delete_subscription_note(self,
## Response Type
+**200**: OK
+
`void`
## Example Usage
diff --git a/doc/controllers/subscription-products.md b/doc/controllers/subscription-products.md
index bf98aeb..626ab98 100644
--- a/doc/controllers/subscription-products.md
+++ b/doc/controllers/subscription-products.md
@@ -16,6 +16,8 @@ subscription_products_controller = client.subscription_products
# Migrate Subscription Product
+Migrates a subscription to a different product.
+
In order to create a migration, you must pass the `product_id` or `product_handle` in the object when you send a POST request. You may also pass either a `product_price_point_id` or `product_price_point_handle` to choose which price point the subscription is moved to. If no price point identifier is passed the subscription will be moved to the products default price point. The response will be the updated subscription.
## Valid Subscriptions
@@ -30,48 +32,13 @@ Full documentation on how to record Migrations in the Advanced Billing UI can be
## Failed Migrations
-Importaint note: One of the most common ways that a migration can fail is when the attempt is made to migrate a subscription to its current product.
-
-## Migration 3D Secure - Stripe
-
-When a payment requires 3D Secure Authentication to adhear to Strong Customer Authentication (SCA) when the subscription is migrated to a new product, the request enters a [post-authentication flow](https://maxio.zendesk.com/hc/en-us/articles/24176278996493-Testing-Implementing-3D-Secure#psd2-flows-pre-authentication-and-post-authentication). The server returns `422 Unprocessable Entity` in this case with the following response:
-
-```json
-{
- "errors": [
- "Your card was declined. This transaction requires 3D secure authentication."
- ],
- "gateway_payment_id": "pi_1F0aGoJ2UDb3Q4av7zU3sHPh",
- "description": "This card requires 3D secure authentication. Redirect the customer to the URL from the action_link attribute to authenticate. Attach callback_url param to this URL if you want to be notified about the result of 3D Secure authentication. Attach redirect_url param to this URL if you want to redirect a customer back to your page after 3D Secure authentication. Example: https://mysite.chargify.com/3d-secure/pi_1FCm4RKDeye4C0XfbqquXRYm?one_time_token_id=128&callback_url=https://localhost:4000&redirect_url=https://yourpage.com will do a POST request to https://localhost:4000 after payment is authenticated and will redirect a customer to https://yourpage.com after 3DS authentication.",
- "action_link": "http://acme.chargify.com/3d-secure/pi_1F0aGoJ2UDb3Q4av7zU3sHPh?one_time_token_id=242"
-}
-```
-
-To let the customer go through 3D Secure Authentication, they need to be redirected to the URL specified in `action_link`.
-Optionally, you can specify `callback_url` parameter in the `action_link` URL if you’d like to be notified about the result of 3D Secure Authentication. The `callback_url` will return the following information:
-
-- whether the authentication was successful (`success`)
-- the gateway ID for the payment (`gateway_payment_id`)
-- the subscription ID (`subscription_id`)
+Important note: One of the most common ways that a migration can fail is when the attempt is made to migrate a subscription to its current product.
-Lastly, you can also specify a `redirect_url` within the `action_link` URL if you’d like to redirect a customer back to your site.
+## 3D Secure (3DS) Authentication post-authentication flow
-It is not possible to use `action_link` in an iframe inside a custom application. You have to redirect the customer directly to the `action_link`, then, to be notified about the result, use `redirect_url` or `callback_url`.
+When a payment requires 3DS Authentication to adhere to Strong Customer Authentication (SCA), the request enters a post-authentication flow where a 422 Unprocessable Entity status is returned with an action_link that will direct the customer through 3DS Authentication.
-The final URL that you send a customer to to complete 3D Secure may resemble the following, where the first half is the `action_link` and the second half contains a `redirect_url` and `callback_url`: `https://mysite.chargify.com/3d-secure/pi_1FCm4RKDeye4C0XfbqquXRYm?one_time_token_id=128&callback_url=https://localhost:4000&redirect_url=https://yourpage.com`
-
-### Example Redirect Flow
-
-You may wish to redirect customers to different pages depending on whether SCA was performed successfully. Here's an example flow to use as a reference:
-
-1. Create a migration via API; it requires 3DS
-2. You receive a `gateway_payment_id` in the `action_link` along other params in the response.
-3. Use this `gateway_payment_id` to, for example, connect with your internal resources or generate a session_id
-4. Include 1 of those attributes inside the `callback_url` and `redirect_url` to be aware which “session” this applies to
-5. Redirect the customer to the `action_link` with `callback_url` and `redirect_url` applied
-6. After the customer finishes 3DS authentication, we let you know the result by making a request to applied `callback_url`.
-7. After that, we redirect the customer to the `redirect_url`; at this point the result of authentication is known
-8. Optionally, you can use the applied "msg" param in the `redirect_url` to determine whether it was successful or not.
+See the [3D Secure Post-Authentication Flow](https://docs.maxio.com/hc/en-us/articles/44277749524365-3D-Secure-Post-Authentication-Flow) article in the product documentation to learn how to manage the redirect flow.
```python
def migrate_subscription_product(self,
@@ -79,6 +46,10 @@ def migrate_subscription_product(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -88,6 +59,8 @@ def migrate_subscription_product(self,
## Response Type
+**200**: OK
+
[`SubscriptionResponse`](../../doc/models/subscription-response.md)
## Example Usage
@@ -245,9 +218,11 @@ print(result)
# Preview Subscription Product Migration
+Previews the charges resulting from migrating a subscription to a different product.
+
## Previewing a future date
-It is also possible to preview the migration for a date in the future, as long as it's still within the subscription's current billing period, by passing a `proration_date` along with the request (eg: `"proration_date": "2020-12-18T18:25:43.511Z"`).
+It is also possible to preview the migration for a date in the future, as long as it's still within the subscription's current billing period, by passing a `proration_date` along with the request (e.g., `"proration_date": "2020-12-18T18:25:43.511Z"`).
This will calculate the prorated adjustment, charge, payment and credit applied values assuming the migration is done at that date in the future as opposed to right now.
@@ -257,6 +232,10 @@ def preview_subscription_product_migration(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -266,6 +245,8 @@ def preview_subscription_product_migration(self,
## Response Type
+**200**: OK
+
[`SubscriptionMigrationPreviewResponse`](../../doc/models/subscription-migration-preview-response.md)
## Example Usage
diff --git a/doc/controllers/subscription-renewals.md b/doc/controllers/subscription-renewals.md
index 7323952..53a2d5e 100644
--- a/doc/controllers/subscription-renewals.md
+++ b/doc/controllers/subscription-renewals.md
@@ -33,6 +33,10 @@ def create_scheduled_renewal_configuration(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -42,6 +46,8 @@ def create_scheduled_renewal_configuration(self,
## Response Type
+**201**: Created
+
[`ScheduledRenewalConfigurationResponse`](../../doc/models/scheduled-renewal-configuration-response.md)
## Example Usage
@@ -125,6 +131,10 @@ def list_scheduled_renewal_configurations(self,
status=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -134,6 +144,8 @@ def list_scheduled_renewal_configurations(self,
## Response Type
+**200**: OK
+
[`ScheduledRenewalConfigurationsResponse`](../../doc/models/scheduled-renewal-configurations-response.md)
## Example Usage
@@ -201,6 +213,10 @@ def read_scheduled_renewal_configuration(self,
id)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -210,6 +226,8 @@ def read_scheduled_renewal_configuration(self,
## Response Type
+**200**: OK
+
[`ScheduledRenewalConfigurationResponse`](../../doc/models/scheduled-renewal-configuration-response.md)
## Example Usage
@@ -281,6 +299,10 @@ def update_scheduled_renewal_configuration(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -291,6 +313,8 @@ def update_scheduled_renewal_configuration(self,
## Response Type
+**200**: OK
+
[`ScheduledRenewalConfigurationResponse`](../../doc/models/scheduled-renewal-configuration-response.md)
## Example Usage
@@ -377,6 +401,10 @@ def schedule_scheduled_renewal_lock_in(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -387,6 +415,8 @@ def schedule_scheduled_renewal_lock_in(self,
## Response Type
+**200**: OK
+
[`ScheduledRenewalConfigurationResponse`](../../doc/models/scheduled-renewal-configuration-response.md)
## Example Usage
@@ -468,6 +498,10 @@ def lock_in_scheduled_renewal_immediately(self,
id)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -477,6 +511,8 @@ def lock_in_scheduled_renewal_immediately(self,
## Response Type
+**200**: OK
+
[`ScheduledRenewalConfigurationResponse`](../../doc/models/scheduled-renewal-configuration-response.md)
## Example Usage
@@ -552,6 +588,10 @@ def unpublish_scheduled_renewal_configuration(self,
id)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -561,6 +601,8 @@ def unpublish_scheduled_renewal_configuration(self,
## Response Type
+**200**: OK
+
[`ScheduledRenewalConfigurationResponse`](../../doc/models/scheduled-renewal-configuration-response.md)
## Example Usage
@@ -628,6 +670,10 @@ def cancel_scheduled_renewal_configuration(self,
id)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -637,6 +683,8 @@ def cancel_scheduled_renewal_configuration(self,
## Response Type
+**200**: OK
+
[`ScheduledRenewalConfigurationResponse`](../../doc/models/scheduled-renewal-configuration-response.md)
## Example Usage
@@ -705,6 +753,10 @@ def create_scheduled_renewal_configuration_item(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -715,6 +767,8 @@ def create_scheduled_renewal_configuration_item(self,
## Response Type
+**201**: Created
+
[`ScheduledRenewalConfigurationItemResponse`](../../doc/models/scheduled-renewal-configuration-item-response.md)
## Example Usage
@@ -788,6 +842,10 @@ def update_scheduled_renewal_configuration_item(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -799,6 +857,8 @@ def update_scheduled_renewal_configuration_item(self,
## Response Type
+**200**: OK
+
[`ScheduledRenewalConfigurationItemResponse`](../../doc/models/scheduled-renewal-configuration-item-response.md)
## Example Usage
@@ -874,6 +934,10 @@ def delete_scheduled_renewal_configuration_item(self,
id)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -884,6 +948,8 @@ def delete_scheduled_renewal_configuration_item(self,
## Response Type
+**204**: No Content
+
`void`
## Example Usage
diff --git a/doc/controllers/subscription-status.md b/doc/controllers/subscription-status.md
index 1140e22..186894b 100644
--- a/doc/controllers/subscription-status.md
+++ b/doc/controllers/subscription-status.md
@@ -24,21 +24,23 @@ subscription_status_controller = client.subscription_status
# Retry Subscription
-Advanced Billing offers the ability to retry collecting the balance due on a past due Subscription without waiting for the next scheduled attempt.
+Retries collecting the balance due on a past-due subscription without waiting for the next scheduled attempt.
-## Successful Reactivation
+## 3D Secure (3DS) Authentication post-authentication flow
-The response will be `200 OK` with the updated Subscription.
+When a payment requires 3DS Authentication to adhere to Strong Customer Authentication (SCA), the request enters a post-authentication flow where a 422 Unprocessable Entity status is returned with an action_link that will direct the customer through 3DS Authentication.
-## Failed Reactivation
-
-The response will be `422 "Unprocessable Entity`.
+See the [3D Secure Post-Authentication Flow](https://docs.maxio.com/hc/en-us/articles/44277749524365-3D-Secure-Post-Authentication-Flow) article in the product documentation to learn how to manage the redirect flow.
```python
def retry_subscription(self,
subscription_id)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -47,6 +49,8 @@ def retry_subscription(self,
## Response Type
+**200**: OK
+
[`SubscriptionResponse`](../../doc/models/subscription-response.md)
## Example Usage
@@ -212,6 +216,10 @@ def cancel_subscription(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -221,6 +229,8 @@ def cancel_subscription(self,
## Response Type
+**200**: OK
+
[`SubscriptionResponse`](../../doc/models/subscription-response.md)
## Example Usage
@@ -378,7 +388,7 @@ print(result)
# Resume Subscription
-Resume a paused (on-hold) subscription. If the normal next renewal date has not passed, the subscription will return to active and will renew on that date. Otherwise, it will behave like a reactivation, setting the billing date to 'now' and charging the subscriber.
+Resumes a paused (on-hold) subscription. If the normal next renewal date has not passed, the subscription will return to active and will renew on that date. Otherwise, it will behave like a reactivation, setting the billing date to 'now' and charging the subscriber.
```python
def resume_subscription(self,
@@ -386,6 +396,10 @@ def resume_subscription(self,
calendar_billing_resumption_charge="prorated")
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -395,6 +409,8 @@ def resume_subscription(self,
## Response Type
+**200**: OK
+
[`SubscriptionResponse`](../../doc/models/subscription-response.md)
## Example Usage
@@ -524,7 +540,7 @@ print(result)
# Pause Subscription
-This will place the subscription in the on_hold state and it will not renew.
+Places the subscription on hold, preventing it from renewing.
## Limitations
@@ -536,6 +552,10 @@ def pause_subscription(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -545,6 +565,8 @@ def pause_subscription(self,
## Response Type
+**200**: OK
+
[`SubscriptionResponse`](../../doc/models/subscription-response.md)
## Example Usage
@@ -683,13 +705,13 @@ print(result)
# Update Automatic Subscription Resumption
-Once a subscription has been paused / put on hold, you can update the date which was specified to automatically resume the subscription.
+Updates the date on which a paused subscription will automatically resume.
To update a subscription's resume date, use this method to change or update the `automatically_resume_at` date.
### Remove the resume date
-Alternately, you can change the `automatically_resume_at` to `null` if you would like the subscription to not have a resume date.
+Alternatively, you can change the `automatically_resume_at` to `null` if you would like the subscription to not have a resume date.
```python
def update_automatic_subscription_resumption(self,
@@ -697,6 +719,10 @@ def update_automatic_subscription_resumption(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -706,6 +732,8 @@ def update_automatic_subscription_resumption(self,
## Response Type
+**200**: OK
+
[`SubscriptionResponse`](../../doc/models/subscription-response.md)
## Example Usage
@@ -855,7 +883,7 @@ print(result)
# Reactivate Subscription
-Reactivate a previously canceled subscription. For details on how the reactivation works, and how to reactivate subscriptions through the application, see [reactivation](https://maxio.zendesk.com/hc/en-us/articles/24252109503629-Reactivating-and-Resuming).
+Reactivates a previously canceled subscription. For details on how the reactivation works, and how to reactivate subscriptions through the application, see [reactivation](https://maxio.zendesk.com/hc/en-us/articles/24252109503629-Reactivating-and-Resuming).
**Note: The term "resume" is used also during another process in Advanced Billing. This occurs when an on-hold subscription is "resumed". This returns the subscription to an active state.**
@@ -876,7 +904,7 @@ If a reactivation with `resume: true` were attempted _before_ what would have be
If a reactivation with `resume: true` were attempted _after_ what would have been the next billing date of July 1st, then Advanced Billing would not resume the subscription, and instead it would be reactivated with a new billing period.
-If a reactivation with `resume: false`, or where 'resume" is omited were attempted, then Advanced Billing would reactivate the subscription with a new billing period regardless of whether or not resuming the previous billing period were possible.
+If a reactivation with `resume: false`, or where 'resume' is omitted were attempted, then Advanced Billing would reactivate the subscription with a new billing period regardless of whether or not resuming the previous billing period was possible.
| Canceled | Reactivation | Resumable? |
|---|---|---|
@@ -1016,12 +1044,22 @@ PUT request sent to:
+ The next billing date should not have changed
+ Any product-related charges should have been collected
+## 3D Secure (3DS) Authentication post-authentication flow
+
+When a payment requires 3DS Authentication to adhere to Strong Customer Authentication (SCA), the request enters a post-authentication flow where a 422 Unprocessable Entity status is returned with an action_link that will direct the customer through 3DS Authentication.
+
+See the [3D Secure Post-Authentication Flow](https://docs.maxio.com/hc/en-us/articles/44277749524365-3D-Secure-Post-Authentication-Flow) article in the product documentation to learn how to manage the redirect flow.
+
```python
def reactivate_subscription(self,
subscription_id,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -1031,6 +1069,8 @@ def reactivate_subscription(self,
## Response Type
+**200**: OK
+
[`SubscriptionResponse`](../../doc/models/subscription-response.md)
## Example Usage
@@ -1183,6 +1223,10 @@ def initiate_delayed_cancellation(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -1192,6 +1236,8 @@ def initiate_delayed_cancellation(self,
## Response Type
+**200**: OK
+
[`DelayedCancellationResponse`](../../doc/models/delayed-cancellation-response.md)
## Example Usage
@@ -1213,7 +1259,7 @@ print(result)
# Cancel Delayed Cancellation
-Removing the delayed cancellation on a subscription will ensure that it doesn't get canceled at the end of the period that it is in. The request will reset the `cancel_at_end_of_period` flag to `false`.
+Removes the delayed cancellation from a subscription, ensuring it is not canceled at the end of the current period. The request will reset the `cancel_at_end_of_period` flag to `false`.
This endpoint is idempotent. If the subscription was not set to cancel in the future, removing the delayed cancellation has no effect and the call will be successful.
@@ -1222,6 +1268,10 @@ def cancel_delayed_cancellation(self,
subscription_id)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -1230,6 +1280,8 @@ def cancel_delayed_cancellation(self,
## Response Type
+**200**: OK
+
[`DelayedCancellationResponse`](../../doc/models/delayed-cancellation-response.md)
## Example Usage
@@ -1258,13 +1310,17 @@ print(result)
# Cancel Dunning
-If a subscription is currently in dunning, the subscription will be set to active and the active Dunner will be resolved.
+Cancels the active dunning process for a subscription and sets it to active.
```python
def cancel_dunning(self,
subscription_id)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -1273,6 +1329,8 @@ def cancel_dunning(self,
## Response Type
+**200**: OK
+
[`SubscriptionResponse`](../../doc/models/subscription-response.md)
## Example Usage
@@ -1293,7 +1351,7 @@ print(result)
# Preview Renewal
-The Chargify API allows you to preview a renewal by posting to the renewals endpoint. Renewal Preview is an object representing a subscription’s next assessment. You can retrieve it to see a snapshot of how much your customer will be charged on their next renewal.
+Previews a subscription’s next renewal assessment. Renewal Preview is an object representing a subscription’s next assessment. You can retrieve it to see a snapshot of how much your customer will be charged on their next renewal.
The "Next Billing" amount and "Next Billing" date are already represented in the UI on each Subscriber's Summary. For more information, see our documentation [here](https://maxio.zendesk.com/hc/en-us/articles/24252493695757-Subscriber-Interface-Overview).
@@ -1322,6 +1380,10 @@ def preview_renewal(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -1331,6 +1393,8 @@ def preview_renewal(self,
## Response Type
+**200**: OK
+
[`RenewalPreviewResponse`](../../doc/models/renewal-preview-response.md)
## Example Usage
diff --git a/doc/controllers/subscriptions.md b/doc/controllers/subscriptions.md
index e4c470a..fce8608 100644
--- a/doc/controllers/subscriptions.md
+++ b/doc/controllers/subscriptions.md
@@ -20,33 +20,45 @@ subscriptions_controller = client.subscriptions
* [Update Prepaid Subscription Configuration](../../doc/controllers/subscriptions.md#update-prepaid-subscription-configuration)
* [Preview Subscription](../../doc/controllers/subscriptions.md#preview-subscription)
* [Apply Coupons to Subscription](../../doc/controllers/subscriptions.md#apply-coupons-to-subscription)
-* [Remove Coupon From Subscription](../../doc/controllers/subscriptions.md#remove-coupon-from-subscription)
+* [Remove Coupon from Subscription](../../doc/controllers/subscriptions.md#remove-coupon-from-subscription)
* [Activate Subscription](../../doc/controllers/subscriptions.md#activate-subscription)
# Create Subscription
-Creates a Subscription for a customer and product
+Creates a Subscription for a customer and product.
-Specify the product with `product_id` or `product_handle`. To set a specific product pricepPoint, use `product_price_point_handle` or `product_price_point_id`.
+Specify the product with `product_id` or `product_handle`. To set a specific product price point, use `product_price_point_handle` or `product_price_point_id`.
Identify an existing customer with `customer_id` or `customer_reference`. Optionally, include an existing payment profile using `payment_profile_id`. To create a new customer, pass customer_attributes.
Select an option from the **Request Examples** drop-down on the right side of the portal to see examples of common scenarios for creating subscriptions.
+See the [Subscription Signups](page:introduction/basic-concepts/subscription-signup) article for more information on working with subscriptions in Advanced Billing.
+
+## Payment information
+
Payment information may be required to create a subscription, depending on the options for the Product being subscribed. See [product options](https://docs.maxio.com/hc/en-us/articles/24261076617869-Edit-Products) for more information. See the [Payments Profile](../../doc/controllers/payment-profiles.md#create-payment-profile) endpoint for details on payment parameters.
Do not use real card information for testing. See the Sites articles that cover [testing your site setup](https://docs.maxio.com/hc/en-us/articles/24250712113165-Testing-Overview#testing-overview-0-0) for more details on testing in your sandbox.
-Note that collecting and sending raw card details in production requires [PCI compliance](https://docs.maxio.com/hc/en-us/articles/24183956938381-PCI-Compliance#pci-compliance-0-0) on your end. If your business is not PCI compliant, use [Chargify.js](https://docs.maxio.com/hc/en-us/articles/38163190843789-Chargify-js-Overview#chargify-js-overview-0-0) to collect credit card or bank account information.
+Note that collecting and sending raw card details in production requires [PCI compliance](https://docs.maxio.com/hc/en-us/articles/24183956938381-PCI-Compliance#pci-compliance-0-0) on your end. If your business is not PCI compliant, use [Maxio.js (formerly Chargify.js)](https://docs.maxio.com/hc/en-us/articles/38163190843789-Chargify-js-Overview#chargify-js-overview-0-0) to collect credit card or bank account information.
-See the [Subscription Signups](page:introduction/basic-concepts/subscription-signup) article for more information on working with subscriptions in Advanced Billing.
+## 3D Secure (3DS) Authentication post-authentication flow
+
+When a payment requires 3DS Authentication to adhere to Strong Customer Authentication (SCA), the request enters a post-authentication flow where a 422 Unprocessable Entity status is returned with an action_link that will direct the customer through 3DS Authentication.
+
+See the [3D Secure Post-Authentication Flow](https://docs.maxio.com/hc/en-us/articles/44277749524365-3D-Secure-Post-Authentication-Flow) article in the product documentation to learn how to manage the redirect flow.
```python
def create_subscription(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -55,6 +67,8 @@ def create_subscription(self,
## Response Type
+**201**: Created
+
[`SubscriptionResponse`](../../doc/models/subscription-response.md)
## Example Usage
@@ -235,7 +249,7 @@ print(result)
# List Subscriptions
-returns an array of subscriptions from a Site. Pay close attention to query string filters and pagination in order to control responses from the server.
+Returns an array of subscriptions from a Site. Pay close attention to query string filters and pagination in order to control responses from the server.
## Search for a subscription
@@ -250,6 +264,10 @@ def list_subscriptions(self,
options=dict())
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -273,6 +291,8 @@ def list_subscriptions(self,
## Response Type
+**200**: OK
+
[`List[SubscriptionResponse]`](../../doc/models/subscription-response.md)
## Example Usage
@@ -331,21 +351,21 @@ You can also perform a delayed change to the price point by passing in either `p
## Billing Date Changes
-You can update dates for a subscrption.
+You can update dates for a subscription.
### Regular Billing Date Changes
Send the `next_billing_at` to set the next billing date for the subscription. After that date passes and the subscription is processed, the following billing date will be set according to the subscription's product period.
-> Note: If you pass an invalid date, the correct date is automatically set to he correct date. For example, if February 30 is passed, the next billing would be set to March 2nd in a non-leap year.
+> Note: If you pass an invalid date, the correct date is automatically set to the correct date. For example, if February 30 is passed, the next billing would be set to March 2nd in a non-leap year.
The server response will not return data under the key/value pair of `next_billing_at`. View the key/value pair of `current_period_ends_at` to verify that the `next_billing_at` date has been changed successfully.
-### Calendar Billing and Snap Day Changes
+### Calendar Billing and Snap Day Changes
For a subscription using Calendar Billing, setting the next billing date is a bit different. Send the `snap_day` attribute to change the calendar billing date for **a subscription using a product eligible for calendar billing**.
-> Note: If you change the product associated with a subscription that contains a `snap_day` and immediately `READ/GET` the subscription data, it will still contain original `snap_day`. The `snap_day`will will reset to 'null on the next billing cycle. This is because a product change is instantanous and only affects the product associated with a subscription.
+> Note: If you change the product associated with a subscription that contains a `snap_day` and immediately `READ/GET` the subscription data, it will still contain original `snap_day`. The `snap_day` will reset to null on the next billing cycle. This is because a product change is instantaneous and only affects the product associated with a subscription.
```python
def update_subscription(self,
@@ -353,6 +373,10 @@ def update_subscription(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -362,6 +386,8 @@ def update_subscription(self,
## Response Type
+**200**: OK
+
[`SubscriptionResponse`](../../doc/models/subscription-response.md)
## Example Usage
@@ -514,6 +540,10 @@ def read_subscription(self,
include=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -523,6 +553,8 @@ def read_subscription(self,
## Response Type
+**200**: OK
+
[`SubscriptionResponse`](../../doc/models/subscription-response.md)
## Example Usage
@@ -684,7 +716,7 @@ print(result)
# Override Subscription
-This API endpoint allows you to set certain subscription fields that are usually managed for you automatically. Some of the fields can be set via the normal Subscriptions Update API, but others can only be set using this endpoint.
+Sets certain subscription fields that are usually managed automatically. Some of the fields can be set via the normal Subscriptions Update API, but others can only be set using this endpoint.
This endpoint is provided for cases where you need to “align” Advanced Billing data with data that happened in your system, perhaps before you started using Advanced Billing. For example, you may choose to import your historical subscription data, and would like the activation and cancellation dates in Advanced Billing to match your existing historical dates. Advanced Billing does not backfill historical events (i.e. from the Events API), but some static data can be changed via this API.
@@ -710,6 +742,10 @@ def override_subscription(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -719,6 +755,8 @@ def override_subscription(self,
## Response Type
+**204**: No Content
+
`void`
## Example Usage
@@ -750,13 +788,17 @@ subscriptions_controller.override_subscription(
# Find Subscription
-Use this endpoint to find a subscription by its reference.
+Finds a subscription by its reference.
```python
def find_subscription(self,
reference=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -765,6 +807,8 @@ def find_subscription(self,
## Response Type
+**200**: OK
+
[`SubscriptionResponse`](../../doc/models/subscription-response.md)
## Example Usage
@@ -783,7 +827,7 @@ print(result)
# Purge Subscription
-For sites in test mode, you may purge individual subscriptions.
+Purges an individual subscription for sites in test mode.
Provide the subscription ID in the url. To confirm, supply the customer ID in the query string `ack` parameter. You may also delete the customer record and/or payment profiles by passing `cascade` parameters. For example, to delete just the customer record, the query params would be: `?ack={customer_id}&cascade[]=customer`
@@ -800,6 +844,10 @@ def purge_subscription(self,
cascade=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -810,6 +858,8 @@ def purge_subscription(self,
## Response Type
+**200**: OK
+
[`SubscriptionResponse`](../../doc/models/subscription-response.md)
## Example Usage
@@ -841,7 +891,7 @@ print(result)
# Update Prepaid Subscription Configuration
-Use this endpoint to update a subscription's prepaid configuration.
+Updates a subscription's prepaid configuration.
```python
def update_prepaid_subscription_configuration(self,
@@ -849,6 +899,10 @@ def update_prepaid_subscription_configuration(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -858,6 +912,8 @@ def update_prepaid_subscription_configuration(self,
## Response Type
+**200**: OK
+
[`PrepaidConfigurationResponse`](../../doc/models/prepaid-configuration-response.md)
## Example Usage
@@ -904,7 +960,7 @@ print(result)
# Preview Subscription
-The Chargify API allows you to preview a subscription by POSTing the same JSON or XML as for a subscription creation.
+Previews a subscription by POSTing the same JSON or XML as for a subscription creation.
The "Next Billing" amount and "Next Billing" date are represented in each Subscriber's Summary.
@@ -935,6 +991,10 @@ def preview_subscription(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -943,6 +1003,8 @@ def preview_subscription(self,
## Response Type
+**200**: OK
+
[`SubscriptionPreviewResponse`](../../doc/models/subscription-preview-response.md)
## Example Usage
@@ -1083,6 +1145,8 @@ print(result)
# Apply Coupons to Subscription
+Applies one or more coupon codes to an existing subscription.
+
An existing subscription can accommodate multiple discounts/coupon codes. This is only applicable if each coupon is stackable. For more information on stackable coupons, we recommend reviewing our [coupon documentation.](https://maxio.zendesk.com/hc/en-us/articles/24261259337101-Coupons-and-Subscriptions#stackability-rules)
## Query Parameters vs Request Body Parameters
@@ -1098,6 +1162,10 @@ def apply_coupons_to_subscription(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -1108,6 +1176,8 @@ def apply_coupons_to_subscription(self,
## Response Type
+**200**: OK
+
[`SubscriptionResponse`](../../doc/models/subscription-response.md)
## Example Usage
@@ -1286,11 +1356,11 @@ print(result)
| 422 | Unprocessable Entity (WebDAV) | [`SubscriptionAddCouponErrorException`](../../doc/models/subscription-add-coupon-error-exception.md) |
-# Remove Coupon From Subscription
+# Remove Coupon from Subscription
-Use this endpoint to remove a coupon from an existing subscription.
+Removes a coupon from an existing subscription.
-For more information on the expected behaviour of removing a coupon from a subscription, See our documentation [here.](https://maxio.zendesk.com/hc/en-us/articles/24261259337101-Coupons-and-Subscriptions#removing-a-coupon)
+For more information on the expected behavior of removing a coupon from a subscription, see our documentation [here.](https://maxio.zendesk.com/hc/en-us/articles/24261259337101-Coupons-and-Subscriptions#removing-a-coupon)
```python
def remove_coupon_from_subscription(self,
@@ -1298,6 +1368,10 @@ def remove_coupon_from_subscription(self,
coupon_code=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -1307,6 +1381,8 @@ def remove_coupon_from_subscription(self,
## Response Type
+**200**: OK
+
`str`
## Example Usage
@@ -1333,7 +1409,7 @@ print(result)
# Activate Subscription
-Advanced Billing offers the ability to activate awaiting signup and trialing subscriptions. This feature is only available on the Relationship Invoicing architecture. Subscriptions in a group may not be activated immediately.
+Activates awaiting signup and trialing subscriptions. This feature is only available on the Relationship Invoicing architecture. Subscriptions in a group may not be activated immediately.
For details on how the activation works, and how to activate subscriptions through the application, see [activation](#).
@@ -1383,6 +1459,10 @@ def activate_subscription(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -1392,6 +1472,8 @@ def activate_subscription(self,
## Response Type
+**200**: OK
+
[`SubscriptionResponse`](../../doc/models/subscription-response.md)
## Example Usage
diff --git a/doc/controllers/webhooks.md b/doc/controllers/webhooks.md
index 80d5527..d8e3fdc 100644
--- a/doc/controllers/webhooks.md
+++ b/doc/controllers/webhooks.md
@@ -20,13 +20,17 @@ webhooks_controller = client.webhooks
# List Webhooks
-Allows you to view a list of webhooks. You can pass query parameters if you want to filter webhooks. See the [Webhooks](page:introduction/webhooks/webhooks) documentation for more information.
+Retrieves a list of webhooks. You can pass query parameters if you want to filter webhooks. See the [Webhooks](page:introduction/webhooks/webhooks) documentation for more information.
```python
def list_webhooks(self,
options=dict())
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -41,6 +45,8 @@ def list_webhooks(self,
## Response Type
+**201**: OK
+
[`List[WebhookResponse]`](../../doc/models/webhook-response.md)
## Example Usage
@@ -96,13 +102,17 @@ print(result)
# Enable Webhooks
-Allows you to enable webhooks for your site
+Enables webhooks for your site.
```python
def enable_webhooks(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -111,6 +121,8 @@ def enable_webhooks(self,
## Response Type
+**200**: OK
+
[`EnableWebhooksResponse`](../../doc/models/enable-webhooks-response.md)
## Example Usage
@@ -144,6 +156,10 @@ def replay_webhooks(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -152,6 +168,8 @@ def replay_webhooks(self,
## Response Type
+**200**: OK
+
[`ReplayWebhooksResponse`](../../doc/models/replay-webhooks-response.md)
## Example Usage
@@ -181,7 +199,7 @@ print(result)
# Create Endpoint
-Creates an endpoint and assigns a list of webhooks subscriptions (events) to it.
+Creates an endpoint and assigns a list of webhook subscriptions (events) to it.
See the [Webhooks Reference](page:introduction/webhooks/webhooks-reference#events) page for available events.
```python
@@ -189,6 +207,10 @@ def create_endpoint(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -197,6 +219,8 @@ def create_endpoint(self,
## Response Type
+**200**: OK
+
[`EndpointResponse`](../../doc/models/endpoint-response.md)
## Example Usage
@@ -207,7 +231,8 @@ body = CreateOrUpdateEndpointRequest(
url='https://your.site/webhooks',
webhook_subscriptions=[
WebhookSubscription.PAYMENT_SUCCESS,
- WebhookSubscription.PAYMENT_FAILURE
+ WebhookSubscription.PAYMENT_FAILURE,
+ WebhookSubscription.INVOICE_PENDING
]
)
)
@@ -229,7 +254,8 @@ print(result)
"status": "enabled",
"webhook_subscriptions": [
"payment_success",
- "payment_failure"
+ "payment_failure",
+ "invoice_pending"
]
}
}
@@ -250,8 +276,14 @@ Returns created endpoints for a site.
def list_endpoints(self)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Response Type
+**200**: OK
+
[`List[Endpoint]`](../../doc/models/endpoint.md)
## Example Usage
@@ -272,7 +304,8 @@ print(result)
"status": "enabled",
"webhook_subscriptions": [
"payment_success",
- "payment_failure"
+ "payment_failure",
+ "invoice_pending"
]
},
{
@@ -296,7 +329,7 @@ Updates an Endpoint. You can change the `url` of your endpoint or the list of `w
Always send a complete list of events to which you want to subscribe. Sending a PUT request for an existing endpoint with an empty list of `webhook_subscriptions` will unsubscribe all events.
-If you want unsubscribe from a specific event, send a list of `webhook_subscriptions` without the specific event key.
+If you want to unsubscribe from a specific event, send a list of `webhook_subscriptions` without the specific event key.
```python
def update_endpoint(self,
@@ -304,6 +337,10 @@ def update_endpoint(self,
body=None)
```
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
## Parameters
| Parameter | Type | Tags | Description |
@@ -313,6 +350,8 @@ def update_endpoint(self,
## Response Type
+**200**: OK
+
[`EndpointResponse`](../../doc/models/endpoint-response.md)
## Example Usage
@@ -326,7 +365,8 @@ body = CreateOrUpdateEndpointRequest(
webhook_subscriptions=[
WebhookSubscription.PAYMENT_FAILURE,
WebhookSubscription.PAYMENT_SUCCESS,
- WebhookSubscription.REFUND_FAILURE
+ WebhookSubscription.REFUND_FAILURE,
+ WebhookSubscription.INVOICE_PENDING
]
)
)
diff --git a/doc/models/activate-event-based-component.md b/doc/models/activate-event-based-component.md
index 5938f47..c20e32e 100644
--- a/doc/models/activate-event-based-component.md
+++ b/doc/models/activate-event-based-component.md
@@ -10,7 +10,7 @@
| Name | Type | Tags | Description |
| --- | --- | --- | --- |
| `price_point_id` | `int` | Optional | The Chargify id of the price point |
-| `billing_schedule` | [`BillingSchedule`](../../doc/models/billing-schedule.md) | Optional | This attribute is particularly useful when you need to align billing events for different components on distinct schedules within a subscription. This only works for site with Multifrequency enabled. |
+| `billing_schedule` | [`BillingSchedule`](../../doc/models/billing-schedule.md) | Optional | Billing schedule settings for component allocations or usages on multi-frequency subscriptions. Use this to start a component's billing period on a custom date instead of aligning with the product charge schedule. |
| `custom_price` | [`ComponentCustomPrice`](../../doc/models/component-custom-price.md) | Optional | Create or update custom pricing unique to the subscription. Used in place of `price_point_id`. |
## Example (as JSON)
diff --git a/doc/models/bank-account-payment-profile.md b/doc/models/bank-account-payment-profile.md
index aa1e9be..cd17fe6 100644
--- a/doc/models/bank-account-payment-profile.md
+++ b/doc/models/bank-account-payment-profile.md
@@ -14,7 +14,7 @@
| `last_name` | `str` | Optional | The last name of the bank account holder |
| `customer_id` | `int` | Optional | The Chargify-assigned id for the customer record to which the bank account belongs |
| `current_vault` | [`BankAccountVault`](../../doc/models/bank-account-vault.md) | Optional | The vault that stores the payment profile with the provided vault_token. Use `bogus` for testing. |
-| `vault_token` | `str` | Optional | The “token” provided by your vault storage for an already stored payment profile |
+| `vault_token` | `str` | Optional | The "token" provided by your vault storage for an already stored payment profile |
| `billing_address` | `str` | Optional | The current billing street address for the bank account |
| `billing_city` | `str` | Optional | The current billing address city for the bank account |
| `billing_state` | `str` | Optional | The current billing address state for the bank account |
@@ -23,8 +23,8 @@
| `customer_vault_token` | `str` | Optional | (only for Authorize.Net CIM storage): the customerProfileId for the owner of the customerPaymentProfileId provided as the vault_token. |
| `billing_address_2` | `str` | Optional | The current billing street address, second line, for the bank account |
| `bank_name` | `str` | Optional | The bank where the account resides |
-| `masked_bank_routing_number` | `str` | Optional | A string representation of the stored bank routing number with all but the last 4 digits marked with X’s (i.e. ‘XXXXXXX1111’). payment_type will be bank_account |
-| `masked_bank_account_number` | `str` | Required | A string representation of the stored bank account number with all but the last 4 digits marked with X’s (i.e. ‘XXXXXXX1111’) |
+| `masked_bank_routing_number` | `str` | Optional | A string representation of the stored bank routing number with all but the last 4 digits marked with X's (i.e. 'XXXXXXX1111'). payment_type will be bank_account |
+| `masked_bank_account_number` | `str` | Optional | A string representation of the stored bank account number with all but the last 4 digits marked with X's (i.e. 'XXXXXXX1111') |
| `bank_account_type` | [`BankAccountType`](../../doc/models/bank-account-type.md) | Optional | Defaults to checking |
| `bank_account_holder_type` | [`BankAccountHolderType`](../../doc/models/bank-account-holder-type.md) | Optional | Defaults to personal |
| `payment_type` | [`PaymentType`](../../doc/models/payment-type.md) | Required | **Default**: `"bank_account"` |
@@ -38,7 +38,6 @@
```json
{
- "masked_bank_account_number": "masked_bank_account_number8",
"payment_type": "bank_account",
"verified": false,
"id": 188,
diff --git a/doc/models/bank-account-response.md b/doc/models/bank-account-response.md
index 6c1a92a..6b72b30 100644
--- a/doc/models/bank-account-response.md
+++ b/doc/models/bank-account-response.md
@@ -16,7 +16,6 @@
```json
{
"payment_profile": {
- "masked_bank_account_number": "masked_bank_account_number6",
"payment_type": "bank_account",
"verified": false,
"id": 44,
diff --git a/doc/models/billing-schedule.md b/doc/models/billing-schedule.md
index 2af9d19..9c0a428 100644
--- a/doc/models/billing-schedule.md
+++ b/doc/models/billing-schedule.md
@@ -1,7 +1,7 @@
# Billing Schedule
-This attribute is particularly useful when you need to align billing events for different components on distinct schedules within a subscription. This only works for site with Multifrequency enabled.
+Billing schedule settings for component allocations or usages on multi-frequency subscriptions. Use this to start a component's billing period on a custom date instead of aligning with the product charge schedule.
## Structure
@@ -11,13 +11,13 @@ This attribute is particularly useful when you need to align billing events for
| Name | Type | Tags | Description |
| --- | --- | --- | --- |
-| `initial_billing_at` | `date` | Optional | The initial_billing_at attribute in Maxio allows you to specify a custom starting date for billing cycles associated with components that have their own billing frequency set. Only ISO8601 format is supported. |
+| `initial_billing_at` | `date` | Optional | Custom start date (ISO 8601 date, YYYY-MM-DD) for the component's first billing period. If omitted or null, billing aligns with the product schedule. If provided, date must be on or after the minimum allowed date for the subscription or component. |
## Example (as JSON)
```json
{
- "initial_billing_at": "2024-01-01"
+ "initial_billing_at": "2026-01-01"
}
```
diff --git a/doc/models/chjs-tokenization-failure.md b/doc/models/chjs-tokenization-failure.md
new file mode 100644
index 0000000..52fac74
--- /dev/null
+++ b/doc/models/chjs-tokenization-failure.md
@@ -0,0 +1,27 @@
+
+# Chjs Tokenization Failure
+
+## Structure
+
+`ChjsTokenizationFailure`
+
+## Fields
+
+| Name | Type | Tags | Description |
+| --- | --- | --- | --- |
+| `errors` | `str` | Required | - |
+| `payment_profile_params` | [`PaymentProfileParams`](../../doc/models/payment-profile-params.md) | Optional | PCI-safe cardholder fields only. Full card numbers, CVV, and billing address are never included. |
+
+## Example (as JSON)
+
+```json
+{
+ "errors": "errors2",
+ "payment_profile_params": {
+ "first_name": "first_name2",
+ "last_name": "last_name0",
+ "card_type": "card_type2"
+ }
+}
+```
+
diff --git a/doc/models/chjs-tokenization-success.md b/doc/models/chjs-tokenization-success.md
new file mode 100644
index 0000000..76ab9da
--- /dev/null
+++ b/doc/models/chjs-tokenization-success.md
@@ -0,0 +1,28 @@
+
+# Chjs Tokenization Success
+
+## Structure
+
+`ChjsTokenizationSuccess`
+
+## Fields
+
+| Name | Type | Tags | Description |
+| --- | --- | --- | --- |
+| `payment_profile` | [`TokenizedPaymentProfile`](../../doc/models/tokenized-payment-profile.md) | Required | - |
+| `gateway_customer_id` | `int` | Optional | - |
+
+## Example (as JSON)
+
+```json
+{
+ "payment_profile": {
+ "id": 44,
+ "vault_token": "vault_token6",
+ "gateway_handle": "gateway_handle4",
+ "customer_vault_token": "customer_vault_token2"
+ },
+ "gateway_customer_id": 44
+}
+```
+
diff --git a/doc/models/containers/allocation-preview-item-previous-quantity.md b/doc/models/containers/allocation-preview-item-previous-quantity.md
index 671cbe1..f8d06f7 100644
--- a/doc/models/containers/allocation-preview-item-previous-quantity.md
+++ b/doc/models/containers/allocation-preview-item-previous-quantity.md
@@ -12,3 +12,23 @@
| `int` |
| `str` |
+## int
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
diff --git a/doc/models/containers/allocation-preview-item-quantity.md b/doc/models/containers/allocation-preview-item-quantity.md
index a6952a4..a4f462d 100644
--- a/doc/models/containers/allocation-preview-item-quantity.md
+++ b/doc/models/containers/allocation-preview-item-quantity.md
@@ -12,3 +12,23 @@
| `int` |
| `str` |
+## int
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
diff --git a/doc/models/containers/allocation-previous-quantity.md b/doc/models/containers/allocation-previous-quantity.md
index ff82f8d..ab9808a 100644
--- a/doc/models/containers/allocation-previous-quantity.md
+++ b/doc/models/containers/allocation-previous-quantity.md
@@ -12,3 +12,23 @@
| `int` |
| `str` |
+## int
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
diff --git a/doc/models/containers/allocation-quantity.md b/doc/models/containers/allocation-quantity.md
index 918a8a9..0514f76 100644
--- a/doc/models/containers/allocation-quantity.md
+++ b/doc/models/containers/allocation-quantity.md
@@ -12,3 +12,23 @@
| `int` |
| `str` |
+## int
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
diff --git a/doc/models/containers/archive-component-price-point-component-id.md b/doc/models/containers/archive-component-price-point-component-id.md
index 8fe9bde..b840b48 100644
--- a/doc/models/containers/archive-component-price-point-component-id.md
+++ b/doc/models/containers/archive-component-price-point-component-id.md
@@ -12,3 +12,23 @@
| `int` |
| `str` |
+## int
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
diff --git a/doc/models/containers/archive-component-price-point-price-point-id.md b/doc/models/containers/archive-component-price-point-price-point-id.md
index 59419db..a1e1854 100644
--- a/doc/models/containers/archive-component-price-point-price-point-id.md
+++ b/doc/models/containers/archive-component-price-point-price-point-id.md
@@ -12,3 +12,23 @@
| `int` |
| `str` |
+## int
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
diff --git a/doc/models/containers/archive-product-price-point-price-point-id.md b/doc/models/containers/archive-product-price-point-price-point-id.md
index 06241c1..f1a8aaa 100644
--- a/doc/models/containers/archive-product-price-point-price-point-id.md
+++ b/doc/models/containers/archive-product-price-point-price-point-id.md
@@ -12,3 +12,23 @@
| `int` |
| `str` |
+## int
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
diff --git a/doc/models/containers/archive-product-price-point-product-id.md b/doc/models/containers/archive-product-price-point-product-id.md
index 9a345db..6bdc180 100644
--- a/doc/models/containers/archive-product-price-point-product-id.md
+++ b/doc/models/containers/archive-product-price-point-product-id.md
@@ -12,3 +12,23 @@
| `int` |
| `str` |
+## int
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
diff --git a/doc/models/containers/calendar-billing-snap-day.md b/doc/models/containers/calendar-billing-snap-day.md
index c07e74c..6f0a8ad 100644
--- a/doc/models/containers/calendar-billing-snap-day.md
+++ b/doc/models/containers/calendar-billing-snap-day.md
@@ -12,3 +12,23 @@
| `int` |
| `str` |
+## int
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
diff --git a/doc/models/containers/clone-component-price-point-component-id.md b/doc/models/containers/clone-component-price-point-component-id.md
index 33f25a9..35823f9 100644
--- a/doc/models/containers/clone-component-price-point-component-id.md
+++ b/doc/models/containers/clone-component-price-point-component-id.md
@@ -12,3 +12,23 @@
| `int` |
| `str` |
+## int
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
diff --git a/doc/models/containers/clone-component-price-point-price-point-id.md b/doc/models/containers/clone-component-price-point-price-point-id.md
index 510a343..0f06dd4 100644
--- a/doc/models/containers/clone-component-price-point-price-point-id.md
+++ b/doc/models/containers/clone-component-price-point-price-point-id.md
@@ -12,3 +12,23 @@
| `int` |
| `str` |
+## int
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
diff --git a/doc/models/containers/component-allocation-change-allocated-quantity.md b/doc/models/containers/component-allocation-change-allocated-quantity.md
index d842346..c9145bd 100644
--- a/doc/models/containers/component-allocation-change-allocated-quantity.md
+++ b/doc/models/containers/component-allocation-change-allocated-quantity.md
@@ -12,3 +12,23 @@
| `int` |
| `str` |
+## int
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
diff --git a/doc/models/containers/component-price-point-assignment-price-point.md b/doc/models/containers/component-price-point-assignment-price-point.md
index 0a4d0fa..effd9c5 100644
--- a/doc/models/containers/component-price-point-assignment-price-point.md
+++ b/doc/models/containers/component-price-point-assignment-price-point.md
@@ -12,3 +12,23 @@
| `str` |
| `int` |
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
+## int
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
diff --git a/doc/models/containers/coupon-payload-percentage.md b/doc/models/containers/coupon-payload-percentage.md
index af7c892..652831f 100644
--- a/doc/models/containers/coupon-payload-percentage.md
+++ b/doc/models/containers/coupon-payload-percentage.md
@@ -12,3 +12,23 @@
| `str` |
| `float` |
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
+## float
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
diff --git a/doc/models/containers/create-allocation-price-point-id.md b/doc/models/containers/create-allocation-price-point-id.md
index 0405532..fc01c44 100644
--- a/doc/models/containers/create-allocation-price-point-id.md
+++ b/doc/models/containers/create-allocation-price-point-id.md
@@ -12,3 +12,23 @@
| `str` |
| `int` |
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
+## int
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
diff --git a/doc/models/containers/create-component-price-point-request-price-point.md b/doc/models/containers/create-component-price-point-request-price-point.md
index 1832c26..e600b1a 100644
--- a/doc/models/containers/create-component-price-point-request-price-point.md
+++ b/doc/models/containers/create-component-price-point-request-price-point.md
@@ -12,3 +12,46 @@
| [`CreateComponentPricePoint`](../../../doc/models/create-component-price-point.md) |
| [`CreatePrepaidUsageComponentPricePoint`](../../../doc/models/create-prepaid-usage-component-price-point.md) |
+## CreateComponentPricePoint
+
+### Initialization Code
+
+#### Example
+
+```python
+value = CreateComponentPricePoint(
+ name='name0',
+ pricing_scheme=PricingScheme.PER_UNIT,
+ prices=[
+ Price(
+ starting_quantity=242,
+ unit_price=23.26
+ )
+ ],
+ use_site_exchange_rate=True
+)
+```
+
+## CreatePrepaidUsageComponentPricePoint
+
+### Initialization Code
+
+#### Example
+
+```python
+value = CreatePrepaidUsageComponentPricePoint(
+ name='name0',
+ pricing_scheme=PricingScheme.PER_UNIT,
+ prices=[
+ Price(
+ starting_quantity=242,
+ unit_price=23.26
+ )
+ ],
+ overage_pricing=OveragePricing(
+ pricing_scheme=PricingScheme.STAIRSTEP
+ ),
+ use_site_exchange_rate=True
+)
+```
+
diff --git a/doc/models/containers/create-component-price-points-request-price-points.md b/doc/models/containers/create-component-price-points-request-price-points.md
index 6c4e227..9e858d4 100644
--- a/doc/models/containers/create-component-price-points-request-price-points.md
+++ b/doc/models/containers/create-component-price-points-request-price-points.md
@@ -12,3 +12,46 @@
| [`CreateComponentPricePoint`](../../../doc/models/create-component-price-point.md) |
| [`CreatePrepaidUsageComponentPricePoint`](../../../doc/models/create-prepaid-usage-component-price-point.md) |
+## CreateComponentPricePoint
+
+### Initialization Code
+
+#### Example
+
+```python
+value = CreateComponentPricePoint(
+ name='name0',
+ pricing_scheme=PricingScheme.PER_UNIT,
+ prices=[
+ Price(
+ starting_quantity=242,
+ unit_price=23.26
+ )
+ ],
+ use_site_exchange_rate=True
+)
+```
+
+## CreatePrepaidUsageComponentPricePoint
+
+### Initialization Code
+
+#### Example
+
+```python
+value = CreatePrepaidUsageComponentPricePoint(
+ name='name0',
+ pricing_scheme=PricingScheme.PER_UNIT,
+ prices=[
+ Price(
+ starting_quantity=242,
+ unit_price=23.26
+ )
+ ],
+ overage_pricing=OveragePricing(
+ pricing_scheme=PricingScheme.STAIRSTEP
+ ),
+ use_site_exchange_rate=True
+)
+```
+
diff --git a/doc/models/containers/create-invoice-coupon-amount.md b/doc/models/containers/create-invoice-coupon-amount.md
index 61b74a4..65c4c35 100644
--- a/doc/models/containers/create-invoice-coupon-amount.md
+++ b/doc/models/containers/create-invoice-coupon-amount.md
@@ -12,3 +12,23 @@
| `str` |
| `float` |
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
+## float
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
diff --git a/doc/models/containers/create-invoice-coupon-percentage.md b/doc/models/containers/create-invoice-coupon-percentage.md
index c2fed0a..4ccf193 100644
--- a/doc/models/containers/create-invoice-coupon-percentage.md
+++ b/doc/models/containers/create-invoice-coupon-percentage.md
@@ -12,3 +12,23 @@
| `str` |
| `float` |
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
+## float
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
diff --git a/doc/models/containers/create-invoice-coupon-product-family-id.md b/doc/models/containers/create-invoice-coupon-product-family-id.md
index 9f22b66..7761b33 100644
--- a/doc/models/containers/create-invoice-coupon-product-family-id.md
+++ b/doc/models/containers/create-invoice-coupon-product-family-id.md
@@ -12,3 +12,23 @@
| `str` |
| `int` |
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
+## int
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
diff --git a/doc/models/containers/create-invoice-item-component-id.md b/doc/models/containers/create-invoice-item-component-id.md
index f887bb7..2ea4b22 100644
--- a/doc/models/containers/create-invoice-item-component-id.md
+++ b/doc/models/containers/create-invoice-item-component-id.md
@@ -12,3 +12,23 @@
| `str` |
| `int` |
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
+## int
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
diff --git a/doc/models/containers/create-invoice-item-price-point-id.md b/doc/models/containers/create-invoice-item-price-point-id.md
index 2431737..7a1a180 100644
--- a/doc/models/containers/create-invoice-item-price-point-id.md
+++ b/doc/models/containers/create-invoice-item-price-point-id.md
@@ -12,3 +12,23 @@
| `str` |
| `int` |
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
+## int
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
diff --git a/doc/models/containers/create-invoice-item-product-id.md b/doc/models/containers/create-invoice-item-product-id.md
index e005289..0fdc7fe 100644
--- a/doc/models/containers/create-invoice-item-product-id.md
+++ b/doc/models/containers/create-invoice-item-product-id.md
@@ -12,3 +12,23 @@
| `str` |
| `int` |
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
+## int
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
diff --git a/doc/models/containers/create-invoice-item-product-price-point-id.md b/doc/models/containers/create-invoice-item-product-price-point-id.md
index db46dd7..41cd05c 100644
--- a/doc/models/containers/create-invoice-item-product-price-point-id.md
+++ b/doc/models/containers/create-invoice-item-product-price-point-id.md
@@ -12,3 +12,23 @@
| `str` |
| `int` |
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
+## int
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
diff --git a/doc/models/containers/create-invoice-item-quantity.md b/doc/models/containers/create-invoice-item-quantity.md
index 46ff602..4f48e20 100644
--- a/doc/models/containers/create-invoice-item-quantity.md
+++ b/doc/models/containers/create-invoice-item-quantity.md
@@ -12,3 +12,23 @@
| `float` |
| `str` |
+## float
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
diff --git a/doc/models/containers/create-invoice-item-unit-price.md b/doc/models/containers/create-invoice-item-unit-price.md
index bb9311d..609de6b 100644
--- a/doc/models/containers/create-invoice-item-unit-price.md
+++ b/doc/models/containers/create-invoice-item-unit-price.md
@@ -12,3 +12,23 @@
| `float` |
| `str` |
+## float
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
diff --git a/doc/models/containers/create-invoice-payment-amount.md b/doc/models/containers/create-invoice-payment-amount.md
index bb92961..bea4891 100644
--- a/doc/models/containers/create-invoice-payment-amount.md
+++ b/doc/models/containers/create-invoice-payment-amount.md
@@ -12,3 +12,23 @@
| `str` |
| `float` |
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
+## float
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
diff --git a/doc/models/containers/create-metafields-request-metafields.md b/doc/models/containers/create-metafields-request-metafields.md
index e523330..0cc3dc1 100644
--- a/doc/models/containers/create-metafields-request-metafields.md
+++ b/doc/models/containers/create-metafields-request-metafields.md
@@ -12,3 +12,39 @@
| [`CreateMetafield`](../../../doc/models/create-metafield.md) |
| [`List[CreateMetafield]`](../../../doc/models/create-metafield.md) |
+## CreateMetafield
+
+### Initialization Code
+
+#### Example
+
+```python
+value = CreateMetafield(
+ name='my_field',
+ scope=MetafieldScope(
+ csv=IncludeOption.EXCLUDE,
+ invoices=IncludeOption.EXCLUDE,
+ statements=IncludeOption.EXCLUDE,
+ portal=IncludeOption.EXCLUDE,
+ public_show=IncludeOption.EXCLUDE,
+ public_edit=IncludeOption.EXCLUDE
+ ),
+ input_type=MetafieldInput.TEXT,
+ enum=[
+ 'string'
+ ]
+)
+```
+
+## List[CreateMetafield]
+
+### Initialization Code
+
+#### Example
+
+```python
+value = [
+ CreateMetafield()
+]
+```
+
diff --git a/doc/models/containers/create-multi-invoice-payment-amount.md b/doc/models/containers/create-multi-invoice-payment-amount.md
index cbff20b..0506ac4 100644
--- a/doc/models/containers/create-multi-invoice-payment-amount.md
+++ b/doc/models/containers/create-multi-invoice-payment-amount.md
@@ -12,3 +12,23 @@
| `str` |
| `float` |
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
+## float
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
diff --git a/doc/models/containers/create-or-update-segment-price-unit-price.md b/doc/models/containers/create-or-update-segment-price-unit-price.md
index 8b72d26..63a9ee2 100644
--- a/doc/models/containers/create-or-update-segment-price-unit-price.md
+++ b/doc/models/containers/create-or-update-segment-price-unit-price.md
@@ -12,3 +12,23 @@
| `str` |
| `float` |
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
+## float
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
diff --git a/doc/models/containers/create-payment-profile-expiration-month.md b/doc/models/containers/create-payment-profile-expiration-month.md
index 65f6a6a..d98b728 100644
--- a/doc/models/containers/create-payment-profile-expiration-month.md
+++ b/doc/models/containers/create-payment-profile-expiration-month.md
@@ -12,3 +12,23 @@
| `int` |
| `str` |
+## int
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
diff --git a/doc/models/containers/create-payment-profile-expiration-year.md b/doc/models/containers/create-payment-profile-expiration-year.md
index 31b49f8..d851958 100644
--- a/doc/models/containers/create-payment-profile-expiration-year.md
+++ b/doc/models/containers/create-payment-profile-expiration-year.md
@@ -12,3 +12,23 @@
| `int` |
| `str` |
+## int
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
diff --git a/doc/models/containers/create-product-price-point-product-id.md b/doc/models/containers/create-product-price-point-product-id.md
index dd4b847..8a7a81a 100644
--- a/doc/models/containers/create-product-price-point-product-id.md
+++ b/doc/models/containers/create-product-price-point-product-id.md
@@ -12,3 +12,23 @@
| `int` |
| `str` |
+## int
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
diff --git a/doc/models/containers/create-segment-segment-property-1-value.md b/doc/models/containers/create-segment-segment-property-1-value.md
index a094684..32c0c3a 100644
--- a/doc/models/containers/create-segment-segment-property-1-value.md
+++ b/doc/models/containers/create-segment-segment-property-1-value.md
@@ -14,3 +14,43 @@
| `int` |
| `bool` |
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
+## float
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
+## int
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
+## bool
+
+### Initialization Code
+
+#### Example
+
+```python
+value = False
+```
+
diff --git a/doc/models/containers/create-segment-segment-property-2-value.md b/doc/models/containers/create-segment-segment-property-2-value.md
index 251565e..cc29d1a 100644
--- a/doc/models/containers/create-segment-segment-property-2-value.md
+++ b/doc/models/containers/create-segment-segment-property-2-value.md
@@ -14,3 +14,43 @@
| `int` |
| `bool` |
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
+## float
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
+## int
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
+## bool
+
+### Initialization Code
+
+#### Example
+
+```python
+value = False
+```
+
diff --git a/doc/models/containers/create-segment-segment-property-3-value.md b/doc/models/containers/create-segment-segment-property-3-value.md
index 892101e..f96da60 100644
--- a/doc/models/containers/create-segment-segment-property-3-value.md
+++ b/doc/models/containers/create-segment-segment-property-3-value.md
@@ -14,3 +14,43 @@
| `int` |
| `bool` |
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
+## float
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
+## int
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
+## bool
+
+### Initialization Code
+
+#### Example
+
+```python
+value = False
+```
+
diff --git a/doc/models/containers/create-segment-segment-property-4-value.md b/doc/models/containers/create-segment-segment-property-4-value.md
index dc45aef..4b4bb98 100644
--- a/doc/models/containers/create-segment-segment-property-4-value.md
+++ b/doc/models/containers/create-segment-segment-property-4-value.md
@@ -14,3 +14,43 @@
| `int` |
| `bool` |
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
+## float
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
+## int
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
+## bool
+
+### Initialization Code
+
+#### Example
+
+```python
+value = False
+```
+
diff --git a/doc/models/containers/create-subscription-component-allocated-quantity.md b/doc/models/containers/create-subscription-component-allocated-quantity.md
index 1f2af9d..3f81e45 100644
--- a/doc/models/containers/create-subscription-component-allocated-quantity.md
+++ b/doc/models/containers/create-subscription-component-allocated-quantity.md
@@ -12,3 +12,23 @@
| `int` |
| `str` |
+## int
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
diff --git a/doc/models/containers/create-subscription-component-component-id.md b/doc/models/containers/create-subscription-component-component-id.md
index 25b33d9..171e300 100644
--- a/doc/models/containers/create-subscription-component-component-id.md
+++ b/doc/models/containers/create-subscription-component-component-id.md
@@ -12,3 +12,23 @@
| `int` |
| `str` |
+## int
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
diff --git a/doc/models/containers/create-subscription-component-price-point-id.md b/doc/models/containers/create-subscription-component-price-point-id.md
index 8684909..d3ee0e7 100644
--- a/doc/models/containers/create-subscription-component-price-point-id.md
+++ b/doc/models/containers/create-subscription-component-price-point-id.md
@@ -12,3 +12,23 @@
| `int` |
| `str` |
+## int
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
diff --git a/doc/models/containers/create-subscription-offer-id.md b/doc/models/containers/create-subscription-offer-id.md
index e1ceab5..95363e5 100644
--- a/doc/models/containers/create-subscription-offer-id.md
+++ b/doc/models/containers/create-subscription-offer-id.md
@@ -12,3 +12,23 @@
| `str` |
| `int` |
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
+## int
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
diff --git a/doc/models/containers/create-usage-component-id.md b/doc/models/containers/create-usage-component-id.md
index 5111bf2..ee448b1 100644
--- a/doc/models/containers/create-usage-component-id.md
+++ b/doc/models/containers/create-usage-component-id.md
@@ -12,3 +12,23 @@
| `int` |
| `str` |
+## int
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
diff --git a/doc/models/containers/create-usage-subscription-id-or-reference.md b/doc/models/containers/create-usage-subscription-id-or-reference.md
index 5180df9..1d299ce 100644
--- a/doc/models/containers/create-usage-subscription-id-or-reference.md
+++ b/doc/models/containers/create-usage-subscription-id-or-reference.md
@@ -12,3 +12,23 @@
| `int` |
| `str` |
+## int
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
diff --git a/doc/models/containers/customer-error-response-errors.md b/doc/models/containers/customer-error-response-errors.md
index eac5043..234d479 100644
--- a/doc/models/containers/customer-error-response-errors.md
+++ b/doc/models/containers/customer-error-response-errors.md
@@ -12,3 +12,25 @@
| [`CustomerError`](../../../doc/models/customer-error.md) |
| `List[str]` |
+## CustomerError
+
+### Initialization Code
+
+#### Example
+
+```python
+value = CustomerError()
+```
+
+## List[str]
+
+### Initialization Code
+
+#### Example
+
+```python
+value = [
+ 'String1'
+]
+```
+
diff --git a/doc/models/containers/deduct-service-credit-amount.md b/doc/models/containers/deduct-service-credit-amount.md
index a5bb539..8eab225 100644
--- a/doc/models/containers/deduct-service-credit-amount.md
+++ b/doc/models/containers/deduct-service-credit-amount.md
@@ -12,3 +12,23 @@
| `str` |
| `float` |
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
+## float
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
diff --git a/doc/models/containers/ebb-component-unit-price.md b/doc/models/containers/ebb-component-unit-price.md
index 781f3cd..fba02a6 100644
--- a/doc/models/containers/ebb-component-unit-price.md
+++ b/doc/models/containers/ebb-component-unit-price.md
@@ -12,3 +12,23 @@
| `str` |
| `float` |
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
+## float
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
diff --git a/doc/models/containers/event-event-specific-data.md b/doc/models/containers/event-event-specific-data.md
index 1fae19f..6d84513 100644
--- a/doc/models/containers/event-event-specific-data.md
+++ b/doc/models/containers/event-event-specific-data.md
@@ -3,7 +3,7 @@
## Data Type
-`SubscriptionProductChange | SubscriptionStateChange | PaymentRelatedEvents | RefundSuccess | ComponentAllocationChange | MeteredUsage | PrepaidUsage | DunningStepReached | InvoiceIssued | PendingCancellationChange | PrepaidSubscriptionBalanceChanged | ProformaInvoiceIssued | SubscriptionGroupSignupEventData | CreditAccountBalanceChanged | PrepaymentAccountBalanceChanged | PaymentCollectionMethodChanged | ItemPricePointChanged | CustomFieldValueChange`
+`SubscriptionProductChange | SubscriptionStateChange | PaymentRelatedEvents | RefundSuccess | ComponentAllocationChange | MeteredUsage | PrepaidUsage | DunningStepReached | InvoiceIssued | PendingCancellationChange | PrepaidSubscriptionBalanceChanged | ProformaInvoiceIssued | SubscriptionGroupSignupEventData | CreditAccountBalanceChanged | PrepaymentAccountBalanceChanged | PaymentCollectionMethodChanged | ItemPricePointChanged | CustomFieldValueChange | ChjsTokenizationSuccess | ChjsTokenizationFailure`
## Cases
@@ -27,4 +27,347 @@
| [`PaymentCollectionMethodChanged`](../../../doc/models/payment-collection-method-changed.md) |
| [`ItemPricePointChanged`](../../../doc/models/item-price-point-changed.md) |
| [`CustomFieldValueChange`](../../../doc/models/custom-field-value-change.md) |
+| [`ChjsTokenizationSuccess`](../../../doc/models/chjs-tokenization-success.md) |
+| [`ChjsTokenizationFailure`](../../../doc/models/chjs-tokenization-failure.md) |
+
+## SubscriptionProductChange
+
+### Initialization Code
+
+#### Example
+
+```python
+value = SubscriptionProductChange(
+ previous_product_id=126,
+ new_product_id=12
+)
+```
+
+## SubscriptionStateChange
+
+### Initialization Code
+
+#### Example
+
+```python
+value = SubscriptionStateChange(
+ previous_subscription_state='previous_subscription_state2',
+ new_subscription_state='new_subscription_state6'
+)
+```
+
+## PaymentRelatedEvents
+
+### Initialization Code
+
+#### Example
+
+```python
+value = PaymentRelatedEvents(
+ product_id=42,
+ account_transaction_id=58
+)
+```
+
+## RefundSuccess
+
+### Initialization Code
+
+#### Example
+
+```python
+value = RefundSuccess(
+ refund_id=12,
+ gateway_transaction_id=182,
+ product_id=168
+)
+```
+
+## ComponentAllocationChange
+
+### Initialization Code
+
+#### Example
+
+```python
+value = ComponentAllocationChange(
+ previous_allocation=94,
+ new_allocation=102,
+ component_id=88,
+ component_handle='component_handle8',
+ memo='memo2',
+ allocation_id=158
+)
+```
+
+## MeteredUsage
+
+### Initialization Code
+
+#### Example
+
+```python
+value = MeteredUsage(
+ previous_unit_balance='previous_unit_balance6',
+ new_unit_balance=80,
+ usage_quantity=42,
+ component_id=4,
+ component_handle='component_handle8',
+ memo='memo2'
+)
+```
+
+## PrepaidUsage
+
+### Initialization Code
+
+#### Example
+
+```python
+value = PrepaidUsage(
+ previous_unit_balance='previous_unit_balance0',
+ previous_overage_unit_balance='previous_overage_unit_balance4',
+ new_unit_balance=252,
+ new_overage_unit_balance=224,
+ usage_quantity=214,
+ overage_usage_quantity=106,
+ component_id=176,
+ component_handle='component_handle4',
+ memo='memo8',
+ allocation_details=[
+ PrepaidUsageAllocationDetail()
+ ]
+)
+```
+
+## DunningStepReached
+
+### Initialization Code
+
+#### Example
+
+```python
+value = DunningStepReached(
+ dunner=DunnerData(
+ state='state8',
+ subscription_id=194,
+ revenue_at_risk_in_cents=98,
+ created_at=dateutil.parser.parse('2016-03-13T12:52:32.123Z'),
+ attempts=42,
+ last_attempted_at=dateutil.parser.parse('2016-03-13T12:52:32.123Z')
+ ),
+ current_step=DunningStepData(
+ day_threshold=198,
+ action='action4',
+ send_email=False,
+ send_bcc_email=False,
+ send_sms=False
+ ),
+ next_step=DunningStepData(
+ day_threshold=30,
+ action='action4',
+ send_email=False,
+ send_bcc_email=False,
+ send_sms=False
+ )
+)
+```
+
+## InvoiceIssued
+
+### Initialization Code
+
+#### Example
+
+```python
+value = InvoiceIssued(
+ uid='uid4',
+ number='number8',
+ role='role2',
+ due_date=dateutil.parser.parse('2016-03-13').date(),
+ issue_date='issue_date0',
+ paid_date='paid_date6',
+ due_amount='due_amount6',
+ paid_amount='paid_amount4',
+ tax_amount='tax_amount2',
+ refund_amount='refund_amount0',
+ total_amount='total_amount0',
+ status_amount='status_amount4',
+ product_name='product_name0',
+ consolidation_level='consolidation_level4',
+ line_items=[
+ InvoiceLineItemEventData()
+ ]
+)
+```
+
+## PendingCancellationChange
+
+### Initialization Code
+
+#### Example
+
+```python
+value = PendingCancellationChange(
+ cancellation_state='cancellation_state8',
+ cancels_at=dateutil.parser.parse('2016-03-13T12:52:32.123Z')
+)
+```
+
+## PrepaidSubscriptionBalanceChanged
+
+### Initialization Code
+
+#### Example
+
+```python
+value = PrepaidSubscriptionBalanceChanged(
+ reason='reason8',
+ current_account_balance_in_cents=250,
+ prepayment_account_balance_in_cents=44,
+ current_usage_amount_in_cents=242
+)
+```
+
+## ProformaInvoiceIssued
+
+### Initialization Code
+
+#### Example
+
+```python
+value = ProformaInvoiceIssued(
+ uid='uid0',
+ number='number2',
+ role='role6',
+ delivery_date=dateutil.parser.parse('2016-03-13').date(),
+ created_at=dateutil.parser.parse('2016-03-13T12:52:32.123Z'),
+ due_amount='due_amount2',
+ paid_amount='paid_amount8',
+ tax_amount='tax_amount6',
+ total_amount='total_amount6',
+ product_name='product_name6',
+ line_items=[
+ InvoiceLineItemEventData()
+ ]
+)
+```
+
+## SubscriptionGroupSignupEventData
+
+### Initialization Code
+
+#### Example
+
+```python
+value = SubscriptionGroupSignupEventData(
+ subscription_group=SubscriptionGroupSignupFailureData(),
+ customer=Customer()
+)
+```
+
+## CreditAccountBalanceChanged
+
+### Initialization Code
+
+#### Example
+
+```python
+value = CreditAccountBalanceChanged(
+ reason='reason8',
+ service_credit_account_balance_in_cents=10,
+ service_credit_balance_change_in_cents=116,
+ currency_code='currency_code8',
+ at_time=dateutil.parser.parse('2016-03-13T12:52:32.123Z')
+)
+```
+
+## PrepaymentAccountBalanceChanged
+
+### Initialization Code
+
+#### Example
+
+```python
+value = PrepaymentAccountBalanceChanged(
+ reason='reason4',
+ prepayment_account_balance_in_cents=182,
+ prepayment_balance_change_in_cents=206,
+ currency_code='currency_code4'
+)
+```
+
+## PaymentCollectionMethodChanged
+
+### Initialization Code
+
+#### Example
+
+```python
+value = PaymentCollectionMethodChanged(
+ previous_value='previous_value4',
+ current_value='current_value2'
+)
+```
+
+## ItemPricePointChanged
+
+### Initialization Code
+
+#### Example
+
+```python
+value = ItemPricePointChanged(
+ item_id=66,
+ item_type='item_type6',
+ item_handle='item_handle4',
+ item_name='item_name8',
+ previous_price_point=ItemPricePointData(),
+ current_price_point=ItemPricePointData()
+)
+```
+
+## CustomFieldValueChange
+
+### Initialization Code
+
+#### Example
+
+```python
+value = CustomFieldValueChange(
+ event_type='event_type2',
+ metafield_name='metafield_name6',
+ metafield_id=78,
+ old_value='old_value2',
+ new_value='new_value8',
+ resource_type='resource_type2',
+ resource_id=74
+)
+```
+
+## ChjsTokenizationSuccess
+
+### Initialization Code
+
+#### Example
+
+```python
+value = ChjsTokenizationSuccess(
+ payment_profile=TokenizedPaymentProfile(
+ id=44
+ )
+)
+```
+
+## ChjsTokenizationFailure
+
+### Initialization Code
+
+#### Example
+
+```python
+value = ChjsTokenizationFailure(
+ errors='errors2'
+)
+```
diff --git a/doc/models/containers/invoice-event-payment.md b/doc/models/containers/invoice-event-payment.md
index 339d419..c0b227b 100644
--- a/doc/models/containers/invoice-event-payment.md
+++ b/doc/models/containers/invoice-event-payment.md
@@ -1,6 +1,8 @@
# Invoice-Event-Payment
+A nested data structure detailing the method of payment
+
## Data Type
`PaymentMethodApplePay | PaymentMethodBankAccount | PaymentMethodCreditCard | PaymentMethodExternal | PaymentMethodPaypal`
@@ -15,3 +17,71 @@
| [`PaymentMethodExternal`](../../../doc/models/payment-method-external.md) |
| [`PaymentMethodPaypal`](../../../doc/models/payment-method-paypal.md) |
+## PaymentMethodApplePay
+
+### Initialization Code
+
+#### Example
+
+```python
+value = PaymentMethodApplePay(
+ mtype=InvoiceEventPaymentMethod.APPLE_PAY
+)
+```
+
+## PaymentMethodBankAccount
+
+### Initialization Code
+
+#### Example
+
+```python
+value = PaymentMethodBankAccount(
+ masked_account_number='masked_account_number2',
+ masked_routing_number='masked_routing_number2',
+ mtype=InvoiceEventPaymentMethod.BANK_ACCOUNT
+)
+```
+
+## PaymentMethodCreditCard
+
+### Initialization Code
+
+#### Example
+
+```python
+value = PaymentMethodCreditCard(
+ card_brand='card_brand4',
+ masked_card_number='masked_card_number0',
+ mtype=InvoiceEventPaymentMethod.CREDIT_CARD
+)
+```
+
+## PaymentMethodExternal
+
+### Initialization Code
+
+#### Example
+
+```python
+value = PaymentMethodExternal(
+ details='details4',
+ kind='kind2',
+ memo='memo8',
+ mtype=InvoiceEventPaymentMethod.EXTERNAL
+)
+```
+
+## PaymentMethodPaypal
+
+### Initialization Code
+
+#### Example
+
+```python
+value = PaymentMethodPaypal(
+ email='email2',
+ mtype=InvoiceEventPaymentMethod.PAYPAL_ACCOUNT
+)
+```
+
diff --git a/doc/models/containers/invoice-event.md b/doc/models/containers/invoice-event.md
index 94c8fa4..6ae29a6 100644
--- a/doc/models/containers/invoice-event.md
+++ b/doc/models/containers/invoice-event.md
@@ -25,3 +25,390 @@
| [`VoidInvoiceEvent`](../../../doc/models/void-invoice-event.md) |
| [`VoidRemainderEvent`](../../../doc/models/void-remainder-event.md) |
+## ApplyCreditNoteEvent
+
+### Initialization Code
+
+#### Example
+
+```python
+value = ApplyCreditNoteEvent(
+ id=214,
+ timestamp=dateutil.parser.parse('2016-03-13T12:52:32.123Z'),
+ invoice=Invoice(
+ issue_date=dateutil.parser.parse('2024-01-01').date(),
+ due_date=dateutil.parser.parse('2024-01-01').date(),
+ paid_date=dateutil.parser.parse('2024-01-01').date(),
+ public_url_expires_on=dateutil.parser.parse('2024-01-21').date()
+ ),
+ event_type=InvoiceEventType.APPLY_CREDIT_NOTE,
+ event_data=ApplyCreditNoteEventData(
+ uid='uid6',
+ credit_note_number='credit_note_number0',
+ credit_note_uid='credit_note_uid0',
+ original_amount='original_amount0',
+ applied_amount='applied_amount2'
+ )
+)
+```
+
+## ApplyDebitNoteEvent
+
+### Initialization Code
+
+#### Example
+
+```python
+value = ApplyDebitNoteEvent(
+ id=164,
+ timestamp=dateutil.parser.parse('2016-03-13T12:52:32.123Z'),
+ invoice=Invoice(
+ issue_date=dateutil.parser.parse('2024-01-01').date(),
+ due_date=dateutil.parser.parse('2024-01-01').date(),
+ paid_date=dateutil.parser.parse('2024-01-01').date(),
+ public_url_expires_on=dateutil.parser.parse('2024-01-21').date()
+ ),
+ event_type=InvoiceEventType.APPLY_DEBIT_NOTE,
+ event_data=ApplyDebitNoteEventData(
+ debit_note_number='debit_note_number6',
+ debit_note_uid='debit_note_uid2',
+ original_amount='original_amount0',
+ applied_amount='applied_amount2'
+ )
+)
+```
+
+## ApplyPaymentEvent
+
+### Initialization Code
+
+#### Example
+
+```python
+value = ApplyPaymentEvent(
+ id=234,
+ timestamp=dateutil.parser.parse('2016-03-13T12:52:32.123Z'),
+ invoice=Invoice(
+ issue_date=dateutil.parser.parse('2024-01-01').date(),
+ due_date=dateutil.parser.parse('2024-01-01').date(),
+ paid_date=dateutil.parser.parse('2024-01-01').date(),
+ public_url_expires_on=dateutil.parser.parse('2024-01-21').date()
+ ),
+ event_type=InvoiceEventType.APPLY_PAYMENT,
+ event_data=ApplyPaymentEventData(
+ consolidation_level=InvoiceConsolidationLevel.CHILD,
+ memo='memo0',
+ original_amount='original_amount0',
+ applied_amount='applied_amount2',
+ transaction_time=dateutil.parser.parse('2016-03-13T12:52:32.123Z'),
+ payment_method=PaymentMethodApplePay(
+ mtype=InvoiceEventPaymentMethod.APPLE_PAY
+ )
+ )
+)
+```
+
+## BackportInvoiceEvent
+
+### Initialization Code
+
+#### Example
+
+```python
+value = BackportInvoiceEvent(
+ id=78,
+ timestamp=dateutil.parser.parse('2016-03-13T12:52:32.123Z'),
+ invoice=Invoice(
+ issue_date=dateutil.parser.parse('2024-01-01').date(),
+ due_date=dateutil.parser.parse('2024-01-01').date(),
+ paid_date=dateutil.parser.parse('2024-01-01').date(),
+ public_url_expires_on=dateutil.parser.parse('2024-01-21').date()
+ ),
+ event_type=InvoiceEventType.BACKPORT_INVOICE,
+ event_data=Invoice(
+ issue_date=dateutil.parser.parse('2024-01-01').date(),
+ due_date=dateutil.parser.parse('2024-01-01').date(),
+ paid_date=dateutil.parser.parse('2024-01-01').date(),
+ public_url_expires_on=dateutil.parser.parse('2024-01-21').date()
+ )
+)
+```
+
+## ChangeChargebackStatusEvent
+
+### Initialization Code
+
+#### Example
+
+```python
+value = ChangeChargebackStatusEvent(
+ id=214,
+ timestamp=dateutil.parser.parse('2016-03-13T12:52:32.123Z'),
+ invoice=Invoice(
+ issue_date=dateutil.parser.parse('2024-01-01').date(),
+ due_date=dateutil.parser.parse('2024-01-01').date(),
+ paid_date=dateutil.parser.parse('2024-01-01').date(),
+ public_url_expires_on=dateutil.parser.parse('2024-01-21').date()
+ ),
+ event_type=InvoiceEventType.CHANGE_CHARGEBACK_STATUS,
+ event_data=ChangeChargebackStatusEventData(
+ chargeback_status=ChargebackStatus.WON
+ )
+)
+```
+
+## ChangeInvoiceCollectionMethodEvent
+
+### Initialization Code
+
+#### Example
+
+```python
+value = ChangeInvoiceCollectionMethodEvent(
+ id=246,
+ timestamp=dateutil.parser.parse('2016-03-13T12:52:32.123Z'),
+ invoice=Invoice(
+ issue_date=dateutil.parser.parse('2024-01-01').date(),
+ due_date=dateutil.parser.parse('2024-01-01').date(),
+ paid_date=dateutil.parser.parse('2024-01-01').date(),
+ public_url_expires_on=dateutil.parser.parse('2024-01-21').date()
+ ),
+ event_type=InvoiceEventType.CHANGE_INVOICE_COLLECTION_METHOD,
+ event_data=ChangeInvoiceCollectionMethodEventData(
+ from_collection_method='from_collection_method4',
+ to_collection_method='to_collection_method8'
+ )
+)
+```
+
+## ChangeInvoiceStatusEvent
+
+### Initialization Code
+
+#### Example
+
+```python
+value = ChangeInvoiceStatusEvent(
+ id=92,
+ timestamp=dateutil.parser.parse('2016-03-13T12:52:32.123Z'),
+ invoice=Invoice(
+ issue_date=dateutil.parser.parse('2024-01-01').date(),
+ due_date=dateutil.parser.parse('2024-01-01').date(),
+ paid_date=dateutil.parser.parse('2024-01-01').date(),
+ public_url_expires_on=dateutil.parser.parse('2024-01-21').date()
+ ),
+ event_type=InvoiceEventType.CHANGE_INVOICE_STATUS,
+ event_data=ChangeInvoiceStatusEventData(
+ from_status=InvoiceStatus.OPEN,
+ to_status=InvoiceStatus.PENDING
+ )
+)
+```
+
+## CreateCreditNoteEvent
+
+### Initialization Code
+
+#### Example
+
+```python
+value = CreateCreditNoteEvent(
+ id=28,
+ timestamp=dateutil.parser.parse('2016-03-13T12:52:32.123Z'),
+ invoice=Invoice(
+ issue_date=dateutil.parser.parse('2024-01-01').date(),
+ due_date=dateutil.parser.parse('2024-01-01').date(),
+ paid_date=dateutil.parser.parse('2024-01-01').date(),
+ public_url_expires_on=dateutil.parser.parse('2024-01-21').date()
+ ),
+ event_type=InvoiceEventType.CREATE_CREDIT_NOTE,
+ event_data=CreditNote()
+)
+```
+
+## CreateDebitNoteEvent
+
+### Initialization Code
+
+#### Example
+
+```python
+value = CreateDebitNoteEvent(
+ id=98,
+ timestamp=dateutil.parser.parse('2016-03-13T12:52:32.123Z'),
+ invoice=Invoice(
+ issue_date=dateutil.parser.parse('2024-01-01').date(),
+ due_date=dateutil.parser.parse('2024-01-01').date(),
+ paid_date=dateutil.parser.parse('2024-01-01').date(),
+ public_url_expires_on=dateutil.parser.parse('2024-01-21').date()
+ ),
+ event_type=InvoiceEventType.CREATE_DEBIT_NOTE,
+ event_data=DebitNote()
+)
+```
+
+## FailedPaymentEvent
+
+### Initialization Code
+
+#### Example
+
+```python
+value = FailedPaymentEvent(
+ id=120,
+ timestamp=dateutil.parser.parse('2016-03-13T12:52:32.123Z'),
+ invoice=Invoice(
+ issue_date=dateutil.parser.parse('2024-01-01').date(),
+ due_date=dateutil.parser.parse('2024-01-01').date(),
+ paid_date=dateutil.parser.parse('2024-01-01').date(),
+ public_url_expires_on=dateutil.parser.parse('2024-01-21').date()
+ ),
+ event_type=InvoiceEventType.FAILED_PAYMENT,
+ event_data=FailedPaymentEventData(
+ amount_in_cents=220,
+ applied_amount=194,
+ payment_method=InvoicePaymentMethodType.CASH,
+ transaction_id=78
+ )
+)
+```
+
+## IssueInvoiceEvent
+
+### Initialization Code
+
+#### Example
+
+```python
+value = IssueInvoiceEvent(
+ id=130,
+ timestamp=dateutil.parser.parse('2016-03-13T12:52:32.123Z'),
+ invoice=Invoice(
+ issue_date=dateutil.parser.parse('2024-01-01').date(),
+ due_date=dateutil.parser.parse('2024-01-01').date(),
+ paid_date=dateutil.parser.parse('2024-01-01').date(),
+ public_url_expires_on=dateutil.parser.parse('2024-01-21').date()
+ ),
+ event_type=InvoiceEventType.ISSUE_INVOICE,
+ event_data=IssueInvoiceEventData(
+ consolidation_level=InvoiceConsolidationLevel.CHILD,
+ from_status=InvoiceStatus.OPEN,
+ to_status=InvoiceStatus.PENDING,
+ due_amount='due_amount8',
+ total_amount='total_amount2'
+ )
+)
+```
+
+## RefundInvoiceEvent
+
+### Initialization Code
+
+#### Example
+
+```python
+value = RefundInvoiceEvent(
+ id=54,
+ timestamp=dateutil.parser.parse('2016-03-13T12:52:32.123Z'),
+ invoice=Invoice(
+ issue_date=dateutil.parser.parse('2024-01-01').date(),
+ due_date=dateutil.parser.parse('2024-01-01').date(),
+ paid_date=dateutil.parser.parse('2024-01-01').date(),
+ public_url_expires_on=dateutil.parser.parse('2024-01-21').date()
+ ),
+ event_type=InvoiceEventType.REFUND_INVOICE,
+ event_data=RefundInvoiceEventData(
+ apply_credit=False,
+ credit_note_attributes=CreditNote(),
+ payment_id=204,
+ refund_amount='refund_amount8',
+ refund_id=248,
+ transaction_time=dateutil.parser.parse('2016-03-13T12:52:32.123Z')
+ )
+)
+```
+
+## RemovePaymentEvent
+
+### Initialization Code
+
+#### Example
+
+```python
+value = RemovePaymentEvent(
+ id=236,
+ timestamp=dateutil.parser.parse('2016-03-13T12:52:32.123Z'),
+ invoice=Invoice(
+ issue_date=dateutil.parser.parse('2024-01-01').date(),
+ due_date=dateutil.parser.parse('2024-01-01').date(),
+ paid_date=dateutil.parser.parse('2024-01-01').date(),
+ public_url_expires_on=dateutil.parser.parse('2024-01-21').date()
+ ),
+ event_type=InvoiceEventType.REMOVE_PAYMENT,
+ event_data=RemovePaymentEventData(
+ transaction_id=78,
+ memo='memo0',
+ applied_amount='applied_amount2',
+ transaction_time=dateutil.parser.parse('2016-03-13T12:52:32.123Z'),
+ payment_method=PaymentMethodApplePay(
+ mtype=InvoiceEventPaymentMethod.APPLE_PAY
+ ),
+ prepayment=False
+ )
+)
+```
+
+## VoidInvoiceEvent
+
+### Initialization Code
+
+#### Example
+
+```python
+value = VoidInvoiceEvent(
+ id=16,
+ timestamp=dateutil.parser.parse('2016-03-13T12:52:32.123Z'),
+ invoice=Invoice(
+ issue_date=dateutil.parser.parse('2024-01-01').date(),
+ due_date=dateutil.parser.parse('2024-01-01').date(),
+ paid_date=dateutil.parser.parse('2024-01-01').date(),
+ public_url_expires_on=dateutil.parser.parse('2024-01-21').date()
+ ),
+ event_type=InvoiceEventType.VOID_INVOICE,
+ event_data=VoidInvoiceEventData(
+ credit_note_attributes=CreditNote(),
+ memo='memo0',
+ applied_amount='applied_amount2',
+ transaction_time=dateutil.parser.parse('2016-03-13T12:52:32.123Z'),
+ is_advance_invoice=False,
+ reason='reason2'
+ )
+)
+```
+
+## VoidRemainderEvent
+
+### Initialization Code
+
+#### Example
+
+```python
+value = VoidRemainderEvent(
+ id=128,
+ timestamp=dateutil.parser.parse('2016-03-13T12:52:32.123Z'),
+ invoice=Invoice(
+ issue_date=dateutil.parser.parse('2024-01-01').date(),
+ due_date=dateutil.parser.parse('2024-01-01').date(),
+ paid_date=dateutil.parser.parse('2024-01-01').date(),
+ public_url_expires_on=dateutil.parser.parse('2024-01-21').date()
+ ),
+ event_type=InvoiceEventType.VOID_REMAINDER,
+ event_data=VoidRemainderEventData(
+ credit_note_attributes=CreditNote(),
+ memo='memo0',
+ applied_amount='applied_amount2',
+ transaction_time=dateutil.parser.parse('2016-03-13T12:52:32.123Z')
+ )
+)
+```
+
diff --git a/doc/models/containers/issue-service-credit-amount.md b/doc/models/containers/issue-service-credit-amount.md
index 4956fa4..2fa5c70 100644
--- a/doc/models/containers/issue-service-credit-amount.md
+++ b/doc/models/containers/issue-service-credit-amount.md
@@ -12,3 +12,23 @@
| `float` |
| `str` |
+## float
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
diff --git a/doc/models/containers/list-product-price-points-input-product-id.md b/doc/models/containers/list-product-price-points-input-product-id.md
index 1fbf692..c8472a5 100644
--- a/doc/models/containers/list-product-price-points-input-product-id.md
+++ b/doc/models/containers/list-product-price-points-input-product-id.md
@@ -12,3 +12,23 @@
| `int` |
| `str` |
+## int
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
diff --git a/doc/models/containers/list-usages-input-component-id.md b/doc/models/containers/list-usages-input-component-id.md
index a74d0bf..78d8c92 100644
--- a/doc/models/containers/list-usages-input-component-id.md
+++ b/doc/models/containers/list-usages-input-component-id.md
@@ -12,3 +12,23 @@
| `int` |
| `str` |
+## int
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
diff --git a/doc/models/containers/list-usages-input-subscription-id-or-reference.md b/doc/models/containers/list-usages-input-subscription-id-or-reference.md
index 3d900ee..047e7fc 100644
--- a/doc/models/containers/list-usages-input-subscription-id-or-reference.md
+++ b/doc/models/containers/list-usages-input-subscription-id-or-reference.md
@@ -12,3 +12,23 @@
| `int` |
| `str` |
+## int
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
diff --git a/doc/models/containers/metafield-enum.md b/doc/models/containers/metafield-enum.md
index 48f93a8..f585974 100644
--- a/doc/models/containers/metafield-enum.md
+++ b/doc/models/containers/metafield-enum.md
@@ -12,3 +12,25 @@
| `str` |
| `List[str]` |
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
+## List[str]
+
+### Initialization Code
+
+#### Example
+
+```python
+value = [
+ 'String1'
+]
+```
+
diff --git a/doc/models/containers/metered-component-unit-price.md b/doc/models/containers/metered-component-unit-price.md
index b9c18b1..4b16666 100644
--- a/doc/models/containers/metered-component-unit-price.md
+++ b/doc/models/containers/metered-component-unit-price.md
@@ -12,3 +12,23 @@
| `str` |
| `float` |
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
+## float
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
diff --git a/doc/models/containers/on-off-component-unit-price.md b/doc/models/containers/on-off-component-unit-price.md
index ef99ae9..ce91ee9 100644
--- a/doc/models/containers/on-off-component-unit-price.md
+++ b/doc/models/containers/on-off-component-unit-price.md
@@ -12,3 +12,23 @@
| `str` |
| `float` |
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
+## float
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
diff --git a/doc/models/containers/payment-profile-attributes-expiration-month.md b/doc/models/containers/payment-profile-attributes-expiration-month.md
index f98e4b0..d05ddee 100644
--- a/doc/models/containers/payment-profile-attributes-expiration-month.md
+++ b/doc/models/containers/payment-profile-attributes-expiration-month.md
@@ -12,3 +12,23 @@
| `int` |
| `str` |
+## int
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
diff --git a/doc/models/containers/payment-profile-attributes-expiration-year.md b/doc/models/containers/payment-profile-attributes-expiration-year.md
index c018373..2c78b81 100644
--- a/doc/models/containers/payment-profile-attributes-expiration-year.md
+++ b/doc/models/containers/payment-profile-attributes-expiration-year.md
@@ -12,3 +12,23 @@
| `int` |
| `str` |
+## int
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
diff --git a/doc/models/containers/payment-profile.md b/doc/models/containers/payment-profile.md
index 797ccec..1f87987 100644
--- a/doc/models/containers/payment-profile.md
+++ b/doc/models/containers/payment-profile.md
@@ -14,3 +14,71 @@
| [`CreditCardPaymentProfile`](../../../doc/models/credit-card-payment-profile.md) |
| [`PaypalPaymentProfile`](../../../doc/models/paypal-payment-profile.md) |
+## ApplePayPaymentProfile
+
+### Initialization Code
+
+#### Example
+
+```python
+value = ApplePayPaymentProfile(
+ payment_type=PaymentType.APPLE_PAY
+)
+```
+
+## BankAccountPaymentProfile
+
+### Initialization Code
+
+#### Example
+
+```python
+value = BankAccountPaymentProfile(
+ payment_type=PaymentType.BANK_ACCOUNT,
+ verified=False
+)
+```
+
+## CreditCardPaymentProfile
+
+### Initialization Code
+
+#### Example
+
+```python
+value = CreditCardPaymentProfile(
+ payment_type=PaymentType.CREDIT_CARD,
+ id=10088716,
+ first_name='Test',
+ last_name='Subscription',
+ masked_card_number='XXXX-XXXX-XXXX-1',
+ card_type=CardType.BOGUS,
+ expiration_month=1,
+ expiration_year=2022,
+ customer_id=14543792,
+ current_vault=CreditCardVault.BOGUS,
+ vault_token='1',
+ billing_address='123 Montana Way',
+ billing_city='Billings',
+ billing_state='MT',
+ billing_zip='59101',
+ billing_country='US',
+ customer_vault_token='customer_vault_token2',
+ billing_address_2='',
+ site_gateway_setting_id=1,
+ gateway_handle='gateway_handle8'
+)
+```
+
+## PaypalPaymentProfile
+
+### Initialization Code
+
+#### Example
+
+```python
+value = PaypalPaymentProfile(
+ payment_type=PaymentType.PAYPAL_ACCOUNT
+)
+```
+
diff --git a/doc/models/containers/prepaid-usage-component-unit-price.md b/doc/models/containers/prepaid-usage-component-unit-price.md
index 8996b2c..f78a2b6 100644
--- a/doc/models/containers/prepaid-usage-component-unit-price.md
+++ b/doc/models/containers/prepaid-usage-component-unit-price.md
@@ -12,3 +12,23 @@
| `str` |
| `float` |
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
+## float
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
diff --git a/doc/models/containers/price-ending-quantity.md b/doc/models/containers/price-ending-quantity.md
index 91a84fc..6955145 100644
--- a/doc/models/containers/price-ending-quantity.md
+++ b/doc/models/containers/price-ending-quantity.md
@@ -12,3 +12,23 @@
| `int` |
| `str` |
+## int
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
diff --git a/doc/models/containers/price-starting-quantity.md b/doc/models/containers/price-starting-quantity.md
index fe73445..252eb24 100644
--- a/doc/models/containers/price-starting-quantity.md
+++ b/doc/models/containers/price-starting-quantity.md
@@ -12,3 +12,23 @@
| `int` |
| `str` |
+## int
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
diff --git a/doc/models/containers/price-unit-price.md b/doc/models/containers/price-unit-price.md
index 4c62f9a..54ee354 100644
--- a/doc/models/containers/price-unit-price.md
+++ b/doc/models/containers/price-unit-price.md
@@ -12,3 +12,23 @@
| `float` |
| `str` |
+## float
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
diff --git a/doc/models/containers/quantity-based-component-unit-price.md b/doc/models/containers/quantity-based-component-unit-price.md
index 1345aac..5eaa3a0 100644
--- a/doc/models/containers/quantity-based-component-unit-price.md
+++ b/doc/models/containers/quantity-based-component-unit-price.md
@@ -12,3 +12,23 @@
| `str` |
| `float` |
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
+## float
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
diff --git a/doc/models/containers/reactivate-subscription-request-resume.md b/doc/models/containers/reactivate-subscription-request-resume.md
index 38ffe3f..e9f1679 100644
--- a/doc/models/containers/reactivate-subscription-request-resume.md
+++ b/doc/models/containers/reactivate-subscription-request-resume.md
@@ -12,3 +12,23 @@
| `bool` |
| [`ResumeOptions`](../../../doc/models/resume-options.md) |
+## bool
+
+### Initialization Code
+
+#### Example
+
+```python
+value = False
+```
+
+## ResumeOptions
+
+### Initialization Code
+
+#### Example
+
+```python
+value = ResumeOptions()
+```
+
diff --git a/doc/models/containers/read-component-price-point-component-id.md b/doc/models/containers/read-component-price-point-component-id.md
index 4f253ad..c33566a 100644
--- a/doc/models/containers/read-component-price-point-component-id.md
+++ b/doc/models/containers/read-component-price-point-component-id.md
@@ -12,3 +12,23 @@
| `int` |
| `str` |
+## int
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
diff --git a/doc/models/containers/read-component-price-point-price-point-id.md b/doc/models/containers/read-component-price-point-price-point-id.md
index c8f50f2..784b288 100644
--- a/doc/models/containers/read-component-price-point-price-point-id.md
+++ b/doc/models/containers/read-component-price-point-price-point-id.md
@@ -12,3 +12,23 @@
| `int` |
| `str` |
+## int
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
diff --git a/doc/models/containers/read-product-price-point-price-point-id.md b/doc/models/containers/read-product-price-point-price-point-id.md
index ff67820..42f76d1 100644
--- a/doc/models/containers/read-product-price-point-price-point-id.md
+++ b/doc/models/containers/read-product-price-point-price-point-id.md
@@ -12,3 +12,23 @@
| `int` |
| `str` |
+## int
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
diff --git a/doc/models/containers/read-product-price-point-product-id.md b/doc/models/containers/read-product-price-point-product-id.md
index 487e704..67eb319 100644
--- a/doc/models/containers/read-product-price-point-product-id.md
+++ b/doc/models/containers/read-product-price-point-product-id.md
@@ -12,3 +12,23 @@
| `int` |
| `str` |
+## int
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
diff --git a/doc/models/containers/refund-consolidated-invoice-segment-uids.md b/doc/models/containers/refund-consolidated-invoice-segment-uids.md
index 7b1ac10..111a1aa 100644
--- a/doc/models/containers/refund-consolidated-invoice-segment-uids.md
+++ b/doc/models/containers/refund-consolidated-invoice-segment-uids.md
@@ -12,3 +12,25 @@
| `List[str]` |
| `str` |
+## List[str]
+
+### Initialization Code
+
+#### Example
+
+```python
+value = [
+ 'String1'
+]
+```
+
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
diff --git a/doc/models/containers/refund-invoice-request-refund.md b/doc/models/containers/refund-invoice-request-refund.md
index 9cb056d..4396112 100644
--- a/doc/models/containers/refund-invoice-request-refund.md
+++ b/doc/models/containers/refund-invoice-request-refund.md
@@ -12,3 +12,34 @@
| [`RefundInvoice`](../../../doc/models/refund-invoice.md) |
| [`RefundConsolidatedInvoice`](../../../doc/models/refund-consolidated-invoice.md) |
+## RefundInvoice
+
+### Initialization Code
+
+#### Example
+
+```python
+value = RefundInvoice(
+ amount='amount8',
+ memo='memo0',
+ payment_id=0
+)
+```
+
+## RefundConsolidatedInvoice
+
+### Initialization Code
+
+#### Example
+
+```python
+value = RefundConsolidatedInvoice(
+ memo='memo0',
+ payment_id=46,
+ segment_uids=[
+ 'String0',
+ 'String1'
+ ]
+)
+```
+
diff --git a/doc/models/containers/refund-prepayment-amount.md b/doc/models/containers/refund-prepayment-amount.md
index 6006150..94dc1ae 100644
--- a/doc/models/containers/refund-prepayment-amount.md
+++ b/doc/models/containers/refund-prepayment-amount.md
@@ -12,3 +12,23 @@
| `str` |
| `float` |
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
+## float
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
diff --git a/doc/models/containers/renewal-preview-component-component-id.md b/doc/models/containers/renewal-preview-component-component-id.md
index 18dcd5b..1cf5a79 100644
--- a/doc/models/containers/renewal-preview-component-component-id.md
+++ b/doc/models/containers/renewal-preview-component-component-id.md
@@ -12,3 +12,23 @@
| `str` |
| `int` |
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
+## int
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
diff --git a/doc/models/containers/renewal-preview-component-price-point-id.md b/doc/models/containers/renewal-preview-component-price-point-id.md
index 00a92bb..56bda9a 100644
--- a/doc/models/containers/renewal-preview-component-price-point-id.md
+++ b/doc/models/containers/renewal-preview-component-price-point-id.md
@@ -12,3 +12,23 @@
| `str` |
| `int` |
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
+## int
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
diff --git a/doc/models/containers/scheduled-renewal-configuration-item-request-renewal-configuration-item.md b/doc/models/containers/scheduled-renewal-configuration-item-request-renewal-configuration-item.md
index 8810848..e24dc5b 100644
--- a/doc/models/containers/scheduled-renewal-configuration-item-request-renewal-configuration-item.md
+++ b/doc/models/containers/scheduled-renewal-configuration-item-request-renewal-configuration-item.md
@@ -12,3 +12,27 @@
| [`ScheduledRenewalItemRequestBodyComponent`](../../../doc/models/scheduled-renewal-item-request-body-component.md) |
| [`ScheduledRenewalItemRequestBodyProduct`](../../../doc/models/scheduled-renewal-item-request-body-product.md) |
+## ScheduledRenewalItemRequestBodyComponent
+
+### Initialization Code
+
+#### Example
+
+```python
+value = ScheduledRenewalItemRequestBodyComponent(
+ item_id=108
+)
+```
+
+## ScheduledRenewalItemRequestBodyProduct
+
+### Initialization Code
+
+#### Example
+
+```python
+value = ScheduledRenewalItemRequestBodyProduct(
+ item_id=32
+)
+```
+
diff --git a/doc/models/containers/scheduled-renewal-product-price-point-interval.md b/doc/models/containers/scheduled-renewal-product-price-point-interval.md
index ad056bb..97bc641 100644
--- a/doc/models/containers/scheduled-renewal-product-price-point-interval.md
+++ b/doc/models/containers/scheduled-renewal-product-price-point-interval.md
@@ -12,3 +12,23 @@
| `str` |
| `int` |
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
+## int
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
diff --git a/doc/models/containers/scheduled-renewal-product-price-point-price-in-cents.md b/doc/models/containers/scheduled-renewal-product-price-point-price-in-cents.md
index 310b6c3..6391cac 100644
--- a/doc/models/containers/scheduled-renewal-product-price-point-price-in-cents.md
+++ b/doc/models/containers/scheduled-renewal-product-price-point-price-in-cents.md
@@ -12,3 +12,23 @@
| `str` |
| `int` |
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
+## int
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
diff --git a/doc/models/containers/scheduled-renewal-update-request-renewal-configuration-item.md b/doc/models/containers/scheduled-renewal-update-request-renewal-configuration-item.md
index b6d6cce..1876744 100644
--- a/doc/models/containers/scheduled-renewal-update-request-renewal-configuration-item.md
+++ b/doc/models/containers/scheduled-renewal-update-request-renewal-configuration-item.md
@@ -12,3 +12,27 @@
| [`ScheduledRenewalItemRequestBodyComponent`](../../../doc/models/scheduled-renewal-item-request-body-component.md) |
| [`ScheduledRenewalItemRequestBodyProduct`](../../../doc/models/scheduled-renewal-item-request-body-product.md) |
+## ScheduledRenewalItemRequestBodyComponent
+
+### Initialization Code
+
+#### Example
+
+```python
+value = ScheduledRenewalItemRequestBodyComponent(
+ item_id=108
+)
+```
+
+## ScheduledRenewalItemRequestBodyProduct
+
+### Initialization Code
+
+#### Example
+
+```python
+value = ScheduledRenewalItemRequestBodyProduct(
+ item_id=32
+)
+```
+
diff --git a/doc/models/containers/segment-segment-property-1-value.md b/doc/models/containers/segment-segment-property-1-value.md
index d4cc4e0..093ce3e 100644
--- a/doc/models/containers/segment-segment-property-1-value.md
+++ b/doc/models/containers/segment-segment-property-1-value.md
@@ -14,3 +14,43 @@
| `int` |
| `bool` |
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
+## float
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
+## int
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
+## bool
+
+### Initialization Code
+
+#### Example
+
+```python
+value = False
+```
+
diff --git a/doc/models/containers/segment-segment-property-2-value.md b/doc/models/containers/segment-segment-property-2-value.md
index 3cedb3f..ee31cfd 100644
--- a/doc/models/containers/segment-segment-property-2-value.md
+++ b/doc/models/containers/segment-segment-property-2-value.md
@@ -14,3 +14,43 @@
| `int` |
| `bool` |
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
+## float
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
+## int
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
+## bool
+
+### Initialization Code
+
+#### Example
+
+```python
+value = False
+```
+
diff --git a/doc/models/containers/segment-segment-property-3-value.md b/doc/models/containers/segment-segment-property-3-value.md
index 1a9ed88..d9be975 100644
--- a/doc/models/containers/segment-segment-property-3-value.md
+++ b/doc/models/containers/segment-segment-property-3-value.md
@@ -14,3 +14,43 @@
| `int` |
| `bool` |
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
+## float
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
+## int
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
+## bool
+
+### Initialization Code
+
+#### Example
+
+```python
+value = False
+```
+
diff --git a/doc/models/containers/segment-segment-property-4-value.md b/doc/models/containers/segment-segment-property-4-value.md
index b2a96c3..9b22e09 100644
--- a/doc/models/containers/segment-segment-property-4-value.md
+++ b/doc/models/containers/segment-segment-property-4-value.md
@@ -14,3 +14,43 @@
| `int` |
| `bool` |
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
+## float
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
+## int
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
+## bool
+
+### Initialization Code
+
+#### Example
+
+```python
+value = False
+```
+
diff --git a/doc/models/containers/subscription-component-allocated-quantity.md b/doc/models/containers/subscription-component-allocated-quantity.md
index c4deaed..7c01e8c 100644
--- a/doc/models/containers/subscription-component-allocated-quantity.md
+++ b/doc/models/containers/subscription-component-allocated-quantity.md
@@ -12,3 +12,23 @@
| `int` |
| `str` |
+## int
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
diff --git a/doc/models/containers/subscription-custom-price-expiration-interval.md b/doc/models/containers/subscription-custom-price-expiration-interval.md
index b82f760..a4b1cc4 100644
--- a/doc/models/containers/subscription-custom-price-expiration-interval.md
+++ b/doc/models/containers/subscription-custom-price-expiration-interval.md
@@ -12,3 +12,23 @@
| `str` |
| `int` |
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
+## int
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
diff --git a/doc/models/containers/subscription-custom-price-initial-charge-in-cents.md b/doc/models/containers/subscription-custom-price-initial-charge-in-cents.md
index f379372..b309fe8 100644
--- a/doc/models/containers/subscription-custom-price-initial-charge-in-cents.md
+++ b/doc/models/containers/subscription-custom-price-initial-charge-in-cents.md
@@ -12,3 +12,23 @@
| `str` |
| `int` |
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
+## int
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
diff --git a/doc/models/containers/subscription-custom-price-interval.md b/doc/models/containers/subscription-custom-price-interval.md
index ed970ac..f3cefcd 100644
--- a/doc/models/containers/subscription-custom-price-interval.md
+++ b/doc/models/containers/subscription-custom-price-interval.md
@@ -12,3 +12,23 @@
| `str` |
| `int` |
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
+## int
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
diff --git a/doc/models/containers/subscription-custom-price-price-in-cents.md b/doc/models/containers/subscription-custom-price-price-in-cents.md
index 9eb4990..c325eee 100644
--- a/doc/models/containers/subscription-custom-price-price-in-cents.md
+++ b/doc/models/containers/subscription-custom-price-price-in-cents.md
@@ -12,3 +12,23 @@
| `str` |
| `int` |
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
+## int
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
diff --git a/doc/models/containers/subscription-custom-price-trial-interval.md b/doc/models/containers/subscription-custom-price-trial-interval.md
index c01dc10..9b81be4 100644
--- a/doc/models/containers/subscription-custom-price-trial-interval.md
+++ b/doc/models/containers/subscription-custom-price-trial-interval.md
@@ -12,3 +12,23 @@
| `str` |
| `int` |
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
+## int
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
diff --git a/doc/models/containers/subscription-custom-price-trial-price-in-cents.md b/doc/models/containers/subscription-custom-price-trial-price-in-cents.md
index 524b09f..5a46c9d 100644
--- a/doc/models/containers/subscription-custom-price-trial-price-in-cents.md
+++ b/doc/models/containers/subscription-custom-price-trial-price-in-cents.md
@@ -12,3 +12,23 @@
| `str` |
| `int` |
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
+## int
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
diff --git a/doc/models/containers/subscription-group-create-error-response-errors.md b/doc/models/containers/subscription-group-create-error-response-errors.md
index dfcd21a..578528d 100644
--- a/doc/models/containers/subscription-group-create-error-response-errors.md
+++ b/doc/models/containers/subscription-group-create-error-response-errors.md
@@ -13,3 +13,39 @@
| [`SubscriptionGroupSingleError`](../../../doc/models/subscription-group-single-error.md) |
| `str` |
+## SubscriptionGroupMembersArrayError
+
+### Initialization Code
+
+#### Example
+
+```python
+value = SubscriptionGroupMembersArrayError(
+ members=[
+ 'members6'
+ ]
+)
+```
+
+## SubscriptionGroupSingleError
+
+### Initialization Code
+
+#### Example
+
+```python
+value = SubscriptionGroupSingleError(
+ subscription_group='subscription_group2'
+)
+```
+
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
diff --git a/doc/models/containers/subscription-group-credit-card-expiration-month.md b/doc/models/containers/subscription-group-credit-card-expiration-month.md
index d4470b9..2fd886a 100644
--- a/doc/models/containers/subscription-group-credit-card-expiration-month.md
+++ b/doc/models/containers/subscription-group-credit-card-expiration-month.md
@@ -12,3 +12,23 @@
| `str` |
| `int` |
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
+## int
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
diff --git a/doc/models/containers/subscription-group-credit-card-expiration-year.md b/doc/models/containers/subscription-group-credit-card-expiration-year.md
index 0ec32a0..3b13929 100644
--- a/doc/models/containers/subscription-group-credit-card-expiration-year.md
+++ b/doc/models/containers/subscription-group-credit-card-expiration-year.md
@@ -12,3 +12,23 @@
| `str` |
| `int` |
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
+## int
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
diff --git a/doc/models/containers/subscription-group-credit-card-full-number.md b/doc/models/containers/subscription-group-credit-card-full-number.md
index 45c26ce..e6dd91e 100644
--- a/doc/models/containers/subscription-group-credit-card-full-number.md
+++ b/doc/models/containers/subscription-group-credit-card-full-number.md
@@ -12,3 +12,23 @@
| `str` |
| `int` |
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
+## int
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
diff --git a/doc/models/containers/subscription-group-signup-component-allocated-quantity.md b/doc/models/containers/subscription-group-signup-component-allocated-quantity.md
index 0f57f56..08a41b6 100644
--- a/doc/models/containers/subscription-group-signup-component-allocated-quantity.md
+++ b/doc/models/containers/subscription-group-signup-component-allocated-quantity.md
@@ -12,3 +12,23 @@
| `str` |
| `int` |
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
+## int
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
diff --git a/doc/models/containers/subscription-group-signup-component-component-id.md b/doc/models/containers/subscription-group-signup-component-component-id.md
index 24bb19f..a330d9a 100644
--- a/doc/models/containers/subscription-group-signup-component-component-id.md
+++ b/doc/models/containers/subscription-group-signup-component-component-id.md
@@ -12,3 +12,23 @@
| `str` |
| `int` |
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
+## int
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
diff --git a/doc/models/containers/subscription-group-signup-component-price-point-id.md b/doc/models/containers/subscription-group-signup-component-price-point-id.md
index 1ffba0d..c375e2f 100644
--- a/doc/models/containers/subscription-group-signup-component-price-point-id.md
+++ b/doc/models/containers/subscription-group-signup-component-price-point-id.md
@@ -12,3 +12,23 @@
| `str` |
| `int` |
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
+## int
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
diff --git a/doc/models/containers/subscription-group-signup-component-unit-balance.md b/doc/models/containers/subscription-group-signup-component-unit-balance.md
index bb47b80..09b7041 100644
--- a/doc/models/containers/subscription-group-signup-component-unit-balance.md
+++ b/doc/models/containers/subscription-group-signup-component-unit-balance.md
@@ -12,3 +12,23 @@
| `str` |
| `int` |
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
+## int
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
diff --git a/doc/models/containers/update-component-price-point-component-id.md b/doc/models/containers/update-component-price-point-component-id.md
index c32d17e..1cc7825 100644
--- a/doc/models/containers/update-component-price-point-component-id.md
+++ b/doc/models/containers/update-component-price-point-component-id.md
@@ -12,3 +12,23 @@
| `int` |
| `str` |
+## int
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
diff --git a/doc/models/containers/update-component-price-point-price-point-id.md b/doc/models/containers/update-component-price-point-price-point-id.md
index c7d2dc5..44deac4 100644
--- a/doc/models/containers/update-component-price-point-price-point-id.md
+++ b/doc/models/containers/update-component-price-point-price-point-id.md
@@ -12,3 +12,23 @@
| `int` |
| `str` |
+## int
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
diff --git a/doc/models/containers/update-metafields-request-metafields.md b/doc/models/containers/update-metafields-request-metafields.md
index 39e6938..766c8db 100644
--- a/doc/models/containers/update-metafields-request-metafields.md
+++ b/doc/models/containers/update-metafields-request-metafields.md
@@ -12,3 +12,25 @@
| [`UpdateMetafield`](../../../doc/models/update-metafield.md) |
| [`List[UpdateMetafield]`](../../../doc/models/update-metafield.md) |
+## UpdateMetafield
+
+### Initialization Code
+
+#### Example
+
+```python
+value = UpdateMetafield()
+```
+
+## List[UpdateMetafield]
+
+### Initialization Code
+
+#### Example
+
+```python
+value = [
+ UpdateMetafield()
+]
+```
+
diff --git a/doc/models/containers/update-price-ending-quantity.md b/doc/models/containers/update-price-ending-quantity.md
index a2c03ca..a199c5a 100644
--- a/doc/models/containers/update-price-ending-quantity.md
+++ b/doc/models/containers/update-price-ending-quantity.md
@@ -12,3 +12,23 @@
| `int` |
| `str` |
+## int
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
diff --git a/doc/models/containers/update-price-starting-quantity.md b/doc/models/containers/update-price-starting-quantity.md
index fad4970..16259ed 100644
--- a/doc/models/containers/update-price-starting-quantity.md
+++ b/doc/models/containers/update-price-starting-quantity.md
@@ -12,3 +12,23 @@
| `int` |
| `str` |
+## int
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
diff --git a/doc/models/containers/update-price-unit-price.md b/doc/models/containers/update-price-unit-price.md
index 8df820a..4df291c 100644
--- a/doc/models/containers/update-price-unit-price.md
+++ b/doc/models/containers/update-price-unit-price.md
@@ -12,3 +12,23 @@
| `float` |
| `str` |
+## float
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
diff --git a/doc/models/containers/update-product-price-point-price-point-id.md b/doc/models/containers/update-product-price-point-price-point-id.md
index c57b073..c6cadfd 100644
--- a/doc/models/containers/update-product-price-point-price-point-id.md
+++ b/doc/models/containers/update-product-price-point-price-point-id.md
@@ -12,3 +12,23 @@
| `int` |
| `str` |
+## int
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
diff --git a/doc/models/containers/update-product-price-point-product-id.md b/doc/models/containers/update-product-price-point-product-id.md
index 38367b4..8f60fd0 100644
--- a/doc/models/containers/update-product-price-point-product-id.md
+++ b/doc/models/containers/update-product-price-point-product-id.md
@@ -12,3 +12,23 @@
| `int` |
| `str` |
+## int
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
diff --git a/doc/models/containers/update-subscription-net-terms.md b/doc/models/containers/update-subscription-net-terms.md
index eb1dd2b..3649ccb 100644
--- a/doc/models/containers/update-subscription-net-terms.md
+++ b/doc/models/containers/update-subscription-net-terms.md
@@ -12,3 +12,23 @@
| `str` |
| `int` |
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
+## int
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
diff --git a/doc/models/containers/update-subscription-snap-day.md b/doc/models/containers/update-subscription-snap-day.md
index 8f0f2da..48b4518 100644
--- a/doc/models/containers/update-subscription-snap-day.md
+++ b/doc/models/containers/update-subscription-snap-day.md
@@ -12,3 +12,23 @@
| `str` |
| `int` |
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
+## int
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
diff --git a/doc/models/containers/usage-quantity.md b/doc/models/containers/usage-quantity.md
index 74747de..5a5bfba 100644
--- a/doc/models/containers/usage-quantity.md
+++ b/doc/models/containers/usage-quantity.md
@@ -12,3 +12,23 @@
| `int` |
| `str` |
+## int
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 0
+```
+
+## str
+
+### Initialization Code
+
+#### Example
+
+```python
+value = 'String0'
+```
+
diff --git a/doc/models/create-allocation.md b/doc/models/create-allocation.md
index cd96a65..1007e1c 100644
--- a/doc/models/create-allocation.md
+++ b/doc/models/create-allocation.md
@@ -22,7 +22,7 @@
| `accrue_charge` | `bool` | Optional | "If the change in cost is an upgrade, this determines if the charge should accrue to the next renewal or if capture should be attempted immediately.
`true` - Attempt to charge the customer at the next renewal.
`false` - Attempt to charge the customer right away. If it fails, the charge will be accrued until the next renewal.
Defaults to the site setting if unspecified in the request. |
| `initiate_dunning` | `bool` | Optional | If set to true, if the immediate component payment fails, initiate dunning for the subscription.
Otherwise, leave the charges on the subscription to pay for at renewal. Defaults to false. |
| `price_point_id` | str \| int \| None | Optional | This is a container for one-of cases. |
-| `billing_schedule` | [`BillingSchedule`](../../doc/models/billing-schedule.md) | Optional | This attribute is particularly useful when you need to align billing events for different components on distinct schedules within a subscription. This only works for site with Multifrequency enabled. |
+| `billing_schedule` | [`BillingSchedule`](../../doc/models/billing-schedule.md) | Optional | Billing schedule settings for component allocations or usages on multi-frequency subscriptions. Use this to start a component's billing period on a custom date instead of aligning with the product charge schedule. |
| `custom_price` | [`ComponentCustomPrice`](../../doc/models/component-custom-price.md) | Optional | Create or update custom pricing unique to the subscription. Used in place of `price_point_id`. |
## Example (as JSON)
diff --git a/doc/models/create-invoice.md b/doc/models/create-invoice.md
index e9d50c0..4e5d0b3 100644
--- a/doc/models/create-invoice.md
+++ b/doc/models/create-invoice.md
@@ -10,7 +10,7 @@
| Name | Type | Tags | Description |
| --- | --- | --- | --- |
| `line_items` | [`List[CreateInvoiceItem]`](../../doc/models/create-invoice-item.md) | Optional | - |
-| `issue_date` | `date` | Optional | - |
+| `issue_date` | `date` | Optional | Date on which the invoice will be issued (format YYYY-MM-DD). This date is interpreted and validated in your site's time zone. It must be today or a date in the past — future dates are not accepted. If omitted, defaults to today in your site's time zone. |
| `net_terms` | `int` | Optional | By default, invoices will be created with a due date matching the date of invoice creation. If a different due date is desired, the net_terms parameter can be sent indicating the number of days in advance the due date should be. |
| `payment_instructions` | `str` | Optional | - |
| `memo` | `str` | Optional | A custom memo can be sent to override the site's default. |
diff --git a/doc/models/create-on-off-component.md b/doc/models/create-on-off-component.md
index 606acd5..a87d8fc 100644
--- a/doc/models/create-on-off-component.md
+++ b/doc/models/create-on-off-component.md
@@ -1,5 +1,5 @@
-# Create on Off Component
+# Create On Off Component
## Structure
diff --git a/doc/models/create-or-update-endpoint-request.md b/doc/models/create-or-update-endpoint-request.md
index 1f5787c..787658e 100644
--- a/doc/models/create-or-update-endpoint-request.md
+++ b/doc/models/create-or-update-endpoint-request.md
@@ -20,7 +20,7 @@ Used to Create or Update Endpoint
"endpoint": {
"url": "url2",
"webhook_subscriptions": [
- "dunning_step_reached"
+ "subscription_prepayment_account_balance_changed"
]
}
}
diff --git a/doc/models/create-or-update-endpoint.md b/doc/models/create-or-update-endpoint.md
index 551ac18..c6fe739 100644
--- a/doc/models/create-or-update-endpoint.md
+++ b/doc/models/create-or-update-endpoint.md
@@ -20,7 +20,7 @@ Used to Create or Update Endpoint
{
"url": "url8",
"webhook_subscriptions": [
- "payment_success"
+ "refund_success"
]
}
```
diff --git a/doc/models/create-payment-profile.md b/doc/models/create-payment-profile.md
index 0f46211..2201fc8 100644
--- a/doc/models/create-payment-profile.md
+++ b/doc/models/create-payment-profile.md
@@ -9,7 +9,7 @@
| Name | Type | Tags | Description |
| --- | --- | --- | --- |
-| `chargify_token` | `str` | Optional | Token received after sending billing information using chargify.js. |
+| `chargify_token` | `str` | Optional | Token received after sending billing information using Maxio.js (formerly Chargify.js). |
| `id` | `int` | Optional | - |
| `payment_type` | [`PaymentType`](../../doc/models/payment-type.md) | Optional | - |
| `first_name` | `str` | Optional | First name on card or bank account. If omitted, the first_name from customer attributes will be used. |
@@ -29,8 +29,8 @@
| `vault_token` | `str` | Optional | The “token” provided by your vault storage for an already stored payment profile |
| `customer_vault_token` | `str` | Optional | (only for Authorize.Net CIM storage or Square) The customerProfileId for the owner of the customerPaymentProfileId provided as the vault_token |
| `customer_id` | `int` | Optional | (Required when creating a new payment profile) The Chargify customer id. |
-| `paypal_email` | `str` | Optional | used by merchants that implemented BraintreeBlue javaScript libraries on their own. We recommend using Chargify.js instead. |
-| `payment_method_nonce` | `str` | Optional | used by merchants that implemented BraintreeBlue javaScript libraries on their own. We recommend using Chargify.js instead. |
+| `paypal_email` | `str` | Optional | used by merchants that implemented BraintreeBlue javaScript libraries on their own. We recommend using Maxio.js (formerly Chargify.js) instead. |
+| `payment_method_nonce` | `str` | Optional | used by merchants that implemented BraintreeBlue javaScript libraries on their own. We recommend using Maxio.js (formerly Chargify.js) instead. |
| `gateway_handle` | `str` | Optional | This attribute is only available if MultiGateway feature is enabled for your Site. This feature is in the Private Beta currently. gateway_handle is used to directly select a gateway where a payment profile will be stored in. Every connected gateway must have a unique gateway handle specified. Read [Multigateway description](https://chargify.zendesk.com/hc/en-us/articles/4407761759643#connecting-with-multiple-gateways) to learn more about new concepts that MultiGateway introduces and the default behavior when this attribute is not passed. |
| `cvv` | `str` | Optional | The 3- or 4-digit Card Verification Value. This value is merely passed through to the payment gateway. |
| `bank_name` | `str` | Optional | (Required when creating with ACH or GoCardless, optional with Stripe Direct Debit). The name of the bank where the customerʼs account resides |
diff --git a/doc/models/create-subscription-request.md b/doc/models/create-subscription-request.md
index 117b150..3c5137b 100644
--- a/doc/models/create-subscription-request.md
+++ b/doc/models/create-subscription-request.md
@@ -23,7 +23,6 @@
},
"dunning_communication_delay_enabled": false,
"dunning_communication_delay_time_zone": "\"Eastern Time (US & Canada)\"",
- "skip_billing_manifest_taxes": false,
"product_handle": "product_handle6",
"product_id": 206,
"product_price_point_handle": "product_price_point_handle2",
diff --git a/doc/models/create-subscription.md b/doc/models/create-subscription.md
index 8bf2259..07d64a6 100644
--- a/doc/models/create-subscription.md
+++ b/doc/models/create-subscription.md
@@ -58,7 +58,7 @@
| `ach_agreement` | [`ACHAgreement`](../../doc/models/ach-agreement.md) | Optional | (Optional) If passed, the proof of the authorized ACH agreement terms will be persisted. |
| `dunning_communication_delay_enabled` | `bool` | Optional | Enable Communication Delay feature, making sure no communication (email or SMS) is sent to the Customer between 9PM and 8AM in time zone set by the `dunning_communication_delay_time_zone` attribute.
**Default**: `False` |
| `dunning_communication_delay_time_zone` | `str` | Optional | Time zone for the Dunning Communication Delay feature. |
-| `skip_billing_manifest_taxes` | `bool` | Optional | Valid only for the Subscription Preview endpoint. When set to `true` it skips calculating taxes for the current and next billing manifests.
**Default**: `False` |
+| `skip_billing_manifest_taxes` | `bool` | Optional | Valid only for the Subscription Preview endpoint. When set to `true` it skips calculating taxes for the current and next billing manifests. Defaults to `false` when not provided. |
## Example (as JSON)
@@ -71,7 +71,6 @@
},
"dunning_communication_delay_enabled": false,
"dunning_communication_delay_time_zone": "\"Eastern Time (US & Canada)\"",
- "skip_billing_manifest_taxes": false,
"product_handle": "product_handle6",
"product_id": 212,
"product_price_point_handle": "product_price_point_handle0",
diff --git a/doc/models/create-usage.md b/doc/models/create-usage.md
index 93ac165..75ff03d 100644
--- a/doc/models/create-usage.md
+++ b/doc/models/create-usage.md
@@ -12,7 +12,7 @@
| `quantity` | `float` | Optional | integer by default or decimal number if fractional quantities are enabled for the component |
| `price_point_id` | `str` | Optional | - |
| `memo` | `str` | Optional | - |
-| `billing_schedule` | [`BillingSchedule`](../../doc/models/billing-schedule.md) | Optional | This attribute is particularly useful when you need to align billing events for different components on distinct schedules within a subscription. This only works for site with Multifrequency enabled. |
+| `billing_schedule` | [`BillingSchedule`](../../doc/models/billing-schedule.md) | Optional | Billing schedule settings for component allocations or usages on multi-frequency subscriptions. Use this to start a component's billing period on a custom date instead of aligning with the product charge schedule. |
| `custom_price` | [`ComponentCustomPrice`](../../doc/models/component-custom-price.md) | Optional | Create or update custom pricing unique to the subscription. Used in place of `price_point_id`. |
## Example (as JSON)
diff --git a/doc/models/credit-card-payment-profile.md b/doc/models/credit-card-payment-profile.md
index 5268e6e..17fb778 100644
--- a/doc/models/credit-card-payment-profile.md
+++ b/doc/models/credit-card-payment-profile.md
@@ -28,7 +28,7 @@
| `billing_address_2` | `str` | Optional | The current billing street address, second line, for the card. |
| `payment_type` | [`PaymentType`](../../doc/models/payment-type.md) | Required | **Default**: `"credit_card"` |
| `disabled` | `bool` | Optional | - |
-| `chargify_token` | `str` | Optional | Token received after sending billing information using chargify.js. This token will only be received if passed as a sole attribute of credit_card_attributes (i.e. tok_9g6hw85pnpt6knmskpwp4ttt) |
+| `chargify_token` | `str` | Optional | Token received after sending billing information using Maxio.js (formerly Chargify.js). This token will only be received if passed as a sole attribute of credit_card_attributes (i.e. tok_9g6hw85pnpt6knmskpwp4ttt) |
| `site_gateway_setting_id` | `int` | Optional | - |
| `gateway_handle` | `str` | Optional | An identifier of connected gateway. |
| `created_at` | `datetime` | Optional | A timestamp indicating when this payment profile was created |
diff --git a/doc/models/credit-note-line-item.md b/doc/models/credit-note-line-item.md
index e59a912..feb7c9e 100644
--- a/doc/models/credit-note-line-item.md
+++ b/doc/models/credit-note-line-item.md
@@ -17,6 +17,7 @@
| `subtotal_amount` | `str` | Optional | The line subtotal, generally calculated as `quantity * unit_price`. This is the canonical amount of record for the line - when rounding differences are in play, `subtotal_amount` takes precedence over the value derived from `quantity * unit_price` (which may not have the proper precision to exactly equal this amount). |
| `discount_amount` | `str` | Optional | The approximate discount of just this line.
The value is approximated in cases where rounding errors make it difficult to apportion exactly a total discount among many lines. Several lines may have been summed prior to applying the discount to arrive at `discount_amount` for the invoice - backing that out to the discount on a single line may introduce rounding or precision errors. |
| `tax_amount` | `str` | Optional | The approximate tax of just this line.
The value is approximated in cases where rounding errors make it difficult to apportion exactly a total tax among many lines. Several lines may have been summed prior to applying the tax rate to arrive at `tax_amount` for the invoice - backing that out to the tax on a single line may introduce rounding or precision errors. |
+| `tax_included` | `bool` | Optional | Whether the unit price for this line item is tax-inclusive.
When `true`, `unit_price` already includes tax and `tax_amount` represents the portion of the price attributable to tax. When `false`, any applicable tax is added on top of the price.
The value is inherited from the source price point's `tax_included` setting. Custom or ad-hoc line items (which have no associated price point) always return `false`. |
| `total_amount` | `str` | Optional | The non-canonical total amount for the line.
`subtotal_amount` is the canonical amount for a line. The invoice `total_amount` is derived from the sum of the line `subtotal_amount`s and discounts or taxes applied thereafter. Therefore, due to rounding or precision errors, the sum of line `total_amount`s may not equal the invoice `total_amount`. |
| `tiered_unit_price` | `bool` | Optional | When `true`, indicates that the actual pricing scheme for the line was tiered, so the `unit_price` shown is the blended average for all units. |
| `period_range_start` | `date` | Optional | Start date for the period credited by this line. The format is `"YYYY-MM-DD"`. |
@@ -27,6 +28,7 @@
| `price_point_id` | `int` | Optional | The price point ID of the component being credited. Will be `nil` for non-component credits. |
| `billing_schedule_item_id` | `int` | Optional | - |
| `custom_item` | `bool` | Optional | - |
+| `prepaid_allocation_expires_at` | `date` | Optional | The date a prepaid allocation is set to expire. Only present on line items representing prepaid component allocations. The format is `"YYYY-MM-DD"`. |
## Example (as JSON)
diff --git a/doc/models/customer.md b/doc/models/customer.md
index 89a98fc..1a51ac8 100644
--- a/doc/models/customer.md
+++ b/doc/models/customer.md
@@ -39,6 +39,7 @@
| `salesforce_id` | `str` | Optional | The Salesforce ID for the customer |
| `tax_exempt_reason` | `str` | Optional | The Tax Exemption Reason Code for the customer |
| `default_auto_renewal_profile_id` | `int` | Optional | The default auto-renewal profile ID for the customer |
+| `maxioid` | `str` | Optional | The Maxio-generated unique identifier for the customer. |
## Example (as JSON)
diff --git a/doc/models/event-key.md b/doc/models/event-key.md
index feb4046..a400739 100644
--- a/doc/models/event-key.md
+++ b/doc/models/event-key.md
@@ -42,6 +42,7 @@
| `TRIAL_END_NOTICE` |
| `DUNNING_STEP_REACHED` |
| `INVOICE_ISSUED` |
+| `INVOICE_PENDING` |
| `PREPAID_SUBSCRIPTION_BALANCE_CHANGED` |
| `SUBSCRIPTION_GROUP_SIGNUP_SUCCESS` |
| `SUBSCRIPTION_GROUP_SIGNUP_FAILURE` |
@@ -85,6 +86,8 @@
| `CHARGEBACK_WON` |
| `PAYMENT_COLLECTION_METHOD_CHANGED` |
| `COMPONENT_BILLING_DATE_CHANGED` |
+| `CHJS_TOKENIZATION_FAILURE` |
+| `CHJS_TOKENIZATION_SUCCESS` |
| `SUBSCRIPTION_TERM_RENEWAL_SCHEDULED` |
| `SUBSCRIPTION_TERM_RENEWAL_PENDING` |
| `SUBSCRIPTION_TERM_RENEWAL_ACTIVATED` |
diff --git a/doc/models/event-response.md b/doc/models/event-response.md
index 75b1061..1c4163a 100644
--- a/doc/models/event-response.md
+++ b/doc/models/event-response.md
@@ -17,7 +17,7 @@
{
"event": {
"id": 242,
- "key": "subscription_state_change",
+ "key": "maxio_payments_direct_debit_payment_rejected",
"message": "message0",
"subscription_id": 96,
"customer_id": 24,
diff --git a/doc/models/event.md b/doc/models/event.md
index 07f21b6..b7179a2 100644
--- a/doc/models/event.md
+++ b/doc/models/event.md
@@ -15,14 +15,14 @@
| `subscription_id` | `int` | Required | - |
| `customer_id` | `int` | Required | - |
| `created_at` | `datetime` | Required | - |
-| `event_specific_data` | [Subscription Product Change](../../doc/models/subscription-product-change.md) \| [Subscription State Change](../../doc/models/subscription-state-change.md) \| [Payment Related Events](../../doc/models/payment-related-events.md) \| [Refund Success](../../doc/models/refund-success.md) \| [Component Allocation Change](../../doc/models/component-allocation-change.md) \| [Metered Usage](../../doc/models/metered-usage.md) \| [Prepaid Usage](../../doc/models/prepaid-usage.md) \| [Dunning Step Reached](../../doc/models/dunning-step-reached.md) \| [Invoice Issued](../../doc/models/invoice-issued.md) \| [Pending Cancellation Change](../../doc/models/pending-cancellation-change.md) \| [Prepaid Subscription Balance Changed](../../doc/models/prepaid-subscription-balance-changed.md) \| [Proforma Invoice Issued](../../doc/models/proforma-invoice-issued.md) \| [Subscription Group Signup Event Data](../../doc/models/subscription-group-signup-event-data.md) \| [Credit Account Balance Changed](../../doc/models/credit-account-balance-changed.md) \| [Prepayment Account Balance Changed](../../doc/models/prepayment-account-balance-changed.md) \| [Payment Collection Method Changed](../../doc/models/payment-collection-method-changed.md) \| [Item Price Point Changed](../../doc/models/item-price-point-changed.md) \| [Custom Field Value Change](../../doc/models/custom-field-value-change.md) \| None | Required | This is a container for one-of cases. |
+| `event_specific_data` | [Subscription Product Change](../../doc/models/subscription-product-change.md) \| [Subscription State Change](../../doc/models/subscription-state-change.md) \| [Payment Related Events](../../doc/models/payment-related-events.md) \| [Refund Success](../../doc/models/refund-success.md) \| [Component Allocation Change](../../doc/models/component-allocation-change.md) \| [Metered Usage](../../doc/models/metered-usage.md) \| [Prepaid Usage](../../doc/models/prepaid-usage.md) \| [Dunning Step Reached](../../doc/models/dunning-step-reached.md) \| [Invoice Issued](../../doc/models/invoice-issued.md) \| [Pending Cancellation Change](../../doc/models/pending-cancellation-change.md) \| [Prepaid Subscription Balance Changed](../../doc/models/prepaid-subscription-balance-changed.md) \| [Proforma Invoice Issued](../../doc/models/proforma-invoice-issued.md) \| [Subscription Group Signup Event Data](../../doc/models/subscription-group-signup-event-data.md) \| [Credit Account Balance Changed](../../doc/models/credit-account-balance-changed.md) \| [Prepayment Account Balance Changed](../../doc/models/prepayment-account-balance-changed.md) \| [Payment Collection Method Changed](../../doc/models/payment-collection-method-changed.md) \| [Item Price Point Changed](../../doc/models/item-price-point-changed.md) \| [Custom Field Value Change](../../doc/models/custom-field-value-change.md) \| [Chjs Tokenization Success](../../doc/models/chjs-tokenization-success.md) \| [Chjs Tokenization Failure](../../doc/models/chjs-tokenization-failure.md) \| None | Required | This is a container for one-of cases. |
## Example (as JSON)
```json
{
"id": 40,
- "key": "invoice_issued",
+ "key": "subscription_group_signup_success",
"message": "message8",
"subscription_id": 150,
"customer_id": 78,
diff --git a/doc/models/invoice-line-item.md b/doc/models/invoice-line-item.md
index c0b7457..db1e8ee 100644
--- a/doc/models/invoice-line-item.md
+++ b/doc/models/invoice-line-item.md
@@ -17,6 +17,7 @@
| `subtotal_amount` | `str` | Optional | The line subtotal, generally calculated as `quantity * unit_price`. This is the canonical amount of record for the line - when rounding differences are in play, `subtotal_amount` takes precedence over the value derived from `quantity * unit_price` (which may not have the proper precision to exactly equal this amount). |
| `discount_amount` | `str` | Optional | The approximate discount applied to just this line.
The value is approximated in cases where rounding errors make it difficult to apportion exactly a total discount among many lines. Several lines may have been summed prior to applying the discount to arrive at `discount_amount` for the invoice - backing that out to the discount on a single line may introduce rounding or precision errors. |
| `tax_amount` | `str` | Optional | The approximate tax applied to just this line.
The value is approximated in cases where rounding errors make it difficult to apportion exactly a total tax among many lines. Several lines may have been summed prior to applying the tax rate to arrive at `tax_amount` for the invoice - backing that out to the tax on a single line may introduce rounding or precision errors. |
+| `tax_included` | `bool` | Optional | Whether the unit price for this line item is tax-inclusive.
When `true`, `unit_price` already includes tax and `tax_amount` represents the portion of the price attributable to tax. When `false`, any applicable tax is added on top of the price.
The value is inherited from the source price point's `tax_included` setting. Custom or ad-hoc line items (which have no associated price point) always return `false`. |
| `total_amount` | `str` | Optional | The non-canonical total amount for the line.
`subtotal_amount` is the canonical amount for a line. The invoice `total_amount` is derived from the sum of the line `subtotal_amount`s and discounts or taxes applied thereafter. Therefore, due to rounding or precision errors, the sum of line `total_amount`s may not equal the invoice `total_amount`. |
| `tiered_unit_price` | `bool` | Optional | When `true`, indicates that the actual pricing scheme for the line was tiered, so the `unit_price` shown is the blended average for all units. |
| `period_range_start` | `date` | Optional | Start date for the period covered by this line. The format is `"YYYY-MM-DD"`.
* For periodic charges paid in advance, this date will match the billing date, and the end date will be in the future.
* For periodic charges paid in arrears (e.g. metered charges), this date will be the date of the previous billing, and the end date will be the current billing date.
* For non-periodic charges, this date and the end date will match. |
@@ -32,6 +33,7 @@
| `product_price_point_id` | `int` | Optional | The price point ID of the line item's product |
| `custom_item` | `bool` | Optional | - |
| `kind` | `str` | Optional | - |
+| `prepaid_allocation_expires_at` | `date` | Optional | The date a prepaid allocation is set to expire. Only present on line items representing prepaid component allocations. The format is `"YYYY-MM-DD"`. |
## Example (as JSON)
diff --git a/doc/models/payment-profile-attributes.md b/doc/models/payment-profile-attributes.md
index 3eefdd2..3d15812 100644
--- a/doc/models/payment-profile-attributes.md
+++ b/doc/models/payment-profile-attributes.md
@@ -11,7 +11,7 @@ alias to credit_card_attributes
| Name | Type | Tags | Description |
| --- | --- | --- | --- |
-| `chargify_token` | `str` | Optional | (Optional) Token received after sending billing information using chargify.js. This token must be passed as a sole attribute of `payment_profile_attributes` (i.e. tok_9g6hw85pnpt6knmskpwp4ttt) |
+| `chargify_token` | `str` | Optional | (Optional) Token received after sending billing information using Maxio.js (formerly Chargify.js). This token must be passed as a sole attribute of `payment_profile_attributes` (i.e. tok_9g6hw85pnpt6knmskpwp4ttt) |
| `id` | `int` | Optional | - |
| `payment_type` | [`PaymentType`](../../doc/models/payment-type.md) | Optional | - |
| `first_name` | `str` | Optional | (Optional) First name on card or bank account. If omitted, the first_name from customer attributes will be used. |
diff --git a/doc/models/payment-profile-params.md b/doc/models/payment-profile-params.md
new file mode 100644
index 0000000..079f293
--- /dev/null
+++ b/doc/models/payment-profile-params.md
@@ -0,0 +1,27 @@
+
+# Payment Profile Params
+
+PCI-safe cardholder fields only. Full card numbers, CVV, and billing address are never included.
+
+## Structure
+
+`PaymentProfileParams`
+
+## Fields
+
+| Name | Type | Tags | Description |
+| --- | --- | --- | --- |
+| `first_name` | `str` | Optional | - |
+| `last_name` | `str` | Optional | - |
+| `card_type` | `str` | Optional | - |
+
+## Example (as JSON)
+
+```json
+{
+ "first_name": "first_name2",
+ "last_name": "last_name0",
+ "card_type": "card_type8"
+}
+```
+
diff --git a/doc/models/site.md b/doc/models/site.md
index 83f4e74..9cd696f 100644
--- a/doc/models/site.md
+++ b/doc/models/site.md
@@ -25,6 +25,9 @@
| `organization_address` | [`OrganizationAddress`](../../doc/models/organization-address.md) | Optional | - |
| `tax_configuration` | [`TaxConfiguration`](../../doc/models/tax-configuration.md) | Optional | - |
| `net_terms` | [`NetTerms`](../../doc/models/net-terms.md) | Optional | - |
+| `multi_frequency_enabled` | `bool` | Optional | Whether the site has the multi-frequency billing feature enabled. Only present when relationship invoicing is active. |
+| `auto_renewals_enabled` | `bool` | Optional | Whether the auto-renewals feature is enabled for this site. |
+| `portal_enabled` | `bool` | Optional | Whether the Billing Portal is enabled for this site. |
| `test` | `bool` | Optional | - |
## Example (as JSON)
diff --git a/doc/models/tokenized-payment-profile.md b/doc/models/tokenized-payment-profile.md
new file mode 100644
index 0000000..16a2ade
--- /dev/null
+++ b/doc/models/tokenized-payment-profile.md
@@ -0,0 +1,27 @@
+
+# Tokenized Payment Profile
+
+## Structure
+
+`TokenizedPaymentProfile`
+
+## Fields
+
+| Name | Type | Tags | Description |
+| --- | --- | --- | --- |
+| `id` | `int` | Required | - |
+| `vault_token` | `str` | Optional | - |
+| `gateway_handle` | `str` | Optional | - |
+| `customer_vault_token` | `str` | Optional | - |
+
+## Example (as JSON)
+
+```json
+{
+ "id": 72,
+ "vault_token": "vault_token2",
+ "gateway_handle": "gateway_handle8",
+ "customer_vault_token": "customer_vault_token8"
+}
+```
+
diff --git a/doc/models/webhook-subscription.md b/doc/models/webhook-subscription.md
index ced689e..85990e5 100644
--- a/doc/models/webhook-subscription.md
+++ b/doc/models/webhook-subscription.md
@@ -11,12 +11,15 @@
| --- |
| `BILLING_DATE_CHANGE` |
| `COMPONENT_ALLOCATION_CHANGE` |
+| `CHJS_TOKENIZATION_FAILURE` |
+| `CHJS_TOKENIZATION_SUCCESS` |
| `CUSTOMER_CREATE` |
| `CUSTOMER_UPDATE` |
| `DUNNING_STEP_REACHED` |
| `EXPIRING_CARD` |
| `EXPIRATION_DATE_CHANGE` |
| `INVOICE_ISSUED` |
+| `INVOICE_PENDING` |
| `METERED_USAGE` |
| `PAYMENT_FAILURE` |
| `PAYMENT_SUCCESS` |
diff --git a/pyproject.toml b/pyproject.toml
index 8dff6ed..e649b2b 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
[project]
name = "maxio-advanced-billing-sdk"
description = "Ultimate billing and pricing flexibility for B2B SaaS.\nMaxio integrates directly into your product, so you can seamlessly manage your product catalog, bill customers, and collect payments."
-version = "9.0.0"
+version = "9.1.0"
readme = "README.md"
keywords = ["Maxio", "Advaced Billing", "Payments", "Subscription"]
dependencies = ["apimatic-core~=0.2.0, >= 0.2.24", "apimatic-core-interfaces~=0.1.0, >= 0.1.8", "apimatic-requests-client-adapter~=0.1.0, >= 0.1.10", "python-dotenv>=0.21, <2.0", "deprecation~=2.1"]
diff --git a/tests/data/init_cases.py b/tests/data/init_cases.py
index 388bd22..648d47c 100644
--- a/tests/data/init_cases.py
+++ b/tests/data/init_cases.py
@@ -77,7 +77,7 @@ def get_customer_request() -> dict:
"country": "US",
"phone": "+00 123 456 789",
"tax_exempt": False,
- "vat_number": "test vat number",
+ "vat_number": "TEST VAT NUMBER",
"parent_id": None,
"locale": None,
}