Skip to content

Repository files navigation

Stripefy

Get your model ready to interact with Stripe.com and its ruby gem stripe

Installation

Include 'gem install stripefy' in your Gemfile and run bundle.

Usage

There are 2 ways to use this gem. You can either have subscriptions, or one time payments (pending).

Subscriptions

First, you need to associate your model to a customer in Stripe.com. To do this, let's first generate a migration to add a new field to your model

 rails g migration Model stripe_id:string

You can use any name you like for the field to save the customer id. We recommend using stripe_id.

Now you need to go to your Stripe.com control panel and create one or several plans you will be charging users with. Write down the ids of those plans.

Now it's time to stripefy your model to have access to all the awesome features Stripe provides.

class Model < ActiveRecord::Base stripefy :subscription

stripefy :subscription, :stripe_customer_id

end

stripefy accepts 2 parameters. The first one is the type of payments you want to handle, whether it is :subscription or :one_time_payment, for this case use subscriptions. The last parameter is also optional and is the field to store the customer id, by default it is :stripe_id

Creating your customer

Available methods

 create_stripe_customer(token, plan, email, args)

This method will create a customer for stripe and add it to the instance you are calling this method from. There are no required arguments, you can just create a customer with out parameters. For simplicity i have split the arguments from the api, showing only the most common once and leaving the rest in the optional args dictionary.

If you place a plan and a token, the user will be charged inmediately and the account will be considered active.

Example: u = User.create(:email => "test@test.com") u.create_stripe_customer("CARD_TOKEN", u.stripe, u.email) u.stripe_customer # TODO: Returns STRIPE CUSTOMER

 create_subscription(plan, token=nil)

Returns true if a subscription within the given plan for the user could be created, false if it couldn't be created. The token is optional as it will try to use the stripe customer card.

 stripe_customer

Returns the Stripe::Customer object for the instance.

 stripe_active?

Returns true if the user has a subscription to a plan and has a current payment.

 stripe_subscribed?

Returns true if the user is currently subscribed to some plan. It doesn't mean necessarily that the user is active, just subscribed.

 stripe_charges

Returns a list of all the charges made to the user.

 stripe_cancel_subscription(active_until_payment_due)

Cancels the subscription of a user. Unless you pass it a true parameter, the account will be made inactive immediately, otherwise it will be made inactive the date the last payment is due.

 stripe_update_customer(plan_id)

Changes costumer plan to the plan with the id specified in the plan id parameter.

TODO

  • One Time payments
  • Handle plans creation

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
GitHub - 39/stripefy · GitHub
Skip to content

Repository files navigation

Stripefy

Get your model ready to interact with Stripe.com and its ruby gem stripe

Installation

Include 'gem install stripefy' in your Gemfile and run bundle.

Usage

There are 2 ways to use this gem. You can either have subscriptions, or one time payments (pending).

Subscriptions

First, you need to associate your model to a customer in Stripe.com. To do this, let's first generate a migration to add a new field to your model

 rails g migration Model stripe_id:string

You can use any name you like for the field to save the customer id. We recommend using stripe_id.

Now you need to go to your Stripe.com control panel and create one or several plans you will be charging users with. Write down the ids of those plans.

Now it's time to stripefy your model to have access to all the awesome features Stripe provides.

class Model < ActiveRecord::Base stripefy :subscription

stripefy :subscription, :stripe_customer_id

end

stripefy accepts 2 parameters. The first one is the type of payments you want to handle, whether it is :subscription or :one_time_payment, for this case use subscriptions. The last parameter is also optional and is the field to store the customer id, by default it is :stripe_id

Creating your customer

Available methods

 create_stripe_customer(token, plan, email, args)

This method will create a customer for stripe and add it to the instance you are calling this method from. There are no required arguments, you can just create a customer with out parameters. For simplicity i have split the arguments from the api, showing only the most common once and leaving the rest in the optional args dictionary.

If you place a plan and a token, the user will be charged inmediately and the account will be considered active.

