Skip to content

Instantly share code, notes, and snippets.

@v-fedorov
v-fedorov / gist:3935699
Created October 23, 2012 00:06
PaypalGateway
opening connection to api-3t.sandbox.paypal.com...
opened
<- "POST /2.0/ HTTP/1.1\r\nContent-Type: application/x-www-form-urlencoded\r\nAccept: */*\r\nUser-Agent: Ruby\r\nConnection: close\r\nHost: api-3t.sandbox.paypal.com\r\nContent-Length: 2084\r\n\r\n"
<- "<?xml version=\"1.0\" encoding=\"UTF-8\"?><env:Envelope xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:env=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"><env:Header><RequesterCredentials xmlns=\"urn:ebay:api:PayPalAPI\" xmlns:n1=\"urn:ebay:apis:eBLBaseComponents\" env:mustUnderstand=\"0\"><n1:Credentials><Username>vfedor_1350949605_biz_api1.netflexity.com</Username><Password>1350949632</Password><Subject/><Signature>AS9H6pq36bxQVVDf6bJSWWGeMVfeAl.1OeD5yjuU9mKmHF7uh5PvkkJZ</Signature></n1:Credentials></RequesterCredentials></env:Header><env:Body><DoDirectPaymentReq xmlns=\"urn:ebay:api:PayPalAPI\">\n <DoDirectPaymentRequest xmlns:n2=\"urn:ebay:apis:eBLBaseComponents\">\n <n2:Version>72</n2
source 'https://rubygems.org'
gem 'rails', '3.2.8'
# These are needed for sidekiq
gem 'sidekiq'
gem 'sinatra', require: false
gem 'slim'
gem 'capistrano'
source 'https://rubygems.org'
gem 'rails', '3.2.8'
# These are needed for sidekiq
gem 'sidekiq'
gem 'sinatra', require: false
gem 'slim'
gem 'capistrano'
module Spree
CheckoutController.class_eval do
before_filter :redirect_to_paypal_express_form_if_needed, :only => [:update]
def paypal_checkout
load_order
opts = all_opts(@order, params[:payment_method_id], 'checkout')
opts.merge!(address_options(@order))
@gateway = paypal_gateway
Spree::Core::Engine.routes.draw do
resources :orders do
resource :checkout, :controller => 'checkout' do
member do
get :paypal_checkout
get :paypal_payment
get :paypal_confirm
post :paypal_finish
end
end
module Spree
class PaypalExpressCallbacksController < Spree::BaseController
include ActiveMerchant::Billing::Integrations
skip_before_filter :verify_authenticity_token
require 'httparty'
require 'json'
ssl_required
def notify
class PdfExport
@queue = :export_data
require 'prawn'
def self.perform(warehouse_id)
Prawn::Document.generate("orders#{warehouse_id}.pdf",
:page_layout => :landscape) do
orders = Spree::Order.all #TODO scope for unshipped orders
@export_hash = {}
def as_json(options)
super(:only => [:id, :name, :description, :permalink, :starts_at, :ends_at],
:methods => [:list_image_url, :upcoming_image_url, :main_image_url])
end
<div class="front_page">
<div id="wrapper">
<div class = "frontpage_header">
<div id="header">
<a class="logo" href="#">PHYSALIFE</a>
<div class="slogan">
Your physical therapy.<br />
Anywhere.<br />
Anytime.
</div>
Spree::Admin::ReportsController.class_eval do
Spree::Admin::ReportsController::AVAILABLE_REPORTS.merge!(
:expediter => { :name => 'Expediter Orders', :description => "Expediter's Report - what to ship" }
)
def expediter
@orders = Spree::Order.where(:shipment_state => "ready", :payment_state => "paid")
respond_to do |format|