By: Authorize.Net http://developer.authorize.net http://community.developer.authorize.net License: See License.pdf About: A PHP library for working with all Authorize.Net APIs. Files: - AuthorizeNet.php -> Includes all classes. Include this file in your project. - lib/AuthorizeNetAIM.php -> AIM API. - lib/AuthorizeNetARB.php -> ARB API. - lib/AuthorizeNetCIM.php -> CIM API. - lib/AuthorizeNetSIM.php -> SIM API. - lib/AuthorizeNetTD.php -> Transaction Details API. - lib/AuthorizeNetDPM.php -> Direct Post Method Helpers. - lib/AuthorizeNetSOAP.php -> Class to assist with using the SOAP API. - lib/shared/AuthorizeNetRequest.php -> Class to connect to AuthorizeNet. - lib/shared/AuthorizeNetTypes.php -> Classes for AuthorizeNet Datatypes. - lib/shared/AuthorizeNetResponse.php -> Class to parse AuthorizeNet NVP Responses. - lib/shared/AuthorizeNetXMLResponse.php -> Class to parse AuthorizeNet XML Responses. - lib/ssl/cert.pem -> The AuthorizeNet Certificate bundle. - tests/ -> Tests & examples for each of the API methods. - README -> This file. Requirements: - CURL PHP Extension - PHP 5.2+ - An Authorize.Net Merchant Account or Test Account. You can get a free test account at http://developer.authorize.net/testaccount/ Install: - Include the 'AuthorizeNet.php' file in your application. - Use your desired API. Usage Examples: See below for basic usage examples. View the tests/ folder for more examples of each API. AuthorizeNetAIM.php Quick Usage Example: amount = "5.99"; $sale->card_num = '6011000000000012'; $sale->exp_date = '04/15'; $response = $sale->authorizeAndCapture(); if ($response->approved) { $transaction_id = $response->transaction_id; } ?> AuthorizeNetAIM.php Advanced Usage Example: amount = "45.00"; // Use eCheck: $auth->setECheck( '121042882', '123456789123', 'CHECKING', 'Bank of Earth', 'Jane Doe', 'WEB' ); // Set multiple line items: $auth->addLineItem('item1', 'Golf tees', 'Blue tees', '2', '5.00', 'N'); $auth->addLineItem('item2', 'Golf shirt', 'XL', '1', '40.00', 'N'); // Set Invoice Number: $auth->invoice_num = time(); // Set a Merchant Defined Field: $auth->setCustomField("entrance_source", "Search Engine"); // Authorize Only: $response = $auth->authorizeOnly(); if ($response->approved) { $auth_code = $response->transaction_id; // Now capture: $capture = new AuthorizeNetAIM; $capture_response = $capture->priorAuthCapture($auth_code); // Now void: $void = new AuthorizeNetAIM; $void_response = $void->void($capture_response->transaction_id); } ?> AuthorizeNetARB.php Usage Example: name = "PHP Monthly Magazine"; $subscription->intervalLength = "1"; $subscription->intervalUnit = "months"; $subscription->startDate = "2011-03-12"; $subscription->totalOccurrences = "12"; $subscription->amount = "12.99"); $subscription->creditCardCardNumber = "6011000000000012"; $subscription->creditCardExpirationDate= "2018-10"; $subscription->creditCardCardCode = "123"; $subscription->billToFirstName = "Rasmus"; $subscription->billToLastName = "Doe"; // Create the subscription. $request = new AuthorizeNetARB; $response = $request->createSubscription($subscription); $subscription_id = $response->getSubscriptionId(); ?> AuthorizeNetCIM.php Usage Example: description = "Description of customer"; $customerProfile->merchantCustomerId= time(); $customerProfile->email = "test@domain.com"; $response = $request->createCustomerProfile($customerProfile); if ($response->isOk()) { $customerProfileId = $response->getCustomerProfileId(); } ?> AuthorizeNetSIM.php Usage Example: isAuthorizeNet()) { $transactionId = $message->transaction_id; } ?> AuthorizeNetDPM.php Usage Example: Test Credit Card Numbers: - Set the expiration date to anytime in the future. - American Express Test Card=> 370000000000002 - Discover Test Card => 6011000000000012 - Visa Test Card => 4007000000027 - Second Visa Test Card => 4012888818888 - JCB => 3088000000000017 - Diners Club/ Carte Blanche=> 38000000000006