Example: u = User.create(:email => "test@test.com") u.create_stripe_customer("CARD_TOKEN", u.stripe, u.email) u.stripe_customer # TODO: Returns STRIPE CUSTOMER

 create_subscription(plan, token=nil)

Returns true if a subscription within the given plan for the user could be created, false if it couldn't be created. The token is optional as it will try to use the stripe customer card.

 stripe_customer

Returns the Stripe::Customer object for the instance.

 stripe_active?

Returns true if the user has a subscription to a plan and has a current payment.

 stripe_subscribed?

Returns true if the user is currently subscribed to some plan. It doesn't mean necessarily that the user is active, just subscribed.

 stripe_charges

Returns a list of all the charges made to the user.

 stripe_cancel_subscription(active_until_payment_due)

Cancels the subscription of a user. Unless you pass it a true parameter, the account will be made inactive immediately, otherwise it will be made inactive the date the last payment is due.

 stripe_update_customer(plan_id)

Changes costumer plan to the plan with the id specified in the plan id parameter.

TODO

  • One Time payments
  • Handle plans creation

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - 39/stripefy · GitHub
Skip to content

Repository files navigation

Stripefy

Get your model ready to interact with Stripe.com and its ruby gem stripe

Installation

Include 'gem install stripefy' in your Gemfile and run bundle.

Usage

There are 2 ways to use this gem. You can either have subscriptions, or one time payments (pending).

Subscriptions

First, you need to associate your model to a customer in Stripe.com. To do this, let's first generate a migration to add a new field to your model

 rails g migration Model stripe_id:string

You can use any name you like for the field to save the customer id. We recommend using stripe_id.

Now you need to go to your Stripe.com control panel and create one or several plans you will be charging users with. Write down the ids of those plans.

Now it's time to stripefy your model to have access to all the awesome features Stripe provides.

class Model < ActiveRecord::Base stripefy :subscription

stripefy :subscription, :stripe_customer_id

end

stripefy accepts 2 parameters. The first one is the type of payments you want to handle, whether it is :subscription or :one_time_payment, for this case use subscriptions. The last parameter is also optional and is the field to store the customer id, by default it is :stripe_id

Creating your customer

Available methods

 create_stripe_customer(token, plan, email, args)

This method will create a customer for stripe and add it to the instance you are calling this method from. There are no required arguments, you can just create a customer with out parameters. For simplicity i have split the arguments from the api, showing only the most common once and leaving the rest in the optional args dictionary.

If you place a plan and a token, the user will be charged inmediately and the account will be considered active.

Example: u = User.create(:email => "test@test.com") u.create_stripe_customer("CARD_TOKEN", u.stripe, u.email) u.stripe_customer # TODO: Returns STRIPE CUSTOMER

 create_subscription(plan, token=nil)

Returns true if a subscription within the given plan for the user could be created, false if it couldn't be created. The token is optional as it will try to use the stripe customer card.

 stripe_customer

Returns the Stripe::Customer object for the instance.

 stripe_active?

Returns true if the user has a subscription to a plan and has a current payment.

 stripe_subscribed?

Returns true if the user is currently subscribed to some plan. It doesn't mean necessarily that the user is active, just subscribed.

 stripe_charges

Returns a list of all the charges made to the user.

 stripe_cancel_subscription(active_until_payment_due)

Cancels the subscription of a user. Unless you pass it a true parameter, the account will be made inactive immediately, otherwise it will be made inactive the date the last payment is due.

 stripe_update_customer(plan_id)

Changes costumer plan to the plan with the id specified in the plan id parameter.

TODO

  • One Time payments
  • Handle plans creation

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - 39/stripefy · GitHub
Skip to content

Repository files navigation

Stripefy

Get your model ready to interact with Stripe.com and its ruby gem stripe

Installation

Include 'gem install stripefy' in your Gemfile and run bundle.

Usage

There are 2 ways to use this gem. You can either have subscriptions, or one time payments (pending).

Subscriptions

First, you need to associate your model to a customer in Stripe.com. To do this, let's first generate a migration to add a new field to your model

 rails g migration Model stripe_id:string

You can use any name you like for the field to save the customer id. We recommend using stripe_id.

