2021-04-30 16:07:19 +02:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2021-05-31 15:39:56 +02:00
|
|
|
require 'stripe/helper'
|
|
|
|
require 'pay_zen/helper'
|
|
|
|
|
2021-04-30 16:07:19 +02:00
|
|
|
# create remote items on currently active payment gateway
|
|
|
|
class PaymentGatewayService
|
|
|
|
def initialize
|
2021-05-19 18:12:52 +02:00
|
|
|
service = if Stripe::Helper.enabled?
|
|
|
|
require 'stripe/service'
|
|
|
|
Stripe::Service
|
|
|
|
elsif PayZen::Helper.enabled?
|
|
|
|
require 'pay_zen/service'
|
|
|
|
PayZen::Service
|
|
|
|
else
|
|
|
|
require 'payment/service'
|
|
|
|
Payment::Service
|
|
|
|
end
|
|
|
|
@gateway = service.new
|
2021-04-30 16:07:19 +02:00
|
|
|
end
|
|
|
|
|
|
|
|
def create_subscription(payment_schedule, gateway_object_id)
|
|
|
|
@gateway.create_subscription(payment_schedule, gateway_object_id)
|
|
|
|
end
|
|
|
|
|
|
|
|
def create_coupon(coupon_id)
|
|
|
|
@gateway.create_coupon(coupon_id)
|
|
|
|
end
|
|
|
|
|
|
|
|
def delete_coupon(coupon_id)
|
|
|
|
@gateway.delete_coupon(coupon_id)
|
|
|
|
end
|
|
|
|
|
|
|
|
def create_or_update_product(klass, id)
|
|
|
|
@gateway.create_or_update_product(klass, id)
|
|
|
|
end
|
|
|
|
end
|