# frozen_string_literal: true

# Payments module
module Payment; end

# Abstract class that must be implemented by each payment gateway.
# Provides methods to create remote objects on the payment gateway
class Payment::Service
  def create_subscription(_payment_schedule, _gateway_object_id); end

  def create_user(_user_id); end

  def create_coupon(_coupon_id); end

  def delete_coupon(_coupon_id); end

  def create_or_update_product(_klass, _id); end

  def process_payment_schedule_item(_payment_schedule_item); end

  def pay_payment_schedule_item(_payment_schedule_item); end
end