Now you need to go to your Stripe.com control panel and create one or several plans you will be charging users with. Write down the ids of those plans.

Now it's time to stripefy your model to have access to all the awesome features Stripe provides.

class Model < ActiveRecord::Base stripefy :subscription

stripefy :subscription, :stripe_customer_id

end

stripefy accepts 2 parameters. The first one is the type of payments you want to handle, whether it is :subscription or :one_time_payment, for this case use subscriptions. The last parameter is also optional and is the field to store the customer id, by default it is :stripe_id

Creating your customer

Available methods

 create_stripe_customer(token, plan, email, args)

This method will create a customer for stripe and add it to the instance you are calling this method from. There are no required arguments, you can just create a customer with out parameters. For simplicity i have split the arguments from the api, showing only the most common once and leaving the rest in the optional args dictionary.

If you place a plan and a token, the user will be charged inmediately and the account will be considered active.

Example: u = User.create(:email => "test@test.com") u.create_stripe_customer("CARD_TOKEN", u.stripe, u.email) u.stripe_customer # TODO: Returns STRIPE CUSTOMER

 create_subscription(plan, token=nil)

Returns true if a subscription within the given plan for the user could be created, false if it couldn't be created. The token is optional as it will try to use the stripe customer card.

 stripe_customer

Returns the Stripe::Customer object for the instance.

 stripe_active?

Returns true if the user has a subscription to a plan and has a current payment.

 stripe_subscribed?

Returns true if the user is currently subscribed to some plan. It doesn't mean necessarily that the user is active, just subscribed.

 stripe_charges

Returns a list of all the charges made to the user.

 stripe_cancel_subscription(active_until_payment_due)

Cancels the subscription of a user. Unless you pass it a true parameter, the account will be made inactive immediately, otherwise it will be made inactive the date the last payment is due.

 stripe_update_customer(plan_id)

Changes costumer plan to the plan with the id specified in the plan id parameter.

TODO

  • One Time payments
  • Handle plans creation

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' GitHub - 39/stripefy · GitHub
Skip to content

Repository files navigation

Stripefy

Get your model ready to interact with Stripe.com and its ruby gem stripe

Installation

Include 'gem install stripefy' in your Gemfile and run bundle.

Usage

There are 2 ways to use this gem. You can either have subscriptions, or one time payments (pending).

Subscriptions

First, you need to associate your model to a customer in Stripe.com. To do this, let's first generate a migration to add a new field to your model

 rails g migration Model stripe_id:string

You can use any name you like for the field to save the customer id. We recommend using stripe_id.

Now you need to go to your Stripe.com control panel and create one or several plans you will be charging users with. Write down the ids of those plans.

Now it's time to stripefy your model to have access to all the awesome features Stripe provides.

class Model < ActiveRecord::Base stripefy :subscription

stripefy :subscription, :stripe_customer_id

end

stripefy accepts 2 parameters. The first one is the type of payments you want to handle, whether it is :subscription or :one_time_payment, for this case use subscriptions. The last parameter is also optional and is the field to store the customer id, by default it is :stripe_id

Creating your customer

Available methods

 create_stripe_customer(token, plan, email, args)

This method will create a customer for stripe and add it to the instance you are calling this method from. There are no required arguments, you can just create a customer with out parameters. For simplicity i have split the arguments from the api, showing only the most common once and leaving the rest in the optional args dictionary.

If you place a plan and a token, the user will be charged inmediately and the account will be considered active.

Example: u = User.create(:email => "test@test.com") u.create_stripe_customer("CARD_TOKEN", u.stripe, u.email) u.stripe_customer # TODO: Returns STRIPE CUSTOMER

 create_subscription(plan, token=nil)

Returns true if a subscription within the given plan for the user could be created, false if it couldn't be created. The token is optional as it will try to use the stripe customer card.

 stripe_customer

Returns the Stripe::Customer object for the instance.

 stripe_active?

Returns true if the user has a subscription to a plan and has a current payment.

 stripe_subscribed?

