Class: CloudpaymentsRuby::Resources::Subscriptions

Inherits:
Object
  • Object
show all
Defined in:
lib/cloudpayments_ruby/resources/subscriptions.rb

Instance Method Summary collapse

Constructor Details

#initialize(client:) ⇒ Subscriptions

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 Subscriptions.

Parameters:



173
174
175
# File 'lib/cloudpayments_ruby/resources/subscriptions.rb', line 173

def initialize(client:)
  @client = client
end

Instance Method Details

#cancel(id:, request_options: {}) ⇒ CloudpaymentsRuby::Models::SubscriptionCancelResponse

Отмена подписки на рекуррентные платежи

Отменяет активную подписку. Дальнейшие автоматические списания прекращаются.

Parameters:

Returns:

See Also:



111
112
113
114
115
116
117
118
119
120
# File 'lib/cloudpayments_ruby/resources/subscriptions.rb', line 111

def cancel(params)
  parsed, options = CloudpaymentsRuby::SubscriptionCancelParams.dump_request(params)
  @client.request(
    method: :post,
    path: "subscriptions/cancel",
    body: parsed,
    model: CloudpaymentsRuby::Models::SubscriptionCancelResponse,
    options: options
  )
end

#create(account_id:, amount:, currency:, description:, interval:, period:, require_confirmation:, start_date:, token:, customer_receipt: nil, email: nil, max_periods: nil, request_options: {}) ⇒ CloudpaymentsRuby::Models::SubscriptionCreateResponse

Создание подписки на рекуррентные платежи

Создаёт план подписки для автоматического списания средств по указанному расписанию с использованием токена карты.

Parameters:

  • account_id (String)

    Идентификатор пользователя

  • amount (Float)

    Сумма платежа

  • currency (String)

    Валюта

  • description (String)

    Описание платежа

  • interval (String)

    Интервал: Day, Week, Month

  • period (Integer)

    Период (в сочетании с Interval)

  • require_confirmation (Boolean)

    Требуется подтверждение (двухстадийная схема)

  • start_date (Time)

    Дата и время первого платежа (UTC)

  • token (String)

    Токен карты

  • customer_receipt (Object)

    Данные для онлайн-чека

  • email (String)

    Email плательщика

  • max_periods (Integer)

    Максимальное количество платежей

  • request_options (CloudpaymentsRuby::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



42
43
44
45
46
47
48
49
50
51
# File 'lib/cloudpayments_ruby/resources/subscriptions.rb', line 42

def create(params)
  parsed, options = CloudpaymentsRuby::SubscriptionCreateParams.dump_request(params)
  @client.request(
    method: :post,
    path: "subscriptions/create",
    body: parsed,
    model: CloudpaymentsRuby::Models::SubscriptionCreateResponse,
    options: options
  )
end

#find(account_id:, request_options: {}) ⇒ CloudpaymentsRuby::Models::SubscriptionFindResponse

Поиск подписок

Возвращает список подписок для указанного пользователя.

Parameters:

Returns:

See Also:



135
136
137
138
139
140
141
142
143
144
# File 'lib/cloudpayments_ruby/resources/subscriptions.rb', line 135

def find(params)
  parsed, options = CloudpaymentsRuby::SubscriptionFindParams.dump_request(params)
  @client.request(
    method: :post,
    path: "subscriptions/find",
    body: parsed,
    model: CloudpaymentsRuby::Models::SubscriptionFindResponse,
    options: options
  )
end

#get(id:, request_options: {}) ⇒ CloudpaymentsRuby::Models::SubscriptionGetResponse

Запрос информации о подписке

Возвращает текущий статус и параметры подписки.

Parameters:

Returns:

See Also:



159
160
161
162
163
164
165
166
167
168
# File 'lib/cloudpayments_ruby/resources/subscriptions.rb', line 159

def get(params)
  parsed, options = CloudpaymentsRuby::SubscriptionGetParams.dump_request(params)
  @client.request(
    method: :post,
    path: "subscriptions/get",
    body: parsed,
    model: CloudpaymentsRuby::Models::SubscriptionGetResponse,
    options: options
  )
end

#update(id:, amount: nil, culture_name: nil, currency: nil, customer_receipt: nil, description: nil, interval: nil, max_periods: nil, period: nil, require_confirmation: nil, start_date: nil, request_options: {}) ⇒ CloudpaymentsRuby::Models::SubscriptionUpdateResponse

Изменение подписки на рекуррентные платежи

Изменяет параметры существующей подписки. Если подписка была отменена или завершена, изменение любого атрибута приведёт к её реактивации.

Parameters:

  • id (String)

    Идентификатор подписки

  • amount (Float)

    Сумма платежа

  • culture_name (String)

    Язык уведомлений (ru-RU, en-US)

  • currency (String)

    Валюта

  • customer_receipt (Object)

    Данные для онлайн-чека

  • description (String)

    Описание платежа

  • interval (String)

    Интервал: Day, Week, Month

  • max_periods (Integer)

    Максимальное количество платежей

  • period (Integer)

    Период

  • require_confirmation (Boolean)

    Требуется подтверждение

  • start_date (Time)

    Дата и время следующего платежа (UTC)

  • request_options (CloudpaymentsRuby::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



87
88
89
90
91
92
93
94
95
96
# File 'lib/cloudpayments_ruby/resources/subscriptions.rb', line 87

def update(params)
  parsed, options = CloudpaymentsRuby::SubscriptionUpdateParams.dump_request(params)
  @client.request(
    method: :post,
    path: "subscriptions/update",
    body: parsed,
    model: CloudpaymentsRuby::Models::SubscriptionUpdateResponse,
    options: options
  )
end