Skip to content

Instantly share code, notes, and snippets.

@fedeagripa
fedeagripa / cc_controller.rb
Created May 28, 2020 14:46
credit_card_controller
# app/controllers/api/v1/credit_cards_controller.rb
module Api
module V1
class CreditCardsController < Api::V1::ApiController
helper_method :shop
def index
service = StripeService.new(shop)
@card = service.credit_card_info
@customer = service.customer
@fedeagripa
fedeagripa / stripe_service.rb
Created May 28, 2020 14:45
rails_stripe_service
# app/services/stripe_service.rb
require 'stripe'
class StripeService
class StripeException < StandardError
end
attr_reader :shop
@fedeagripa
fedeagripa / billing_form.js
Last active May 28, 2020 15:24
billing_form
import {
CardNumberElement,
CardExpiryElement,
CardCVCElement,
injectStripe
} from 'react-stripe-elements';
import uuid from 'uuid/v1';
/* Your other imports for a usual form */
@fedeagripa
fedeagripa / stripe.js
Created May 28, 2020 14:34
react_stripe_init
import React from 'react';
import { Elements, StripeProvider } from 'react-stripe-elements';
const withStripe = (WrappedComponent) => {
const Stripe = props => (
<StripeProvider apiKey={process.env.stripe_key}>
<Elements
fonts={[{
cssSrc: 'https://fonts.googleapis.com/css?family=Roboto:300,300i,400,500,600'
}]}
@fedeagripa
fedeagripa / stripe.rb
Created May 28, 2020 13:44
rails_stripe_initializer
# config/intializers/stripe.rb
Rails.configuration.stripe = {
publishable_key: ENV['STRIPE_PUBLISHABLE_KEY'],
secret_key: ENV['STRIPE_SECRET_KEY']
}
Stripe.api_key = Rails.configuration.stripe[:secret_key]