Returns true if the user is currently subscribed to some plan. It doesn't mean necessarily that the user is active, just subscribed.

 stripe_charges

Returns a list of all the charges made to the user.

 stripe_cancel_subscription(active_until_payment_due)

Cancels the subscription of a user. Unless you pass it a true parameter, the account will be made inactive immediately, otherwise it will be made inactive the date the last payment is due.

 stripe_update_customer(plan_id)

Changes costumer plan to the plan with the id specified in the plan id parameter.

TODO

  • One Time payments
  • Handle plans creation

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - 39/stripefy · GitHub
Skip to content

Repository files navigation

Stripefy

Get your model ready to interact with Stripe.com and its ruby gem stripe

Installation

Include 'gem install stripefy' in your Gemfile and run bundle.

Usage

There are 2 ways to use this gem. You can either have subscriptions, or one time payments (pending).

Subscriptions

First, you need to associate your model to a customer in Stripe.com. To do this, let's first generate a migration to add a new field to your model

 rails g migration Model stripe_id:string

You can use any name you like for the field to save the customer id. We recommend using stripe_id.

Now you need to go to your Stripe.com control panel and create one or several plans you will be charging users with. Write down the ids of those plans.

Now it's time to stripefy your model to have access to all the awesome features Stripe provides.

class Model < ActiveRecord::Base stripefy :subscription

stripefy :subscription, :stripe_customer_id

end

stripefy accepts 2 parameters. The first one is the type of payments you want to handle, whether it is :subscription or :one_time_payment, for this case use subscriptions. The last parameter is also optional and is the field to store the customer id, by default it is :stripe_id

Creating your customer

Available methods

 create_stripe_customer(token, plan, email, args)

This method will create a customer for stripe and add it to the instance you are calling this method from. There are no required arguments, you can just create a customer with out parameters. For simplicity i have split the arguments from the api, showing only the most common once and leaving the rest in the optional args dictionary.

If you place a plan and a token, the user will be charged inmediately and the account will be considered active.

Example: u = User.create(:email => "test@test.com") u.create_stripe_customer("CARD_TOKEN", u.stripe, u.email) u.stripe_customer # TODO: Returns STRIPE CUSTOMER

 create_subscription(plan, token=nil)

Returns true if a subscription within the given plan for the user could be created, false if it couldn't be created. The token is optional as it will try to use the stripe customer card.

 stripe_customer

Returns the Stripe::Customer object for the instance.

 stripe_active?

Returns true if the user has a subscription to a plan and has a current payment.

 stripe_subscribed?

Returns true if the user is currently subscribed to some plan. It doesn't mean necessarily that the user is active, just subscribed.

 stripe_charges

Returns a list of all the charges made to the user.

 stripe_cancel_subscription(active_until_payment_due)

Cancels the subscription of a user. Unless you pass it a true parameter, the account will be made inactive immediately, otherwise it will be made inactive the date the last payment is due.

 stripe_update_customer(plan_id)

Changes costumer plan to the plan with the id specified in the plan id parameter.

TODO

  • One Time payments
  • Handle plans creation

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - 39/stripefy · GitHub
Skip to content

Repository files navigation

Stripefy

Get your model ready to interact with Stripe.com and its ruby gem stripe

Installation

Include 'gem install stripefy' in your Gemfile and run bundle.

Usage

There are 2 ways to use this gem. You can either have subscriptions, or one time payments (pending).

Subscriptions

First, you need to associate your model to a customer in Stripe.com. To do this, let's first generate a migration to add a new field to your model

 rails g migration Model stripe_id:string

You can use any name you like for the field to save the customer id. We recommend using stripe_id.

Now you need to go to your Stripe.com control panel and create one or several plans you will be charging users with. Write down the ids of those plans.

Now it's time to stripefy your model to have access to all the awesome features Stripe provides.

class Model < ActiveRecord::Base stripefy :subscription

stripefy :subscription, :stripe_customer_id

end

stripefy accepts 2 parameters. The first one is the type of payments you want to handle, whether it is :subscription or :one_time_payment, for this case use subscriptions. The last parameter is also optional and is the field to store the customer id, by default it is :stripe_id

