Sha256: dc33304d738ae962dcc644b81440fcdcc15029e395e63c48fc9b12516312c419

Contents?: true

Size: 908 Bytes

Versions: 1

Compression:

Stored size: 908 Bytes

Contents

# frozen_string_literal: true

module PayPro
  class Subscription < Resource
    include PayPro::Operations::Updatable

    RESOURCE_PATH = 'subscriptions'

    def cancel(**options)
      api_request(method: 'delete', uri: resource_url, options: options)
    end

    def pause(**options)
      api_request(method: 'post', uri: "#{resource_url}/pause", options: options)
    end

    def resume(**options)
      api_request(method: 'post', uri: "#{resource_url}/resume", options: options)
    end

    def subscription_periods(**options)
      api_request(
        method: 'get',
        uri: "#{resource_url}/subscription_periods",
        options: options
      )
    end

    def create_subscription_period(body = {}, **options)
      api_request(
        method: 'post',
        uri: "#{resource_url}/subscription_periods",
        body: body.to_json,
        options: options
      )
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
paypro-2.0.0 lib/pay_pro/entities/subscription.rb