From: Jonathan Prykop Date: Tue, 7 Jul 2015 02:26:13 +0000 (-0500) Subject: Fixed documentation X-Git-Url: http://git.freeside.biz/gitweb/?p=Business-OnlinePayment-Dummy.git;a=commitdiff_plain;h=6c5f4cf291e36f8f3d54b059c27e077aa6f4869f Fixed documentation --- diff --git a/Dummy.pm b/Dummy.pm index 2e752d3..dcd5496 100644 --- a/Dummy.pm +++ b/Dummy.pm @@ -21,455 +21,15 @@ __END__ =head1 NAME -Business::OnlinePayment::AuthorizeNet - AuthorizeNet backend for Business::OnlinePayment +Business::OnlinePayment::Dummy - Dummy for Business::OnlinePayment =head1 SYNOPSIS - use Business::OnlinePayment; - - #### - # One step transaction, the simple case. - #### - - my $tx = new Business::OnlinePayment("AuthorizeNet"); - $tx->content( - type => 'VISA', - login => 'testdrive', - password => '', #password or transaction key - action => 'Normal Authorization', - description => 'Business::OnlinePayment test', - amount => '49.95', - invoice_number => '100100', - customer_id => 'jsk', - email => 'jason@example.com', - first_name => 'Jason', - last_name => 'Kohles', - address => '123 Anystreet', - city => 'Anywhere', - state => 'UT', - zip => '84058', - country => 'US', - card_number => '4007000000027', - expiration => '09/02', - cvv2 => '1234', #optional - referer => 'http://valid.referer.url/', - ); - $tx->submit(); - - if($tx->is_success()) { - print "Card processed successfully: ".$tx->authorization."\n"; - } else { - print "Card was rejected: ".$tx->error_message."\n"; - } - - #### - # Two step transaction, authorization and capture. - # If you don't need to review order before capture, you can - # process in one step as above. - #### - - my $tx = new Business::OnlinePayment("AuthorizeNet"); - $tx->content( - type => 'VISA', - login => 'testdrive', - password => '', #password or transaction key - action => 'Authorization Only', - description => 'Business::OnlinePayment test', - amount => '49.95', - invoice_number => '100100', - customer_id => 'jsk', - email => 'jason@example.com', - first_name => 'Jason', - last_name => 'Kohles', - address => '123 Anystreet', - city => 'Anywhere', - state => 'UT', - zip => '84058', - country => 'US', - card_number => '4007000000027', - expiration => '09/02', - cvv2 => '1234', #optional - referer => 'http://valid.referer.url/', - ); - $tx->submit(); - - if($tx->is_success()) { - # get information about authorization - $authorization = $tx->authorization - $ordernum = $tx->order_number; - $avs_code = $tx->avs_code; # AVS Response Code - $cvv2_response = $tx->cvv2_response; # CVV2/CVC2/CID Response Code - $cavv_response = $tx->cavv_response; # Cardholder Authentication - # Verification Value (CAVV) Response - # Code - - # now capture transaction - my $capture = new Business::OnlinePayment("AuthorizeNet"); - - $capture->content( - type => 'CC', - action => 'Post Authorization', - login => 'YOURLOGIN - password => 'YOURPASSWORD', #or transaction key - order_number => $ordernum, - amount => '49.95', - ); - - $capture->submit(); - - if($capture->is_success()) { - print "Card captured successfully: ".$capture->authorization."\n"; - } else { - print "Card was rejected: ".$capture->error_message."\n"; - } - - } else { - print "Card was rejected: ".$tx->error_message."\n"; - } - - #### - # One step subscription, the simple case. - #### - - my $tx = new Business::OnlinePayment("AuthorizeNet::ARB"); - $tx->content( - type => 'CC', - login => 'testdrive', - password => 'testpass', #or transaction key - action => 'Recurring Authorization', - interval => '7 days', - start => '2008-3-10', - periods => '16', - amount => '99.95', - trialperiods => '4', - trialamount => '0', - description => 'Business::OnlinePayment test', - invoice_number => '1153B33F', - customer_id => 'vip', - first_name => 'Tofu', - last_name => 'Beast', - address => '123 Anystreet', - city => 'Anywhere', - state => 'GA', - zip => '84058', - card_number => '4111111111111111', - expiration => '09/02', - ); - $tx->submit(); - - if($tx->is_success()) { - print "Card processed successfully: ".$tx->order_number."\n"; - } else { - print "Card was rejected: ".$tx->error_message."\n"; - } - my $subscription = $tx->order_number - - - #### - # Subscription change. Modestly more complicated. - #### - - $tx->content( - type => 'CC', - subscription => '99W2C', - login => 'testdrive', - password => 'testpass', #or transaction key - action => 'Modify Recurring Authorization', - interval => '7 days', - start => '2008-3-10', - periods => '16', - amount => '29.95', - trialperiods => '4', - trialamount => '0', - description => 'Business::OnlinePayment test', - invoice_number => '1153B340', - customer_id => 'vip', - first_name => 'Tofu', - last_name => 'Beast', - address => '123 Anystreet', - city => 'Anywhere', - state => 'GA', - zip => '84058', - card_number => '4111111111111111', - expiration => '09/02', - ); - $tx->submit(); - - if($tx->is_success()) { - print "Update processed successfully."\n"; - } else { - print "Update was rejected: ".$tx->error_message."\n"; - } - $tx->content( - subscription => '99W2D', - login => 'testdrive', - password => 'testpass', # or transaction key - action => 'Cancel Recurring Authorization', - ); - $tx->submit(); - - #### - # Subscription cancellation. It happens. - #### - - if($tx->is_success()) { - print "Cancellation processed successfully."\n"; - } else { - print "Cancellation was rejected: ".$tx->error_message."\n"; - } - - -=head1 SUPPORTED TRANSACTION TYPES - -=head2 CC, Visa, MasterCard, American Express, Discover - -Content required: type, login, password, action, amount, first_name, last_name, card_number, expiration. - -=head2 Check - -Content required: type, login, password, action, amount, first_name, last_name, account_number, routing_code, bank_name (non-subscription), account_type (subscription), check_type (subscription). - -=head2 Subscriptions - -Additional content required: interval, start, periods. - -=head1 DESCRIPTION - -For detailed information see L. - -=head1 METHODS AND FUNCTIONS - -See L for the complete list. The following methods either override the methods in L or provide additional functions. - -=head2 result_code - -Returns the response reason code (from the message.code field for subscriptions). - -=head2 error_message - -Returns the response reason text (from the message.text field for subscriptions. - -=head2 server_response - -Returns the complete response from the server. - -=head1 Handling of content(%content) data: - -=head2 action - -The following actions are valid - - normal authorization - authorization only - credit - post authorization - void - recurring authorization - modify recurring authorization - cancel recurring authorization - -=head2 interval - - Interval contains a number of digits, whitespace, and the units of days or months in either singular or plural form. - - -=head1 Setting AuthorizeNet ARB parameters from content(%content) - -The following rules are applied to map data to AuthorizeNet ARB parameters -from content(%content): - - # ARB param => $content{} - merchantAuthentication - name => 'login', - transactionKey => 'password', - subscription - paymentSchedule - interval - length => \( the digits in 'interval' ), - unit => \( days or months gleaned from 'interval' ), startDate => 'start', - totalOccurrences => 'periods', - trialOccurrences => 'trialperiods', - amount => 'amount', - trialAmount => 'trialamount', - payment - creditCard - cardNumber => 'card_number', - expiration => \( $year.'-'.$month ), # YYYY-MM from 'expiration' - bankAccount - accountType => 'account_type', - routingNumber => 'routing_code', - accountNumber => 'account_number, - nameOnAccount => 'name', - bankName => 'bank_name', - echeckType => 'check_type', - order - invoiceNumber => 'invoice_number', - description => 'description', - customer - type => 'customer_org', - id => 'customer_id', - email => 'email', - phoneNumber => 'phone', - faxNumber => 'fax', - driversLicense - number => 'license_num', - state => 'license_state', - dateOfBirth => 'license_dob', - taxid => 'customer_ssn', - billTo - firstName => 'first_name', - lastName => 'last_name', - company => 'company', - address => 'address', - city => 'city', - state => 'state', - zip => 'zip', - country => 'country', - shipTo - firstName => 'ship_first_name', - lastName => 'ship_last_name', - company => 'ship_company', - address => 'ship_address', - city => 'ship_city', - state => 'ship_state', - zip => 'ship_zip', - country => 'ship_country', - -=head1 NOTES - -Use your transaction key in the password field. - -Unlike Business::OnlinePayment or pre-3.0 versions of -Business::OnlinePayment::AuthorizeNet, 3.1 requires separate first_name and -last_name fields. - -Business::OnlinePayment::AuthorizeNet uses Authorize.Net's "Advanced -Integration Method (AIM) (formerly known as ADC direct response)" and -"Automatic Recurring Billing (ARB)", sending a username and password (or -transaction key as password) with every transaction. Therefore, -Authorize.Net's referrer "security" is not necessary. In your Authorize.Net -interface at https://secure.authorize.net/ make sure the list of allowable -referers is blank. Alternatively, set the B field in the transaction -content. - -To settle an authorization-only transaction (where you set action to -'Authorization Only'), submit the nine-digit transaction id code in -the field "order_number" with the action set to "Post Authorization". -You can get the transaction id from the authorization by calling the -order_number method on the object returned from the authorization. -You must also submit the amount field with a value less than or equal -to the amount specified in the original authorization. - -For the subscription actions an authorization code is never returned by -the module. Instead it returns the value of subscriptionId in order_number. -This is the value to use for changing or cancelling subscriptions. - -Authorize.Net has turned address verification on by default for all merchants -since 2002. If you do not have valid address information for your customer -(such as in an IVR application), you must disable address verification in the -Merchant Menu page at https://secure.authorize.net/ so that the transactions -aren't denied due to a lack of address information. - -=head1 COMPATIBILITY - -This module implements Authorize.Net's API using the Advanced Integration -Method (AIM) version 3.1, formerly known as ADC Direct Response and the -Automatic Recurring Billing version 1.0 using the XML interface. See -http://www.authorize.net/support/AIM_guide.pdf and http://www.authorize.net/support/ARB_guide.pdf for details. - -=head1 AUTHORS - -Original author: Jason Kohles, jason@mediabang.com - -Ivan Kohler updated it for Authorize.Net -protocol 3.0/3.1 and is the current maintainer. Please see the next section -for for information on contributing. - -Jason Spence contributed support for separate -Authorization Only and Post Authorization steps and wrote some docs. -OST paid for it. - -Jeff Finucane added the ARB support. -ARB support sponsored by Plus Three, LP. L. - -T.J. Mather sent a number of CVV2 patches. - -Mike Barry sent in a patch for the referer field and a fix for -ship_company. - -Yuri V. Mkrtumyan sent in a patch to add the void action. - -Paul Zimmer sent in a patch for -card-less post authorizations. - -Daemmon Hughes sent in a patch for "transaction -key" authentication as well support for the recurring_billing flag and the md5 -method that returns the MD5 hash which is returned by the gateway. - -Steve Simitzis contributed a patch for better compatibility with -eProcessingNetwork's AuthorizeNet compatibility mode. - -Michael G. Schwern contributed cleanups, test fixes, and more. - -Erik Hollensbe implemented card-present data (track1/track2), the -duplicate_window parameter, and test fixes. - -Paul Timmins added the check_number field. - -Nate Nuss implemented the ("Additional Shipping Information (Level 2 Data)" -fields: tax, freight, duty, tax_exempt, po_number. - -Michael Peters fixed a bug in email address handling. - -Thomas Sibley wrote B:OP:AuthorizeNet::AIM::ErrorCodes -which was borged and used to provide more descriptive error messages. - -Craig Pearlman sent in a patch to more accurately declare -required fields for E-check transcations. - -=head1 CONTRIBUTIONS AND REPOSITORY - -Please send patches as unified diffs (diff -u) to (in order of preference): - -=over 4 - -=item CPAN RT - -http://rt.cpan.org/Public/Bug/Report.html?Queue=Business-OnlinePayment-AuthorizeNet - -=item The bop-devel mailing list - -http://420.am/cgi-bin/mailman/listinfo/bop-devel - -=item Ivan - -Ivan Kohler - -=back - -The code is available from our public CVS repository: - - export CVSROOT=":pserver:anonymous@cvs.freeside.biz:/home/cvs/cvsroot" - cvs login - # The password for the user `anonymous' is `anonymous'. - cvs checkout Business-OnlinePayment-AuthorizeNet - -Or on the web: - - http://freeside.biz/cgi-bin/viewvc.cgi/Business-OnlinePayment-AuthorizeNet/ - -=head1 A WORD FROM OUR SPONSOR - -This module and the Business::OnlinePayment framework are maintained by by -Freeside Internet Services. If you need a complete, open-source web-based -application to manage your customers, billing and trouble ticketing, please -visit http://freeside.biz/ +Submit always returns success. Makes no external connections. =head1 COPYRIGHT & LICENSE -Copyright 2010 Freeside Internet Services, Inc. -Copyright 2008 Thomas Sibley -All rights reserved. +Copyright 2015 Freeside Internet Services, Inc. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.