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
Jump to file
Failed to load files.
Loading
Diff view
Diff view
136 changes: 136 additions & 0 deletions Recurly/Client.cs
Original file line number Diff line number Diff line change
Expand Up @@ -899,6 +899,74 @@ public CouponRedemption RemoveCouponRedemption(string accountId, RequestOptions



/// <summary>
/// Show the coupon redemption <see href="https://developers.recurly.com/api/v2021-02-25#operation/get_coupon_redemption">get_coupon_redemption api documentation</see>
/// </summary>
/// <param name="GetCouponRedemptionParams">Optional Parameters for the request</param>
/// <returns>
/// A coupon redemption.
/// </returns>
/// <exception cref="Recurly.Errors.ApiError">Thrown when the request is invalid.</exception>
public CouponRedemption GetCouponRedemption(string accountId, string couponRedemptionId, RequestOptions options = null)
{
var urlParams = new Dictionary<string, object> { { "account_id", accountId }, { "coupon_redemption_id", couponRedemptionId } };
var url = this.InterpolatePath("/accounts/{account_id}/coupon_redemptions/{coupon_redemption_id}", urlParams);
return MakeRequest<CouponRedemption>(Method.GET, url, null, null, options);
}



/// <summary>
/// Show the coupon redemption <see href="https://developers.recurly.com/api/v2021-02-25#operation/get_coupon_redemption">get_coupon_redemption api documentation</see>
/// </summary>
/// <param name="GetCouponRedemptionParams">Optional Parameters for the request</param>
/// <returns>
/// A coupon redemption.
/// </returns>
/// <exception cref="Recurly.Errors.ApiError">Thrown when the request is invalid.</exception>
public Task<CouponRedemption> GetCouponRedemptionAsync(string accountId, string couponRedemptionId, CancellationToken cancellationToken = default(CancellationToken), RequestOptions options = null)
{
var urlParams = new Dictionary<string, object> { { "account_id", accountId }, { "coupon_redemption_id", couponRedemptionId } };
var url = this.InterpolatePath("/accounts/{account_id}/coupon_redemptions/{coupon_redemption_id}", urlParams);
return MakeRequestAsync<CouponRedemption>(Method.GET, url, null, null, options, cancellationToken);
}



/// <summary>
/// Delete the coupon redemption <see href="https://developers.recurly.com/api/v2021-02-25#operation/remove_coupon_redemption_by_id">remove_coupon_redemption_by_id api documentation</see>
/// </summary>
/// <param name="RemoveCouponRedemptionByIdParams">Optional Parameters for the request</param>
/// <returns>
/// Coupon redemption deleted.
/// </returns>
/// <exception cref="Recurly.Errors.ApiError">Thrown when the request is invalid.</exception>
public CouponRedemption RemoveCouponRedemptionById(string accountId, string couponRedemptionId, RequestOptions options = null)
{
var urlParams = new Dictionary<string, object> { { "account_id", accountId }, { "coupon_redemption_id", couponRedemptionId } };
var url = this.InterpolatePath("/accounts/{account_id}/coupon_redemptions/{coupon_redemption_id}", urlParams);
return MakeRequest<CouponRedemption>(Method.DELETE, url, null, null, options);
}



/// <summary>
/// Delete the coupon redemption <see href="https://developers.recurly.com/api/v2021-02-25#operation/remove_coupon_redemption_by_id">remove_coupon_redemption_by_id api documentation</see>
/// </summary>
/// <param name="RemoveCouponRedemptionByIdParams">Optional Parameters for the request</param>
/// <returns>
/// Coupon redemption deleted.
/// </returns>
/// <exception cref="Recurly.Errors.ApiError">Thrown when the request is invalid.</exception>
public Task<CouponRedemption> RemoveCouponRedemptionByIdAsync(string accountId, string couponRedemptionId, CancellationToken cancellationToken = default(CancellationToken), RequestOptions options = null)
{
var urlParams = new Dictionary<string, object> { { "account_id", accountId }, { "coupon_redemption_id", couponRedemptionId } };
var url = this.InterpolatePath("/accounts/{account_id}/coupon_redemptions/{coupon_redemption_id}", urlParams);
return MakeRequestAsync<CouponRedemption>(Method.DELETE, url, null, null, options, cancellationToken);
}



/// <summary>
/// List an account's credit payments <see href="https://developers.recurly.com/api/v2021-02-25#operation/list_account_credit_payments">list_account_credit_payments api documentation</see>
/// </summary>
Expand Down Expand Up @@ -4578,6 +4646,74 @@ public Pager<CouponRedemption> ListSubscriptionCouponRedemptions(string subscrip



/// <summary>
/// Show the coupon redemption for a subscription <see href="https://developers.recurly.com/api/v2021-02-25#operation/get_subscription_coupon_redemption">get_subscription_coupon_redemption api documentation</see>
/// </summary>
/// <param name="GetSubscriptionCouponRedemptionParams">Optional Parameters for the request</param>
/// <returns>
/// The coupon redemption on a subscription.
/// </returns>
/// <exception cref="Recurly.Errors.ApiError">Thrown when the request is invalid.</exception>
public CouponRedemption GetSubscriptionCouponRedemption(string subscriptionId, string couponRedemptionId, RequestOptions options = null)
{
var urlParams = new Dictionary<string, object> { { "subscription_id", subscriptionId }, { "coupon_redemption_id", couponRedemptionId } };
var url = this.InterpolatePath("/subscriptions/{subscription_id}/coupon_redemptions/{coupon_redemption_id}", urlParams);
return MakeRequest<CouponRedemption>(Method.GET, url, null, null, options);
}



/// <summary>
/// Show the coupon redemption for a subscription <see href="https://developers.recurly.com/api/v2021-02-25#operation/get_subscription_coupon_redemption">get_subscription_coupon_redemption api documentation</see>
/// </summary>
/// <param name="GetSubscriptionCouponRedemptionParams">Optional Parameters for the request</param>
/// <returns>
/// The coupon redemption on a subscription.
/// </returns>
/// <exception cref="Recurly.Errors.ApiError">Thrown when the request is invalid.</exception>
public Task<CouponRedemption> GetSubscriptionCouponRedemptionAsync(string subscriptionId, string couponRedemptionId, CancellationToken cancellationToken = default(CancellationToken), RequestOptions options = null)
{
var urlParams = new Dictionary<string, object> { { "subscription_id", subscriptionId }, { "coupon_redemption_id", couponRedemptionId } };
var url = this.InterpolatePath("/subscriptions/{subscription_id}/coupon_redemptions/{coupon_redemption_id}", urlParams);
return MakeRequestAsync<CouponRedemption>(Method.GET, url, null, null, options, cancellationToken);
}



/// <summary>
/// Delete the coupon redemption from a subscription <see href="https://developers.recurly.com/api/v2021-02-25#operation/remove_subscription_coupon_redemption">remove_subscription_coupon_redemption api documentation</see>
/// </summary>
/// <param name="RemoveSubscriptionCouponRedemptionParams">Optional Parameters for the request</param>
/// <returns>
/// Coupon redemption deleted.
/// </returns>
/// <exception cref="Recurly.Errors.ApiError">Thrown when the request is invalid.</exception>
public CouponRedemption RemoveSubscriptionCouponRedemption(string subscriptionId, string couponRedemptionId, RequestOptions options = null)
{
var urlParams = new Dictionary<string, object> { { "subscription_id", subscriptionId }, { "coupon_redemption_id", couponRedemptionId } };
var url = this.InterpolatePath("/subscriptions/{subscription_id}/coupon_redemptions/{coupon_redemption_id}", urlParams);
return MakeRequest<CouponRedemption>(Method.DELETE, url, null, null, options);
}



/// <summary>
/// Delete the coupon redemption from a subscription <see href="https://developers.recurly.com/api/v2021-02-25#operation/remove_subscription_coupon_redemption">remove_subscription_coupon_redemption api documentation</see>
/// </summary>
/// <param name="RemoveSubscriptionCouponRedemptionParams">Optional Parameters for the request</param>
/// <returns>
/// Coupon redemption deleted.
/// </returns>
/// <exception cref="Recurly.Errors.ApiError">Thrown when the request is invalid.</exception>
public Task<CouponRedemption> RemoveSubscriptionCouponRedemptionAsync(string subscriptionId, string couponRedemptionId, CancellationToken cancellationToken = default(CancellationToken), RequestOptions options = null)
{
var urlParams = new Dictionary<string, object> { { "subscription_id", subscriptionId }, { "coupon_redemption_id", couponRedemptionId } };
var url = this.InterpolatePath("/subscriptions/{subscription_id}/coupon_redemptions/{coupon_redemption_id}", urlParams);
return MakeRequestAsync<CouponRedemption>(Method.DELETE, url, null, null, options, cancellationToken);
}



/// <summary>
/// List a subscription add-on's usage records <see href="https://developers.recurly.com/api/v2021-02-25#operation/list_usage">list_usage api documentation</see>
/// </summary>
Expand Down
45 changes: 45 additions & 0 deletions Recurly/Constants.cs
Original file line number Diff line number Diff line change
Expand Up @@ -944,6 +944,51 @@ public enum CreditApplicationMode

};

public enum CreditApplicationAllowedOriginType
{
Undefined = 0,

[EnumMember(Value = "line_item_refund")]
LineItemRefund,

[EnumMember(Value = "open_amount_refund")]
OpenAmountRefund,

[EnumMember(Value = "immediate_change")]
ImmediateChange,

[EnumMember(Value = "termination")]
Termination,

[EnumMember(Value = "credit")]
Credit,

[EnumMember(Value = "write_off")]
WriteOff,

[EnumMember(Value = "refund")]
Refund,

[EnumMember(Value = "external_refund")]
ExternalRefund,

[EnumMember(Value = "carryforward_credit")]
CarryforwardCredit,

[EnumMember(Value = "usage_correction")]
UsageCorrection,

[EnumMember(Value = "prepayment")]
Prepayment,

[EnumMember(Value = "gift_card")]
GiftCard,

[EnumMember(Value = "carryforward_gift_credit")]
CarryforwardGiftCredit,

};

public enum InvoiceRefundType
{
Undefined = 0,
Expand Down
88 changes: 88 additions & 0 deletions Recurly/IClient.cs
Original file line number Diff line number Diff line change
Expand Up @@ -573,6 +573,50 @@ public interface IClient
/// <exception cref="Recurly.Errors.ApiError">Thrown when the request is invalid.</exception>
Task<CouponRedemption> RemoveCouponRedemptionAsync(string accountId, CancellationToken cancellationToken = default(CancellationToken), RequestOptions options = null);

/// <summary>
/// Show the coupon redemption <see href="https://developers.recurly.com/api/v2021-02-25#operation/get_coupon_redemption">get_coupon_redemption api documentation</see>
/// </summary>
/// <param name="accountId">Account ID or code. For ID no prefix is used e.g. `e28zov4fw0v2`. For code use prefix `code-`, e.g. `code-bob`.</param>
/// <param name="couponRedemptionId">Coupon Redemption ID or UUID. For ID no prefix is used e.g. `e28zov4fw0v2`. For UUID use prefix `uuid-`, e.g. `uuid-123457890`.</param>
/// <returns>
/// A coupon redemption.
/// </returns>
/// <exception cref="Recurly.Errors.ApiError">Thrown when the request is invalid.</exception>
CouponRedemption GetCouponRedemption(string accountId, string couponRedemptionId, RequestOptions options = null);

/// <summary>
/// Show the coupon redemption <see href="https://developers.recurly.com/api/v2021-02-25#operation/get_coupon_redemption">get_coupon_redemption api documentation</see>
/// </summary>
/// <param name="accountId">Account ID or code. For ID no prefix is used e.g. `e28zov4fw0v2`. For code use prefix `code-`, e.g. `code-bob`.</param>
/// <param name="couponRedemptionId">Coupon Redemption ID or UUID. For ID no prefix is used e.g. `e28zov4fw0v2`. For UUID use prefix `uuid-`, e.g. `uuid-123457890`.</param>
/// <returns>
/// A coupon redemption.
/// </returns>
/// <exception cref="Recurly.Errors.ApiError">Thrown when the request is invalid.</exception>
Task<CouponRedemption> GetCouponRedemptionAsync(string accountId, string couponRedemptionId, CancellationToken cancellationToken = default(CancellationToken), RequestOptions options = null);

/// <summary>
/// Delete the coupon redemption <see href="https://developers.recurly.com/api/v2021-02-25#operation/remove_coupon_redemption_by_id">remove_coupon_redemption_by_id api documentation</see>
/// </summary>
/// <param name="accountId">Account ID or code. For ID no prefix is used e.g. `e28zov4fw0v2`. For code use prefix `code-`, e.g. `code-bob`.</param>
/// <param name="couponRedemptionId">Coupon Redemption ID or UUID. For ID no prefix is used e.g. `e28zov4fw0v2`. For UUID use prefix `uuid-`, e.g. `uuid-123457890`.</param>
/// <returns>
/// Coupon redemption deleted.
/// </returns>
/// <exception cref="Recurly.Errors.ApiError">Thrown when the request is invalid.</exception>
CouponRedemption RemoveCouponRedemptionById(string accountId, string couponRedemptionId, RequestOptions options = null);

/// <summary>
/// Delete the coupon redemption <see href="https://developers.recurly.com/api/v2021-02-25#operation/remove_coupon_redemption_by_id">remove_coupon_redemption_by_id api documentation</see>
/// </summary>
/// <param name="accountId">Account ID or code. For ID no prefix is used e.g. `e28zov4fw0v2`. For code use prefix `code-`, e.g. `code-bob`.</param>
/// <param name="couponRedemptionId">Coupon Redemption ID or UUID. For ID no prefix is used e.g. `e28zov4fw0v2`. For UUID use prefix `uuid-`, e.g. `uuid-123457890`.</param>
/// <returns>
/// Coupon redemption deleted.
/// </returns>
/// <exception cref="Recurly.Errors.ApiError">Thrown when the request is invalid.</exception>
Task<CouponRedemption> RemoveCouponRedemptionByIdAsync(string accountId, string couponRedemptionId, CancellationToken cancellationToken = default(CancellationToken), RequestOptions options = null);

/// <summary>
/// List an account's credit payments <see href="https://developers.recurly.com/api/v2021-02-25#operation/list_account_credit_payments">list_account_credit_payments api documentation</see>
/// </summary>
Expand Down Expand Up @@ -2971,6 +3015,50 @@ public interface IClient
Pager<CouponRedemption> ListSubscriptionCouponRedemptions(string subscriptionId, ListSubscriptionCouponRedemptionsParams optionalParams = null, RequestOptions options = null);


/// <summary>
/// Show the coupon redemption for a subscription <see href="https://developers.recurly.com/api/v2021-02-25#operation/get_subscription_coupon_redemption">get_subscription_coupon_redemption api documentation</see>
/// </summary>
/// <param name="subscriptionId">Subscription ID or UUID. For ID no prefix is used e.g. `e28zov4fw0v2`. For UUID use prefix `uuid-`, e.g. `uuid-123457890`.</param>
/// <param name="couponRedemptionId">Coupon Redemption ID or UUID. For ID no prefix is used e.g. `e28zov4fw0v2`. For UUID use prefix `uuid-`, e.g. `uuid-123457890`.</param>
/// <returns>
/// The coupon redemption on a subscription.
/// </returns>
/// <exception cref="Recurly.Errors.ApiError">Thrown when the request is invalid.</exception>
CouponRedemption GetSubscriptionCouponRedemption(string subscriptionId, string couponRedemptionId, RequestOptions options = null);

/// <summary>
/// Show the coupon redemption for a subscription <see href="https://developers.recurly.com/api/v2021-02-25#operation/get_subscription_coupon_redemption">get_subscription_coupon_redemption api documentation</see>
/// </summary>
/// <param name="subscriptionId">Subscription ID or UUID. For ID no prefix is used e.g. `e28zov4fw0v2`. For UUID use prefix `uuid-`, e.g. `uuid-123457890`.</param>
/// <param name="couponRedemptionId">Coupon Redemption ID or UUID. For ID no prefix is used e.g. `e28zov4fw0v2`. For UUID use prefix `uuid-`, e.g. `uuid-123457890`.</param>
/// <returns>
/// The coupon redemption on a subscription.
/// </returns>
/// <exception cref="Recurly.Errors.ApiError">Thrown when the request is invalid.</exception>
Task<CouponRedemption> GetSubscriptionCouponRedemptionAsync(string subscriptionId, string couponRedemptionId, CancellationToken cancellationToken = default(CancellationToken), RequestOptions options = null);

/// <summary>
/// Delete the coupon redemption from a subscription <see href="https://developers.recurly.com/api/v2021-02-25#operation/remove_subscription_coupon_redemption">remove_subscription_coupon_redemption api documentation</see>
/// </summary>
/// <param name="subscriptionId">Subscription ID or UUID. For ID no prefix is used e.g. `e28zov4fw0v2`. For UUID use prefix `uuid-`, e.g. `uuid-123457890`.</param>
/// <param name="couponRedemptionId">Coupon Redemption ID or UUID. For ID no prefix is used e.g. `e28zov4fw0v2`. For UUID use prefix `uuid-`, e.g. `uuid-123457890`.</param>
/// <returns>
/// Coupon redemption deleted.
/// </returns>
/// <exception cref="Recurly.Errors.ApiError">Thrown when the request is invalid.</exception>
CouponRedemption RemoveSubscriptionCouponRedemption(string subscriptionId, string couponRedemptionId, RequestOptions options = null);

/// <summary>
/// Delete the coupon redemption from a subscription <see href="https://developers.recurly.com/api/v2021-02-25#operation/remove_subscription_coupon_redemption">remove_subscription_coupon_redemption api documentation</see>
/// </summary>
/// <param name="subscriptionId">Subscription ID or UUID. For ID no prefix is used e.g. `e28zov4fw0v2`. For UUID use prefix `uuid-`, e.g. `uuid-123457890`.</param>
/// <param name="couponRedemptionId">Coupon Redemption ID or UUID. For ID no prefix is used e.g. `e28zov4fw0v2`. For UUID use prefix `uuid-`, e.g. `uuid-123457890`.</param>
/// <returns>
/// Coupon redemption deleted.
/// </returns>
/// <exception cref="Recurly.Errors.ApiError">Thrown when the request is invalid.</exception>
Task<CouponRedemption> RemoveSubscriptionCouponRedemptionAsync(string subscriptionId, string couponRedemptionId, CancellationToken cancellationToken = default(CancellationToken), RequestOptions options = null);

/// <summary>
/// List a subscription add-on's usage records <see href="https://developers.recurly.com/api/v2021-02-25#operation/list_usage">list_usage api documentation</see>
/// </summary>
Expand Down
4 changes: 4 additions & 0 deletions Recurly/Resources/CouponRedemption.cs
Original file line number Diff line number Diff line change
Expand Up @@ -60,5 +60,9 @@ public class CouponRedemption : Resource
[JsonProperty("updated_at")]
public DateTime? UpdatedAt { get; set; }

/// <value>The UUID is useful for matching data with the CSV exports and building URLs into Recurly's UI.</value>
[JsonProperty("uuid")]
public string Uuid { get; set; }

}
}
Loading
Loading