Code Monkey home page Code Monkey logo

rayvinly / active_merchant Goto Github PK

View Code? Open in Web Editor NEW

This project forked from activemerchant/active_merchant

52.0 3.0 18.0 5.35 MB

Active Merchant is a simple payment abstraction library used in and sponsored by Shopify. It is written by Tobias Luetke, Cody Fauser, and contributors. The aim of the project is to feel natural to Ruby users and to abstract as many parts as possible away from the user to offer a consistent interface across all supported gateways. Added support for PayPal recurring payment with the SOAP API.

Home Page: <a href="http://rayvinly.com/articles/2009/02/20/paypal-recurring-billing-with-activemerchant-in-ruby-on-rails/">http://rayvinly.com/articles/2009/02/20/paypal-recurring-billing-with-activemerchant-in-ruby-on-rails/</a>

License: MIT License

Ruby 100.00%

active_merchant's Introduction

= Active Merchant

This library is supposed to aid in creating e-commerce software in Ruby.
In the future we want to support all "good" payment gateways.

This library is the foundation of commerce for http://www.shopify.com.

Please visit the {ActiveMerchant homepage}[http://activemerchant.org] for more resources, tutorials and other information about this project.

== Supported Direct Payment Gateways

The {ActiveMerchant Wiki}[http://github.com/Shopify/active_merchant/wikis] contains a {table of features supported by each gateway}[http://github.com/Shopify/active_merchant/wikis/gatewayfeaturematrix].

* {Authorize.Net CIM}[http://www.authorize.net/] - US
* {Authorize.Net}[http://www.authorize.net/] - US
* {Beanstream.com}[http://www.beanstream.com/] - CA
* {Braintree}[http://www.braintreepaymentsolutions.com] - US
* {CardStream}[http://www.cardstream.com/] - GB
* {CyberSource}[http://www.cybersource.com] - US
* {DataCash}[http://www.datacash.com/] - GB
* {Efsnet}[http://www.concordefsnet.com/] - US
* {eWAY}[http://www.eway.com.au/] - AU
* {E-xact}[http://www.e-xact.com] - CA, US
* {LinkPoint}[http://www.linkpoint.com/] - US
* {Merchant e-Solutions}[http://merchante-solutions.com/] - US
* {Modern Payments}[http://www.modpay.com] - US
* {Moneris}[http://www.moneris.com/] - CA
* {NetRegistry}[http://www.netregistry.com.au] - AU
* {NETbilling}[http://www.netbilling.com] - US
* {PayJunction}[http://www.payjunction.com/] - US
* {PaySecure}[http://www.commsecure.com.au/paysecure.shtml] - AU
* {PayPal Express Checkout}[https://www.paypal.com/cgi-bin/webscr?cmd=xpt/merchant/ExpressCheckoutIntro-outside] - US, CA, SG, AU
* {PayPal Payflow Pro}[https://www.paypal.com/cgi-bin/webscr?cmd=_payflow-pro-overview-outside] - US, CA, SG, AU
* {PayPal Website Payments Pro (UK)}[https://www.paypal.com/uk/cgi-bin/webscr?cmd=_wp-pro-overview-outside] - GB
* {PaymentExpress}[http://www.paymentexpress.com/] - AU, MY, NZ, SG, ZA, GB, US
* {PayPal Website Payments Pro (CA)}[https://www.paypal.com/cgi-bin/webscr?cmd=_wp-pro-overview-outside] - CA
* {PayPal Express Checkout}[https://www.paypal.com/cgi-bin/webscr?cmd=xpt/merchant/ExpressCheckoutIntro-outside] - US
* {PayPal Website Payments Pro (US)}[https://www.paypal.com/cgi-bin/webscr?cmd=_wp-pro-overview-outside] - US
* {Plug'n Pay}[http://www.plugnpay.com/] - US
* {Protx}[http://www.protx.com] - GB
* {Psigate}[http://www.psigate.com/] - CA
* {PSL Payment Solutions}[http://www.paymentsolutionsltd.com/] - GB
* {Quickpay}[http://quickpay.dk/] - DK
* {Realex}[http://www.realexpayments.com/] - IE, GB
* {Sage Payment Solutions}[http://www.sagepayments.com] - US, CA
* {Sallie Mae}[http://www.salliemae.com] - US
* {SecurePay}[http://securepay.com.au] - AU
* {SecurePay}[http://www.securepay.com/] - US
* {SecurePayTech}[http://www.securepaytech.com/] - NZ
* {SkipJack}[http://www.skipjack.com/] - US, CA
* {TransFirst}[http://www.transfirst.com/] - US
* {TrustCommerce}[http://www.trustcommerce.com/] - US
* {USA ePay}[http://www.usaepay.com/] - US
* {Verifi}[http://www.verifi.com/] - US
* {ViaKLIX}[http://viaklix.com] - US
* {Wirecard}[http://www.wirecard.com] - DE

== Supported Offsite Payment Gateways

* {PayPal Website Payments Standard}[https://www.paypal.com/cgi-bin/webscr?cmd=_wp-standard-overview-outside]
* Chronopay[http://www.chronopay.com]
* Nochex[http://www.nochex.com]
* {Banca Sella GestPay}[https://www.sella.it/banca/ecommerce/gestpay/gestpay.jsp]
* {2 Checkout}[http://www.2checkout.com]
* {HiTRUST}[http://www.hitrust.com.hk/]

== Download

Currently this library is available with git from:

  git://github.com/Shopify/active_merchant.git

== Installation

=== From Git

You can check out the latest source from git:

  > git pull git://github.com/Shopify/active_merchant.git

=== As a Rails plugin

ActiveMerchant includes an init.rb file. This means that Rails will automatically load ActiveMerchant on startup. Run the following command from the root directory of your Rails project to install ActiveMerchant as a Rails plugin:

  > ./script/plugin install git://github.com/Shopify/active_merchant.git

=== From Ruby Gems

Installation from RubyGems

  > gem install activemerchant

== Sample Usage
  require 'rubygems'
  require 'active_merchant'

  # Use the TrustCommerce test servers
  ActiveMerchant::Billing::Base.mode = :test

  # ActiveMerchant accepts all amounts as Integer values in cents
  # $10.00
  amount = 1000

  # The card verification value is also known as CVV2, CVC2, or CID 
  credit_card = ActiveMerchant::Billing::CreditCard.new(
                  :first_name         => 'Bob',
                  :last_name          => 'Bobsen',
                  :number             => '4242424242424242',
                  :month              => '8',
                  :year               => '2012',
                  :verification_value => '123'
                )

  # Validating the card automatically detects the card type
  if credit_card.valid?

    # Create a gateway object for the TrustCommerce service
    gateway = ActiveMerchant::Billing::TrustCommerceGateway.new(
                :login => 'TestMerchant',
                :password => 'password'
              )

    # Authorize for the amount
    response = gateway.purchase(amount, credit_card)

    if response.success?
      puts "Successfully charged $#{sprintf("%.2f", amount / 100)} to the credit card #{credit_card.display_number}"
    else
      raise StandardError, response.message 
    end
  end

== Contributing

Please see the {ActiveMerchant Guide to Contributing}[http://github.com/Shopify/active_merchant/wikis/contributing] for information on adding a new gateway to ActiveMerchant.

active_merchant's People

Contributors

bjeanes avatar bowsersenior avatar bschwartz avatar calvincorreli avatar dball avatar duff avatar erictarn avatar guynaor avatar iamjwc avatar infused avatar jamesmacaulay avatar jimmybaker avatar jzw avatar mdh avatar mmangino avatar nzkoz avatar pdsphil avatar rayvinly avatar rmcafee avatar robbyrussell avatar soleone avatar swindsor avatar tekin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

active_merchant's Issues

SetExpressCheckout

It seems like some time after the comments on your blog post, SetExpressCheckout has begun functioning properly for PayPal Recurring payments. I was able to comment out the versions of setup_agreement and build_setup_request which use SetCustomerBillingAgreement, and uncomment the versions which use SetExpressCheckout, and it worked first try.

I'm not completely fluent in PayPal Express, but the winning difference for me is that SetExpressCheckout takes the NoShipping parameter, which excludes the shipping address section of the confirmation page.

Is it time to switch to SetExpressCheckout, or should there be some sort of option?

bill_outstanding_amount not working properly!?

I have successfully created a profile_id and when i try to use bill_outstanding_amount(profile_id, :amount => 10, :currency => "USD") i get a response.message that says "Profile ID is missing from the request"

However, the profile_id exists and is a valid and active one, I tested it with get_profile_details(profile_id)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.