Creating your customer

Available methods

 create_stripe_customer(token, plan, email, args)

This method will create a customer for stripe and add it to the instance you are calling this method from. There are no required arguments, you can just create a customer with out parameters. For simplicity i have split the arguments from the api, showing only the most common once and leaving the rest in the optional args dictionary.

If you place a plan and a token, the user will be charged inmediately and the account will be considered active.

Example: u = User.create(:email => "test@test.com") u.create_stripe_customer("CARD_TOKEN", u.stripe, u.email) u.stripe_customer # TODO: Returns STRIPE CUSTOMER

 create_subscription(plan, token=nil)

Returns true if a subscription within the given plan for the user could be created, false if it couldn't be created. The token is optional as it will try to use the stripe customer card.

 stripe_customer

Returns the Stripe::Customer object for the instance.

 stripe_active?

Returns true if the user has a subscription to a plan and has a current payment.

 stripe_subscribed?

Returns true if the user is currently subscribed to some plan. It doesn't mean necessarily that the user is active, just subscribed.

 stripe_charges

Returns a list of all the charges made to the user.

 stripe_cancel_subscription(active_until_payment_due)

Cancels the subscription of a user. Unless you pass it a true parameter, the account will be made inactive immediately, otherwise it will be made inactive the date the last payment is due.

 stripe_update_customer(plan_id)

Changes costumer plan to the plan with the id specified in the plan id parameter.

TODO

  • One Time payments
  • Handle plans creation

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); GitHub - 39/stripefy · GitHub
Skip to content

Repository files navigation

Stripefy

Get your model ready to interact with Stripe.com and its ruby gem stripe

Installation

Include 'gem install stripefy' in your Gemfile and run bundle.

Usage

There are 2 ways to use this gem. You can either have subscriptions, or one time payments (pending).

Subscriptions

First, you need to associate your model to a customer in Stripe.com. To do this, let's first generate a migration to add a new field to your model

 rails g migration Model stripe_id:string

You can use any name you like for the field to save the customer id. We recommend using stripe_id.

Now you need to go to your Stripe.com control panel and create one or several plans you will be charging users with. Write down the ids of those plans.

Now it's time to stripefy your model to have access to all the awesome features Stripe provides.

class Model < ActiveRecord::Base stripefy :subscription

stripefy :subscription, :stripe_customer_id

end

stripefy accepts 2 parameters. The first one is the type of payments you want to handle, whether it is :subscription or :one_time_payment, for this case use subscriptions. The last parameter is also optional and is the field to store the customer id, by default it is :stripe_id

Creating your customer

Available methods

 create_stripe_customer(token, plan, email, args)

This method will create a customer for stripe and add it to the instance you are calling this method from. There are no required arguments, you can just create a customer with out parameters. For simplicity i have split the arguments from the api, showing only the most common once and leaving the rest in the optional args dictionary.

If you place a plan and a token, the user will be charged inmediately and the account will be considered active.

Example: u = User.create(:email => "test@test.com") u.create_stripe_customer("CARD_TOKEN", u.stripe, u.email) u.stripe_customer # TODO: Returns STRIPE CUSTOMER

 create_subscription(plan, token=nil)

Returns true if a subscription within the given plan for the user could be created, false if it couldn't be created. The token is optional as it will try to use the stripe customer card.

 stripe_customer

Returns the Stripe::Customer object for the instance.

 stripe_active?

Returns true if the user has a subscription to a plan and has a current payment.

 stripe_subscribed?

Returns true if the user is currently subscribed to some plan. It doesn't mean necessarily that the user is active, just subscribed.

 stripe_charges

Returns a list of all the charges made to the user.

 stripe_cancel_subscription(active_until_payment_due)

Cancels the subscription of a user. Unless you pass it a true parameter, the account will be made inactive immediately, otherwise it will be made inactive the date the last payment is due.

 stripe_update_customer(plan_id)

Changes costumer plan to the plan with the id specified in the plan id parameter.

TODO

  • One Time payments
  • Handle plans creation

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages