Sha256: 820df5a8d4ddf73e865e7fd77a7184c9571313502e3d9daab97690131a2d5ea5

Contents?: true

Size: 1.74 KB

Versions: 20

Compression:

Stored size: 1.74 KB

Contents

configure do
  # Usage: rackup -Ilib -E test
  if development? or test?
    Killbill::PaypalExpress.initialize! unless Killbill::PaypalExpress.initialized
  end
end

helpers do
  def plugin
    Killbill::PaypalExpress::PrivatePaymentPlugin.instance
  end
end

after do
  # return DB connections to the Pool if required
  ActiveRecord::Base.connection.close
end

# curl -v -XPOST http://127.0.0.1:9292/plugins/killbill-paypal-express/1.0/setup-checkout --data-binary '{"kb_account_id":"a6b33ba1"}'
post '/plugins/killbill-paypal-express/1.0/setup-checkout', :provides => 'json' do
  begin
    data = JSON.parse request.body.read
  rescue JSON::ParserError => e
    halt 400, {'Content-Type' => 'text/plain'}, "Invalid payload: #{e}"
  end

  response = plugin.initiate_express_checkout data['kb_account_id'],
                                              data['amount_in_cents'] || 0,
                                              data['currency'] || 'USD',
                                              (data['options'] || {}).deep_symbolize_keys
  unless response.success?
    status 500
    response.message
  else
    redirect response.to_express_checkout_url
  end
end

# curl -v http://127.0.0.1:9292/plugins/killbill-paypal-express/1.0/pms/1
get '/plugins/killbill-paypal-express/1.0/pms/:id', :provides => 'json' do
  if pm = Killbill::PaypalExpress::PaypalExpressPaymentMethod.find_by_id(params[:id].to_i)
    pm.to_json
  else
    status 404
  end
end

# curl -v http://127.0.0.1:9292/plugins/killbill-paypal-express/1.0/transactions/1
get '/plugins/killbill-paypal-express/1.0/transactions/:id', :provides => 'json' do
  if transaction = Killbill::PaypalExpress::PaypalExpressTransaction.find_by_id(params[:id].to_i)
    transaction.to_json
  else
    status 404
  end
end

Version data entries

20 entries across 20 versions & 1 rubygems

Version Path
killbill-paypal-express-1.7.0 lib/paypal_express/config/application.rb
killbill-paypal-express-1.6.7 lib/paypal_express/config/application.rb
killbill-paypal-express-1.6.6 lib/paypal_express/config/application.rb
killbill-paypal-express-1.6.5 lib/paypal_express/config/application.rb
killbill-paypal-express-1.6.4 lib/paypal_express/config/application.rb
killbill-paypal-express-1.6.3 lib/paypal_express/config/application.rb
killbill-paypal-express-1.6.2 lib/paypal_express/config/application.rb
killbill-paypal-express-1.6.1 lib/paypal_express/config/application.rb
killbill-paypal-express-1.6.0 lib/paypal_express/config/application.rb
killbill-paypal-express-1.5.4 lib/paypal_express/config/application.rb
killbill-paypal-express-1.5.3 lib/paypal_express/config/application.rb
killbill-paypal-express-1.5.2 lib/paypal_express/config/application.rb
killbill-paypal-express-1.5.1 lib/paypal_express/config/application.rb
killbill-paypal-express-1.5.0 lib/paypal_express/config/application.rb
killbill-paypal-express-1.4.1 lib/paypal_express/config/application.rb
killbill-paypal-express-1.4.0 lib/paypal_express/config/application.rb
killbill-paypal-express-1.3.0 lib/paypal_express/config/application.rb
killbill-paypal-express-1.2.0 lib/paypal_express/config/application.rb
killbill-paypal-express-1.1.0 lib/paypal_express/config/application.rb
killbill-paypal-express-1.0.17 lib/paypal_express/config/application.rb