Class: PayU::Subscription

Inherits:
Object
  • Object
show all
Includes:
Resource
Defined in:
lib/pay_u/subscription.rb

Constant Summary collapse

ENDPOINT =
"rest/v#{PayU::API_VERSION}/subscriptions".freeze

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Resource

#create_url, #delete, included, #save

Class Method Details

.new_from_api(params) ⇒ Object



21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/pay_u/subscription.rb', line 21

def self.new_from_api(params)
  subscription = super(params)

  subscription.extra_1 = params["extra1"]
  subscription.extra_2 = params["extra2"]
  subscription.current_period_start = Time.at(params["currentPeriodStart"] / 1000)
  subscription.current_period_end = Time.at(params["currentPeriodEnd"] / 1000)

  subscription.plan = PayU::Plan.new_from_api(params["plan"])
  subscription.customer = PayU::Customer.new_from_api(params["customer"])

  subscription
end

Instance Method Details

#to_paramsObject



36
37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'lib/pay_u/subscription.rb', line 36

def to_params
  {
    quantity: quantity,
    installments: installments,
    trialDays: trial_days,
    immediatePayment: immediate_payment,
    extra1: extra_1,
    extra2: extra_2,
    customer: customer.to_params,
    plan: plan.to_params,
    deliveryAddress: delivery_address,
    notifyUrl: notify_url,
  }
end

#to_update_paramsObject



52
53
54
55
56
# File 'lib/pay_u/subscription.rb', line 52

def to_update_params
  {
    creditCardToken: customer.credit_cards.first.token,
  }
end