You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We're currently using chargify_api_ares for a small set of products. The business would like to convert another profit center to use Chargify, but because the products are so different, they've asked to create the products in a new Site.
Because Chargify.config sets the domain/site globally, how would we be able to support using the gem with different Sites? Any suggestions are most appreciated!
The text was updated successfully, but these errors were encountered:
We attempted to solve this by cloning Chargify, but THIS DOES NOT WORK.
In "lib/chargify_sites":
module ChargifySites
def self.acme
@acme ||= Chargify.clone
end
def self.other
@other ||= Chargify.clone
end
end
In an initializer:
ChargifySites.acme.configure do |config|
config.api_key = ENV["CHARGIFY_ACME_API_KEY"]
config.subdomain = ENV["CHARGIFY_ACME_SUBDOMAIN"]
end
ChargifySites.other.configure do |config|
config.api_key = ENV["CHARGIFY_OTHER_ACME_API_KEY"]
config.subdomain = ENV["CHARGIFY_OTHER_ACME_SUBDOMAIN"]
end
# To allow our legacy code to continue working until we convert it to be part of ChargifySite
Chargify.configure do |config|
config.api_key = ENV["CHARGIFY_API_KEY"]
config.subdomain = ENV["CHARGIFY_SUBDOMAIN"]
end
This lets us get objects with different "api_key" and "subdomain" values. However, calls are made through Chargify, meaning you're still stuck with a single site.
Here's an example of why this won't work:
Chargify set to "other"
irb(main):001:0> ENV["CHARGIFY_API_KEY"]
=> "qd...D4"
irb(main):002:0> ChargifySite.other::Subscription.find(:all).count
=> 15
irb(main):003:0> ChargifySite.acme::Subscription.find(:all).count
=> 15
Chargify set to "acme"
irb(main):001:0> Chargify.subdomain
=> "demo-4930603888"
irb(main):002:0> ENV["CHARGIFY_API_KEY"]
=> "Ac..LI"
irb(main):003:0> ChargifySite.other::Subscription.find(:all).count
=> 20
irb(main):004:0> ChargifySite.acme::Subscription.find(:all).count
=> 20
Chargify set to nothing
irb(main):001:0> ENV["CHARGIFY_API_KEY"]
=> "XXXXXXXXXXXXXXXXXXXX"
irb(main):006:0> ChargifySite.other::Subscription.find(:all)
Traceback (most recent call last):
1: from (irb):6
ActiveResource::UnauthorizedAccess (Failed. Response code = 401. Response message = Unauthorized.)
We're currently using chargify_api_ares for a small set of products. The business would like to convert another profit center to use Chargify, but because the products are so different, they've asked to create the products in a new Site.
Because Chargify.config sets the domain/site globally, how would we be able to support using the gem with different Sites? Any suggestions are most appreciated!
The text was updated successfully, but these errors were encountered: