AppManager.configure do |config| config.enable_caching = false # Optional, True to enable app-manager api response caching, default is enabled from gem config.expires_in = 1.days # Optional, Example: 30.seconds, 5.minutes or 2.days Default caching is for 1.days from gem config.app_url = '' # App URL like https://volumediscount.hulkapps.dev/ or #https://5044-2409-4052-209a-69da-9d7-925a-9418-a9c3.ngrok.io config.shopify_api_key = '' # Shopify api key of app config.shopify_api_version = '' # Must be 2022-04 or latest config.shopify_table_name = 'shops' # Table name which is generated by shopify mostly it is 'shops' config.shopify_domain_field = 'shopify_domain' #shopify domain field config.plan_id_or_name_field = 'plan_id' config.shopify_app_slug = '' #Add your app slug here config.field_names = { 'name' => 'shopify_domain', # demo-rahul-tiwari.myshopify.com 'shopify_email' => 'email', # rahul.t@hulkapps.com 'shopify_token' => 'shopify_token', 'shopify_plan' => 'shopify_plan', # partner_test 'plan_id' => 'plan_id', # 1. t 'created_at' => 'created_at', # 2022-04-15 10:43:05 'trial_activated_at' => 'trial_activated_at', # field name that stores trial start/activated date 'grandfathered' => 'grandfathered', 'total_trial_days' => '' #optional, put a trial days field from your shops table otherwise leave it blank } config.plan_features = [ { "uuid" => "b48a3a6c-c1fb-11ec-9d64-0242ac120002", "name" => "Features 1", "slug" => "feature-1", "description" => "Feature Description", "value_type" => "integer", "format" => "count", "display_order" => 1, "hidden_feature" => false, "group_order" => "1", "group" => "Group Name", }, { "uuid" => "9f18f95a-bfaf-11ec-9d64-0242ac120002", "name" => "Features 2", "slug" => "feature-2", "description" => "Feature Description", "value_type" => "boolean", "format" => "percentage", "display_order" => 2, "hidden_feature" => false, "group_order" => "1", "group" => "Group Name", }, { "uuid" => "9f190a26-bfaf-11ec-9d64-0242ac120002", "name" => "Features 3", "slug" => "feature-3", "description" => "Feature Description", "value_type" => "string", "format" => "string", "display_order" => 3, "hidden_feature" => false, "group_order" => "1", "group" => "Group Name", }, { "uuid" => "9f191340-bfaf-11ec-9d64-0242ac12000", "name" => "Features 4", "slug" => "feature-4", "description" => "Feature Description", "value_type" => "array", "values" => [ "val-1" => "val 1", "val-2" => "val 2", "val-3" => "val 3", ], "format" => "string", "display_order" => 4, "hidden_feature" => false, "group_order" => "1", "group" => "Group Name", } ] end #Required, Values type : integer, boolean, string, array # #Format: percentage, count, string ################################################# # Following method receives payload after charge created functionality. Use this for 'MauticCall' # payload contains plan, charge and previous_charge ActiveSupport::Notifications.subscribe "charge_created" do |name, start, finish, id, payload| Rails.logger.debug "========APP MANAGER=========" Rails.logger.debug "DATA : #{payload}" #payload hash contains 3 keys, "plan", "charge", "previous_charge" and an extra key "choose_later" => "true" renders when clicked on choose later Rails.logger.debug "========APP MANAGER=========" end