Class: Paddle::Classic::CouponsResource

Inherits:
Resource
  • Object
show all
Defined in:
lib/paddle/classic/resources/coupons.rb

Instance Attribute Summary

Attributes inherited from Resource

#client

Instance Method Summary collapse

Methods inherited from Resource

#initialize

Constructor Details

This class inherits a constructor from Paddle::Classic::Resource

Instance Method Details

#create(coupon_type:, discount_type:, discount_amount:, **params) ⇒ Object



9
10
11
12
13
14
15
16
17
# File 'lib/paddle/classic/resources/coupons.rb', line 9

def create(coupon_type:, discount_type:, discount_amount:, **params)
  attrs = { coupon_type: coupon_type, discount_type: discount_type, discount_amount: discount_amount }

  response = post_request("2.1/product/create_coupon", body: attrs.merge(params))

  coupons =  response.body["response"]["coupon_codes"]

  coupons.map { |c| Paddle::Coupon.new(code: c) }
end

#delete(coupon_code:, product_id:) ⇒ Object



19
20
21
22
23
# File 'lib/paddle/classic/resources/coupons.rb', line 19

def delete(coupon_code:, product_id:)
  attrs = { coupon_code: coupon_code, product_id: product_id }
  response = post_request("2.0/product/delete_coupon", body: attrs)
  true if response.success?
end

#list(product_id:) ⇒ Object



4
5
6
7
# File 'lib/paddle/classic/resources/coupons.rb', line 4

def list(product_id:)
  response = post_request("2.0/product/list_coupons", body: { product_id: product_id })
  Collection.from_response(response, type: Coupon)
end

#update(**params) ⇒ Object



25
26
27
28
# File 'lib/paddle/classic/resources/coupons.rb', line 25

def update(**params)
  response = post_request("2.1/product/update_coupon", body: params)
  true if response.success?
end