Slideshow transcript
Slide 1: Payments On Rails E-xact Transactions (emil@e-xact.com)
Slide 2: <introduction> Hello
Slide 3: E-xactly, who?
Slide 4: Payment Processor
Slide 5: 1-866-733-8613. Vancouver, BC
Slide 7: :founded => 1999, :per_year => 3B.dollars, :team => (2..8)
Slide 8: Me?
Slide 9: About </introduction>
Slide 10: <exactonrails> Merchants | E-xact | Payment Network
Slide 11: special && !special
Slide 12: “Non-special” • Standard Rails platform • Plugins - Solr, cache_fu, will_paginate etc. • Capistrano / Webistrano • SQL Backend
Slide 13: Apache Proxy (mod_security, mod_proxy_balancer,...) | ||| lighttpd/fastcgi Rails
Slide 14: “Special” • Mission Critical Financial services • High Volume Transactions Processing • Rails to the “Enterprise”
Slide 15: “Big Rewrite”
Slide 16: Win32 (.NET)
Slide 17: Why Rails?
Slide 18: 2006
Slide 19: 2006 Fall
Slide 20: 2007 Spring
Slide 21: Migrated 5K Customers
Slide 22: Customers
Slide 23: RPM
Slide 24: Primary Provider For </exactonrails>
Slide 25: <api> api.e-xact.com
Slide 26: gem install exact4r
Slide 27: # build a purchase request request = Exact::Request.new({ :transaction_type => "00", # purchase :amount => 10.50, :cardholder_name => "Simon Brown", :cc_number => "4111111111111111", :cc_expiry => "1005", # MUST be YYMM format :gateway_id => "XXXXXXX", # which gateway to submit the request to :password => "YYYYYY" # your password for that gateway }) response = request.submit
Slide 28: Response response.transaction_tag # 1234 response.exact_resp_code # "00" response.exact_message # "Transaction Normal" response.bank_resp_code # "00" response.bank_message # "APPROVED"
Slide 29: :rest || :json || :soap
Slide 30: SOAP (legacy)
Slide 31: REST XML (default)
Slide 32: JSON
Slide 33: uri = URI.parse('https://api.e-xact.com') http = Net::HTTP.new(uri.host, uri.port) req_headers= { 'Content-Type' => 'application/json; charset=utf-8' } req = {} req[:amount] = 100.to_s req[:cardholder_name] = 'Fred Hanks' req[:email_address] = 'fred@acme.org' req[:address] = '2000 Elm street' req[:cc_number] = '4111111111111111' req[:cc_expiry] = '0907' req[:transaction_type] = :purchase req[:gateway_id] = 'XXXXXX' req[:password] = 'YYYYYYY' response = http.request_post(uri.path, req.to_json, req_headers) res = ActiveSupport::JSON.decode(response) assert_equal 1, res['transaction_approved'], res.inspect
Slide 34: Transaction set • Purchase • Refund • Pre-authorization, completion • Void • Debit • ....
Slide 35: Tagged Transaction
Slide 36: API | Cardholder Data | E-xact </api>
Slide 37: <payment_pages> Payment Pages
Slide 39: $ rails store create create app/controllers create app/helpers create app/models create app/views/layouts create config/environments create config/initializers create db create doc create lib create lib/tasks create log ....
Slide 40: $ ./script/install active_merchant (http://activemerchant.org)
Slide 41: patch -p0 < am.patch (http://www.e-xact.com/developers/downloads/#ActiveMerch)
Slide 43: Merchant Site | checkout.e-xact.com | Cardholder Data </payment_pages>
Slide 44: Summary
Slide 45: Questions?
Slide 46: Contact



Add a comment on Slide 1
If you have a SlideShare account, login to comment; else you can comment as a guest- Favorites & Groups
Showing 1-50 of 1 (more)