TWik-E-Commerce App
--
Contributors: TravisBarker
Discussion
I have a client who is currently using a popular Open source e-Commerce "site" to quickly list and manage Retail items for sale online. This E-Commerce Application includes a shopping cart module which connects to Authorize.net (Merchant P.O.S.) through their public and published API. I am interested in taking a look at this API (and hopefully with some help) build a twiki form/app which is capable of performing a similar task.
I am curious to know how much interest the TWiki community at large may have in developing such a plugin/add-on/TWikiApp, or if any solutions are currently in use in the field or, perhaps, under development already.
--
TravisBarker - 15 May 2006
I would like to see the App meet the Standards set forth by the
Authorize.net Shopping Cart Certification Program
. Dev guides are located at
http://developer.authorize.net/guides/
--
TravisBarker - 15 May 2006
Requires:
- Establish a SSL connection (Shopping cart must have an ssl digital certificate)
- Provide both server and client side encryption
- Develop and securely store scripts on a Web server for the integration to the gateway
- Securely store and pass the merchant's transaction key
Form must
- Securely obtain all of the required information from the end user (retail customer)
- Initate a secure HTTPS POST from the TWiki server to https://secure.authorize.net/gateway/transact.dll
on port 443
- Receive the response from the gateway and process the response to display the appropriate result to the costomer browser or client.
Minimum API form NAME/VALUE pairs required for authorize.net
- x_login merchants login ID
- x_tran_key Merchant's Transaction Key
- x_method Payment method (CC)
- x_type Type of transaction (AUTH, CAPTURE, AUTH_ONLY, CAPTURE_ONLY, CREDIT, VOID, PRIOR_AUTH, CAPTURE)
- x_ammount = Amount of purchase inclusive of tax
- x_delim_data = TRUE
- x_delim_char = any valid character
- x_version = 3.1
- x_relay_response = FALSE
- x_card_num = Customer's credit card number
- x_exp_date = Customer's credit card expiration date
- x_card_code = Any valid CVV2, CVC2, or CID value
- x_first_name = Customers first name
- x_last_name = Customers last name
- x_address Customer's street address
- x_city = City for the customer's address
- x_state = State for the customer's address
- x_country = country for the customer's address
- x_phone = Customer's phone number
- x_email = Customer's e mail address
- x_customer_ip = Customer's IP address
--
TravisBarker - 15 May 2006
Goal:
Create working model of simple example below:
Product X, M.S.R.P. $0.95
--
TravisBarker - 15 May 2006
Travis, I too would like this feature very much - if you need / want help you know where I am
--
SvenDowideit - 16 May 2006
First, lets browse sourceforge and the like for existing authorize.net Perl code and learn what we can aboutexisting solutions.
--
TravisBarker - 03 Jun 2006
Sourceforge has Python, VB, C#, PHP and Java implementations (everything
but Perl)
--
TravisBarker - 03 Jun 2006
found cpan Business::Cart
when running install I got the following
Warning: prerequisite Date::Manip 0 not found.
Warning: prerequisite IO::Tty 0 not found.
Warning: prerequisite Parse::Yapp::Driver 0 not found.
Warning: prerequisite XML::DOM 0 not found.
Warning: prerequisite XML::Parser::PerlSAX 0 not found.
Writing Makefile for junoscript-perl
---- Unsatisfied dependencies detected during [J/JU/JUNOS/junoscript-perl-6.4I0.tar.gz] -----
IO::Tty
XML::DOM
XML::Parser::PerlSAX
Date::Manip
Parse::Yapp::Driver
--
TravisBarker - 03 Jun 2006
Found PERLAUTHNET SIM, they want about $40 per domain or 280 for unlimited domain use
--
TravisBarker - 03 Jun 2006
This leads me to believe we would be better off to produce our own solution. I am Currently in the process of submitting a request to authorize.net for (AIM) API perl "sample code" see
http://developer.authorize.net/samplecode/
for details.
--
TravisBarker - 07 Jun 2006
FYI authorize.net posted the following disclaimer in reference to the sample code "DISCLAIMER: The sample code described herein is provided on an “as is” basis, without warranty of any kind, to the fullest extent permitted by law. Authorize.Net does not warrant or guarantee the individual success developers may have in implementing the sample code on their development platforms or in using their own Web server configurations.
Authorize.Net does not warrant, guarantee or make any representations regarding the use, results of use, accuracy, timeliness or completeness of any data or information relating to the sample code. Authorize.Net disclaims all warranties, express or implied, and in particular, disclaims all warranties of merchantability, fitness for a particular purpose, and warranties related to the code, or any service or software related thereto.
Authorize.Net shall not be liable for any direct, indirect or consequential damages or costs of any type arising out of any action taken by you or others related to the sample code."
--
TravisBarker - 07 Jun 2006
here
is the sample code .pl
--
TravisBarker - 07 Jun 2006
In addition to the sample code, I have submitted a request for a test account in order to test the Application through its development. authorize.net site states it will have a decision within 48 hours.
--
TravisBarker - 07 Jun 2006
if the Test Account is approved, I will be moving this topic/discussion to
TWikEcommerceAppDev
--
TravisBarker - 07 Jun 2006
The Authorize.net test account has been approved. After about a week this topic will cleaned up and refactored into
TWikEcommerceAppDev pending development completion, at which time this topic will become placeholder for the actual
TWikEcommerceApp package. Please forward any comments to the appropriate topic.
--
TravisBarker - 07 Jun 2006