Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
A PHP class for handling Authorize.Net's AIM, ARB, CIM, and Reporting APIs
PHP
branch: master

Revert "Changed check for success due to certain hard failures return…

…ing an "Ok" response code."

This reverts commit 98d027e.
latest commit 6f842c91b8
John Conde authored

README

By:
    John Conde
    http://www.johnconde.net

License:
    http://www.opensource.org/licenses/mit-license.html MIT License

About:
    A PHP library for working with all Authorize.Net's XML APIs.
    This is an alternative to the PHP SDK offered by Authorize.Net.

Files:
    - AuthnetXML.class.php                                                       -> Handles the sending and receiving of XML. Include this file in your project.
    - /examples/aim/createTransactionRequest_authCapture.php                     -> Demonstrates using the AIM API to process an Authorization and Capture transaction (sale)
    - /examples/aim/createTransactionRequest_authOnly.php                        -> Demonstrates using the AIM API to process an Authorization Only transaction
    - /examples/aim/createTransactionRequest_captureOnly.php                     -> Demonstrates using the AIM API to process an Unlinked Capture transaction
    - /examples/aim/createTransactionRequest_priorAuthCapture.php                -> Demonstrates using the AIM API to process an Prior Authorization Capture transaction
    - /examples/aim/createTransactionRequest_refund.php                          -> Demonstrates using the AIM API to process an Refund transaction (credit)
    - /examples/aim/createTransactionRequest_void.php                            -> Demonstrates using the AIM API to Void a transaction
    - /examples/aim/sendCustomerTransactionReceiptRequest.php                    -> Demonstrates using the AIM API to send a customer a transaction receipt
    - /examples/arb/ARBCancelSubscriptionRequest.php                             -> Demonstrates using the ARB API to cancel a subscription
    - /examples/arb/ARBCreateSubscriptionRequest.php                             -> Demonstrates using the ARB API to create a subscription
    - /examples/arb/ARBGetSubscriptionStatusRequest.php                          -> Demonstrates using the ARB API to get the status of a subscription
    - /examples/arb/ARBUpdateSubscriptionRequest.php                             -> Demonstrates using the ARB API to update a subscription
    - /examples/cim/createCustomerPaymentProfileRequest.php                      -> Demonstrates using the CIM API to create a payment profile
    - /examples/cim/createCustomerProfileRequest.php                             -> Demonstrates using the CIM API to create a customer profile
    - /examples/cim/createCustomerProfileTransactionRequest_authCapture.php      -> Demonstrates using the CIM API to process an Authorization and Capture transaction (sale)
    - /examples/cim/createCustomerProfileTransactionRequest_authOnly.php         -> Demonstrates using the CIM API to process an Authorization Only transaction
    - /examples/cim/createCustomerProfileTransactionRequest_captureOnly.php      -> Demonstrates using the CIM API to process an Unlinked Capture transaction
    - /examples/cim/createCustomerProfileTransactionRequest_priorAuthCapture.php -> Demonstrates using the CIM API to process an Prior Authorization Capture transaction
    - /examples/cim/createCustomerProfileTransactionRequest_refund.php           -> Demonstrates using the CIM API to process an Refund transaction (credit)
    - /examples/cim/createCustomerProfileTransactionRequest_void.php             -> Demonstrates using the CIM API to Void a transaction
    - /examples/cim/createCustomerShippingAddressRequest.php                     -> Demonstrates using the CIM API to create a shipping profile
    - /examples/cim/deleteCustomerPaymentProfileRequest.php                      -> Demonstrates using the CIM API to delete a customer payment profile
    - /examples/cim/deleteCustomerProfileRequest.php                             -> Demonstrates using the CIM API to delete a customer profile
    - /examples/cim/deleteCustomerShippingAddressRequest.php                     -> Demonstrates using the CIM API to delete a shipping profile
    - /examples/cim/getCustomerPaymentProfileRequest.php                         -> Demonstrates using the CIM API to retrieve a customer payment profile
    - /examples/cim/getCustomerProfileIdsRequest.php                             -> Demonstrates using the CIM API to retrieve a customer's profile IDs
    - /examples/cim/getCustomerProfileRequest.php                                -> Demonstrates using the CIM API to retrieve a customer profile
    - /examples/cim/getCustomerShippingAddressRequest.php                        -> Demonstrates using the CIM API to retrieve a customer's shipping address
    - /examples/cim/getHostedProfilePageRequest.php                              -> Demonstrates using the CIM API to retrieve a hosted profile page
    - /examples/cim/updateSplitTenderGroupRequest.php                            -> Demonstrates using the CIM API to update a split tender group
    - /examples/cim/updateCustomerPaymentProfileRequest.php                      -> Demonstrates using the CIM API to update a customer's payment profile
    - /examples/cim/updateCustomerProfileRequest.php                             -> Demonstrates using the CIM API to update a customer profile
    - /examples/cim/updateCustomerShippingAddressRequest.php                     -> Demonstrates using the CIM API to update a shipping profile
    - /examples/cim/validateCustomerPaymentProfileRequest.php                    -> Demonstrates using the CIM API to validate a payment profile
    - /examples/reporting/getBatchStatisticsRequest.php                          -> Demonstrates using the Transaction Details API to fetch batch statistics
    - /examples/reporting/getSettledBatchListRequest.php                         -> Demonstrates using the Transaction Details API to fetch a settled batch list
    - /examples/reporting/getTransactionDetailsRequest.php                       -> Demonstrates using the Transaction Details API to fetch details of a transaction
    - /examples/reporting/getTransactionListRequest.php                          -> Demonstrates using the Transaction Details API to fetch a list of transactions
    - /examples/reporting/getUnsettledTransactionListRequest.php                 -> Demonstrates using the Transaction Details API to fetch a list of unsettled transactions
    - config.inc.php                                                             -> Contains configurable parameters. Include this file in your project.
    - README                                                                     -> This file.

Requirements:
    - PHP 5.2+
    - cURL PHP Extension
    - simplexml
    - An Authorize.Net Merchant Account or Test Account. You can get a
      free test account at http://developer.authorize.net/testaccount/

Install:
    - Include the 'AuthnetXML.class.php' and 'config.inc.php' files in your application.

Usage Examples:
    - See the individual examples in each of the APIs' directory

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

Authorize.Net API Documentation
    - AIM XML guide              - http://www.authorize.net/support/AIM_guide_XML.pdf
    - ARB XML guide              - http://www.authorize.net/support/ARB_guide.pdf
    - CIM XML guide              - http://www.authorize.net/support/CIM_XML_guide.pdf
    - Transaction Details Guide  - http://www.authorize.net/support/ReportingGuide_XML.pdf

Release Notes
    Version 1.0 - Initial release

To Do
    - Proper commenting in AuthnetXML.class.php
    - Unit Tests
Something went wrong with that request. Please try again.