Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 3 additions & 3 deletions AdvancedBilling.Standard/AdvancedBilling.Standard.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,13 @@
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<AssemblyName>Maxio.AdvancedBillingSdk</AssemblyName>
<Version>9.1.0.0</Version>
<Version>10.0.0.0</Version>
<Authors>MaxioSdk</Authors>
<Owners></Owners>
<Product>AdvancedBilling.Standard</Product>
<Copyright>Copyright © 2019</Copyright>
<AssemblyVersion>9.1.0.0</AssemblyVersion>
<FileVersion>9.1.0.0</FileVersion>
<AssemblyVersion>10.0.0.0</AssemblyVersion>
<FileVersion>10.0.0.0</FileVersion>
<Description>Ultimate billing and pricing flexibility for B2B SaaS.
Maxio integrates directly into your product, so you can seamlessly manage your product catalog, bill customers, and collect payments.</Description>
<LangVersion>7.3</LangVersion>
Expand Down
2 changes: 1 addition & 1 deletion AdvancedBilling.Standard/AdvancedBillingClient.cs
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ public sealed class AdvancedBillingClient : IConfiguration
};

private readonly GlobalConfiguration globalConfiguration;
private const string userAgent = "AB SDK DotNet:9.1.0 on OS {os-info}";
private const string userAgent = "AB SDK DotNet:10.0.0 on OS {os-info}";
private readonly HttpCallback httpCallback;
private readonly Lazy<APIExportsController> aPIExports;
private readonly Lazy<AdvanceInvoiceController> advanceInvoice;
Expand Down
10 changes: 4 additions & 6 deletions AdvancedBilling.Standard/Controllers/APIExportsController.cs
Original file line number Diff line number Diff line change
Expand Up @@ -132,16 +132,14 @@ internal APIExportsController(GlobalConfiguration globalConfiguration) : base(gl
.ExecuteAsync(cancellationToken).ConfigureAwait(false);

/// <summary>
/// Creates a proforma invoices export and returns a batch job object.
/// It is only available for Relationship Invoicing architecture.
/// Creates a proforma invoices export and returns a batch job object. Proforma invoices are only available on Relationship Invoicing sites.
/// </summary>
/// <returns>Returns the Models.BatchJobResponse response from the API call.</returns>
public Models.BatchJobResponse ExportProformaInvoices()
=> CoreHelper.RunTask(ExportProformaInvoicesAsync());

/// <summary>
/// Creates a proforma invoices export and returns a batch job object.
/// It is only available for Relationship Invoicing architecture.
/// Creates a proforma invoices export and returns a batch job object. Proforma invoices are only available on Relationship Invoicing sites.
/// </summary>
/// <param name="cancellationToken"> cancellationToken. </param>
/// <returns>Returns the Models.BatchJobResponse response from the API call.</returns>
Expand Down Expand Up @@ -199,7 +197,7 @@ public Models.BatchJobResponse ExportSubscriptions()
.ExecuteAsync(cancellationToken).ConfigureAwait(false);

/// <summary>
/// Returns a batch job object for a proforma invoices export.
/// Returns a batch job object for a proforma invoices export. Proforma invoices are only available on Relationship Invoicing sites.
/// </summary>
/// <param name="batchId">Required parameter: Id of a Batch Job..</param>
/// <returns>Returns the Models.BatchJobResponse response from the API call.</returns>
Expand All @@ -208,7 +206,7 @@ public Models.BatchJobResponse ReadProformaInvoicesExport(
=> CoreHelper.RunTask(ReadProformaInvoicesExportAsync(batchId));

/// <summary>
/// Returns a batch job object for a proforma invoices export.
/// Returns a batch job object for a proforma invoices export. Proforma invoices are only available on Relationship Invoicing sites.
/// </summary>
/// <param name="batchId">Required parameter: Id of a Batch Job..</param>
/// <param name="cancellationToken"> cancellationToken. </param>
Expand Down
26 changes: 14 additions & 12 deletions AdvancedBilling.Standard/Controllers/AdvanceInvoiceController.cs
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,10 @@ public class AdvanceInvoiceController : BaseController
internal AdvanceInvoiceController(GlobalConfiguration globalConfiguration) : base(globalConfiguration) { }

/// <summary>
/// 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.
/// Issues an invoice in advance for a subscription's next renewal date. For the most part, advance invoices function like any other invoice, except they are issued early and have special behavior upon being voided. For more information on advance invoices, including eligibility for generating one, see [Issue Invoice In Advance](https://maxio.zendesk.com/hc/en-us/articles/24252026404749-Issue-Invoice-In-Advance).
/// A subscription can only have one advance invoice per billing period. Attempting to issue an advance invoice when one already exists returns an error.
/// Regeneration of the invoice can be forced with the params `force: true`, which voids an advance invoice if one exists and generates a new one. If no advance invoice exists, a new one is generated.
/// Consider using either the create or preview endpoints for proforma invoices to preview this advance invoice before using this endpoint to generate it.
/// </summary>
/// <param name="subscriptionId">Required parameter: The Chargify id of the subscription..</param>
/// <param name="body">Optional parameter: .</param>
Expand All @@ -37,10 +37,10 @@ public Models.Invoice IssueAdvanceInvoice(
=> CoreHelper.RunTask(IssueAdvanceInvoiceAsync(subscriptionId, body));

/// <summary>
/// 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.
/// Issues an invoice in advance for a subscription's next renewal date. For the most part, advance invoices function like any other invoice, except they are issued early and have special behavior upon being voided. For more information on advance invoices, including eligibility for generating one, see [Issue Invoice In Advance](https://maxio.zendesk.com/hc/en-us/articles/24252026404749-Issue-Invoice-In-Advance).
/// A subscription can only have one advance invoice per billing period. Attempting to issue an advance invoice when one already exists returns an error.
/// Regeneration of the invoice can be forced with the params `force: true`, which voids an advance invoice if one exists and generates a new one. If no advance invoice exists, a new one is generated.
/// Consider using either the create or preview endpoints for proforma invoices to preview this advance invoice before using this endpoint to generate it.
/// </summary>
/// <param name="subscriptionId">Required parameter: The Chargify id of the subscription..</param>
/// <param name="body">Optional parameter: .</param>
Expand Down Expand Up @@ -92,8 +92,9 @@ public Models.Invoice ReadAdvanceInvoice(
.ExecuteAsync(cancellationToken).ConfigureAwait(false);

/// <summary>
/// Void a subscription's existing advance invoice. Once voided, it can later be regenerated if desired.
/// A `reason` is required in order to void, and the invoice must have an open status. Voiding will cause any prepayments and credits that were applied to the invoice to be returned to the subscription. For a full overview of the impact of voiding, [see our help docs]($m/Invoice).
/// Voids a subscription's existing advance invoice. Once voided, it can later be regenerated if desired.
/// A `reason` is required to void, and the invoice must have an open status. Voiding causes any prepayments and credits that were applied to the invoice to be returned to the subscription.
/// For a full overview of the impact of voiding, see [Invoice]($m/Invoice).
/// </summary>
/// <param name="subscriptionId">Required parameter: The Chargify id of the subscription..</param>
/// <param name="body">Optional parameter: .</param>
Expand All @@ -104,8 +105,9 @@ public Models.Invoice VoidAdvanceInvoice(
=> CoreHelper.RunTask(VoidAdvanceInvoiceAsync(subscriptionId, body));

/// <summary>
/// Void a subscription's existing advance invoice. Once voided, it can later be regenerated if desired.
/// A `reason` is required in order to void, and the invoice must have an open status. Voiding will cause any prepayments and credits that were applied to the invoice to be returned to the subscription. For a full overview of the impact of voiding, [see our help docs]($m/Invoice).
/// Voids a subscription's existing advance invoice. Once voided, it can later be regenerated if desired.
/// A `reason` is required to void, and the invoice must have an open status. Voiding causes any prepayments and credits that were applied to the invoice to be returned to the subscription.
/// For a full overview of the impact of voiding, see [Invoice]($m/Invoice).
/// </summary>
/// <param name="subscriptionId">Required parameter: The Chargify id of the subscription..</param>
/// <param name="body">Optional parameter: .</param>
Expand Down
42 changes: 16 additions & 26 deletions AdvancedBilling.Standard/Controllers/BillingPortalController.cs
Original file line number Diff line number Diff line change
Expand Up @@ -23,17 +23,12 @@ public class BillingPortalController : BaseController
internal BillingPortalController(GlobalConfiguration globalConfiguration) : base(globalConfiguration) { }

/// <summary>
/// <![CDATA[
/// 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 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.
/// ## Billing Portal Security.
/// If your customer has been invited to the Billing Portal, then they will receive a link to manage their subscription (the “Management URL”) automatically at the bottom of their statements, invoices, and receipts. **This link changes periodically for security and is only valid for 65 days.**.
/// If you need to provide your customer their Management URL through other means, you can retrieve it via the API. Because the URL is cryptographically signed with a timestamp, it is not possible for merchants to generate the URL without requesting it from Advanced Billing.
/// In order to prevent abuse & overuse, we ask that you request a new URL only when absolutely necessary. Management URLs are good for 65 days, so you should re-use a previously generated one as much as possible. If you use the URL frequently (such as to display on your website), **do not** make an API request to Advanced Billing every time.
/// ]]>
/// If your customer has been invited to the Billing Portal, they receive a link to manage their subscription (the “Management URL”) automatically at the bottom of their statements, invoices, and receipts. **This link changes periodically for security and is only valid for 65 days.**.
/// If you need to provide your customer their Management URL through other means, you can retrieve it [via the API]($e/Billing%20Portal/readBillingPortalLink). Because the URL is cryptographically signed with a timestamp, merchants cannot generate the URL without requesting it through the API.
/// To prevent abuse and overuse, request a new URL only when absolutely necessary. Management URLs are good for 65 days, so you should re-use a previously generated one as much as possible. If you use the URL frequently (such as to display on your website), **do not** make an API request every time.
/// For more information configuring the Billing Portal, see [Billing Portal Overview](https://maxio.zendesk.com/hc/en-us/articles/24252412965133-Billing-Portal-Overview).
/// </summary>
/// <param name="customerId">Required parameter: The Chargify id of the customer.</param>
/// <param name="autoInvite">Optional parameter: When set to 1, an Invitation email will be sent to the Customer. When set to 0, or not sent, an email will not be sent. Use in query: `auto_invite=1`..</param>
Expand All @@ -44,17 +39,12 @@ public Models.CustomerResponse EnableBillingPortalForCustomer(
=> CoreHelper.RunTask(EnableBillingPortalForCustomerAsync(customerId, autoInvite));

/// <summary>
/// <![CDATA[
/// 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 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.
/// ## Billing Portal Security.
/// If your customer has been invited to the Billing Portal, then they will receive a link to manage their subscription (the “Management URL”) automatically at the bottom of their statements, invoices, and receipts. **This link changes periodically for security and is only valid for 65 days.**.
/// If you need to provide your customer their Management URL through other means, you can retrieve it via the API. Because the URL is cryptographically signed with a timestamp, it is not possible for merchants to generate the URL without requesting it from Advanced Billing.
/// In order to prevent abuse & overuse, we ask that you request a new URL only when absolutely necessary. Management URLs are good for 65 days, so you should re-use a previously generated one as much as possible. If you use the URL frequently (such as to display on your website), **do not** make an API request to Advanced Billing every time.
/// ]]>
/// If your customer has been invited to the Billing Portal, they receive a link to manage their subscription (the “Management URL”) automatically at the bottom of their statements, invoices, and receipts. **This link changes periodically for security and is only valid for 65 days.**.
/// If you need to provide your customer their Management URL through other means, you can retrieve it [via the API]($e/Billing%20Portal/readBillingPortalLink). Because the URL is cryptographically signed with a timestamp, merchants cannot generate the URL without requesting it through the API.
/// To prevent abuse and overuse, request a new URL only when absolutely necessary. Management URLs are good for 65 days, so you should re-use a previously generated one as much as possible. If you use the URL frequently (such as to display on your website), **do not** make an API request every time.
/// For more information configuring the Billing Portal, see [Billing Portal Overview](https://maxio.zendesk.com/hc/en-us/articles/24252412965133-Billing-Portal-Overview).
/// </summary>
/// <param name="customerId">Required parameter: The Chargify id of the customer.</param>
/// <param name="autoInvite">Optional parameter: When set to 1, an Invitation email will be sent to the Customer. When set to 0, or not sent, an email will not be sent. Use in query: `auto_invite=1`..</param>
Expand All @@ -77,12 +67,12 @@ public Models.CustomerResponse EnableBillingPortalForCustomer(

/// <summary>
/// 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.
/// + We will not generate a new URL for 15 days.
/// ## Management Link Request Rules.
/// + When retrieving a management URL, multiple requests for the same customer in a short period return the **same** URL.
/// + A new URL is not generated for 15 days.
/// + You must cache and remember this URL if you are going to need it again within 15 days.
/// + Only request a new URL after the `new_link_available_at` date.
/// + You are limited to 15 requests for the same URL. If you make more than 15 requests before `new_link_available_at`, you will be blocked from further Management URL requests (with a response code `429`).
/// + You are limited to 15 requests for the same URL. If you make more than 15 requests before `new_link_available_at`, you are blocked from further Management URL requests (with a response code `429`).
/// </summary>
/// <param name="customerId">Required parameter: The Chargify id of the customer.</param>
/// <returns>Returns the Models.PortalManagementLink response from the API call.</returns>
Expand All @@ -92,12 +82,12 @@ public Models.PortalManagementLink ReadBillingPortalLink(

/// <summary>
/// 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.
/// + We will not generate a new URL for 15 days.
/// ## Management Link Request Rules.
/// + When retrieving a management URL, multiple requests for the same customer in a short period return the **same** URL.
/// + A new URL is not generated for 15 days.
/// + You must cache and remember this URL if you are going to need it again within 15 days.
/// + Only request a new URL after the `new_link_available_at` date.
/// + You are limited to 15 requests for the same URL. If you make more than 15 requests before `new_link_available_at`, you will be blocked from further Management URL requests (with a response code `429`).
/// + You are limited to 15 requests for the same URL. If you make more than 15 requests before `new_link_available_at`, you are blocked from further Management URL requests (with a response code `429`).
/// </summary>
/// <param name="customerId">Required parameter: The Chargify id of the customer.</param>
/// <param name="cancellationToken"> cancellationToken. </param>
Expand Down
Loading
Loading