Class: Orb::Resources::Coupons
- Inherits:
-
Object
- Object
- Orb::Resources::Coupons
- Defined in:
- lib/orb/resources/coupons.rb,
lib/orb/resources/coupons/subscriptions.rb,
sig/orb/resources/coupons.rbs,
sig/orb/resources/coupons/subscriptions.rbs
Overview
A coupon represents a reusable discount configuration that can be applied either as a fixed or percentage amount to an invoice or subscription. Coupons are activated using a redemption code, which applies the discount to a subscription or invoice. The duration of a coupon determines how long it remains available for use by end users.
Defined Under Namespace
Classes: Subscriptions
Instance Attribute Summary collapse
-
#subscriptions ⇒ Orb::Resources::Coupons::Subscriptions
readonly
A coupon represents a reusable discount configuration that can be applied either as a fixed or percentage amount to an invoice or subscription.
Instance Method Summary collapse
-
#archive(coupon_id, request_options: {}) ⇒ Orb::Models::Coupon
This endpoint allows a coupon to be archived.
-
#create(discount:, redemption_code:, duration_in_months: nil, max_redemptions: nil, request_options: {}) ⇒ Orb::Models::Coupon
Some parameter documentations has been truncated, see Models::CouponCreateParams for more details.
-
#fetch(coupon_id, request_options: {}) ⇒ Orb::Models::Coupon
This endpoint retrieves a coupon by its ID.
-
#initialize(client:) ⇒ Coupons
constructor
private
A new instance of Coupons.
-
#list(cursor: nil, limit: nil, redemption_code: nil, show_archived: nil, request_options: {}) ⇒ Orb::Internal::Page<Orb::Models::Coupon>
Some parameter documentations has been truncated, see Models::CouponListParams for more details.
Constructor Details
#initialize(client:) ⇒ Coupons
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Returns a new instance of Coupons.
127 128 129 130 |
# File 'lib/orb/resources/coupons.rb', line 127 def initialize(client:) @client = client @subscriptions = Orb::Resources::Coupons::Subscriptions.new(client: client) end |
Instance Attribute Details
#subscriptions ⇒ Orb::Resources::Coupons::Subscriptions (readonly)
A coupon represents a reusable discount configuration that can be applied either as a fixed or percentage amount to an invoice or subscription. Coupons are activated using a redemption code, which applies the discount to a subscription or invoice. The duration of a coupon determines how long it remains available for use by end users.
17 18 19 |
# File 'lib/orb/resources/coupons.rb', line 17 def subscriptions @subscriptions end |
Instance Method Details
#archive(coupon_id, request_options: {}) ⇒ Orb::Models::Coupon
This endpoint allows a coupon to be archived. Archived coupons can no longer be redeemed, and will be hidden from lists of active coupons. Additionally, once a coupon is archived, its redemption code can be reused for a different coupon.
94 95 96 97 98 99 100 101 |
# File 'lib/orb/resources/coupons.rb', line 94 def archive(coupon_id, params = {}) @client.request( method: :post, path: ["coupons/%1$s/archive", coupon_id], model: Orb::Coupon, options: params[:request_options] ) end |
#create(discount:, redemption_code:, duration_in_months: nil, max_redemptions: nil, request_options: {}) ⇒ Orb::Models::Coupon
Some parameter documentations has been truncated, see Models::CouponCreateParams for more details.
This endpoint allows the creation of coupons, which can then be redeemed at subscription creation or plan change.
40 41 42 43 |
# File 'lib/orb/resources/coupons.rb', line 40 def create(params) parsed, = Orb::CouponCreateParams.dump_request(params) @client.request(method: :post, path: "coupons", body: parsed, model: Orb::Coupon, options: ) end |
#fetch(coupon_id, request_options: {}) ⇒ Orb::Models::Coupon
This endpoint retrieves a coupon by its ID. To fetch coupons by their redemption code, use the List coupons endpoint with the redemption_code parameter.
115 116 117 118 119 120 121 122 |
# File 'lib/orb/resources/coupons.rb', line 115 def fetch(coupon_id, params = {}) @client.request( method: :get, path: ["coupons/%1$s", coupon_id], model: Orb::Coupon, options: params[:request_options] ) end |
#list(cursor: nil, limit: nil, redemption_code: nil, show_archived: nil, request_options: {}) ⇒ Orb::Internal::Page<Orb::Models::Coupon>
Some parameter documentations has been truncated, see Models::CouponListParams for more details.
This endpoint returns a list of all coupons for an account in a list format.
The list of coupons is ordered starting from the most recently created coupon.
The response also includes pagination_metadata, which lets the caller retrieve
the next page of results if they exist.
69 70 71 72 73 74 75 76 77 78 79 80 |
# File 'lib/orb/resources/coupons.rb', line 69 def list(params = {}) parsed, = Orb::CouponListParams.dump_request(params) query = Orb::Internal::Util.encode_query_params(parsed) @client.request( method: :get, path: "coupons", query: query, page: Orb::Internal::Page, model: Orb::Coupon, options: ) end |