Authorize.net CIM PHP Class: Manipulate payment data with Authorize.net CIM

Recommend this page to a friend!
  Info   View files View files (4)   DownloadInstall with Composer Download .zip   Reputation   Support forum (2)   Blog    
Ratings Unique User Downloads Download Rankings
StarStarStar 52%Total: 1,583 All time: 2,471 This week: 237Up
Version License PHP version Categories
authorizenet_cim 1.3GNU Lesser Genera...4.0E-Commerce, Web services
Description Author

This class can be used to manipulate customer and payment data stored in Authorize.net by accessing the Customer Information Manager (CIM)

It accesses Authorize.net CIM Web services API servers and can request the execution of several types of operations:

- Create, retrieve, update or delete a customer profile
- Create, retrieve, update, delete or validate a customer payment profile
- Create, retrieve, update or delete a customer shipping address
- Create a customer profile transaction

Picture of Ray Solomon
Name: Ray Solomon <contact>
Classes: 1 package by
Country: United States United States

Details
Here are issues that have existed since the CIM API was open to the public.

This issues still exist and are either undocumented in the manual or unresolved.
I have repeatedly asked developer support to resolve it, but my attempts were fruitless.
You should know about this and help to raise these issues too.
However, these issue will not prevent you from using the CIM API.
It just makes it more difficult for people like me who try to provide you with software.



1)
In validateCustomerPaymentProfileRequest(), customerShippingAddressId() is
used in place of customerAddressId().
The Authorize.net manual is still incorrect on this.

2)
The manual states there is supposed to be a
"customerAddressId" in the "transaction" element of 
createCustomerProfileTransactionRequest(), however,it is supposed to be
"customerShippingAddressId" instead.

3)
The nested order of the elements within the "<bankAccount>" element
for createCustomerProfileRequest(), createCustomerPaymentProfileRequest() and
updateCustomerPaymentProfileRequest() is incorrect in the manual.

These elements are:

accountType
routingNumber
accountNumber
nameOnAccount
echeckType
bankName

However, this has been fixed in the php class.


4)
When updating a profile using updateCustomerPaymentProfileRequest(),
payment details are required such as creditCard or bankAccount(echeck).

Also, for certain elements, the manual states that
"Sensitive information that is not being updated can be masked.".
However, this is not true. I was told by Authorize.net that masking means to leave the 
value blank for which it will not update certain info if desired, 
but instead if you leave it blank, it will delete the information for a particular element
in the CIM.

5)
Undocumented Information:
When using updateCustomerShippingAddressRequest() and you don't specify an
optional element as shown in the manual, then you use getCustomerShippingAddressRequest() 
to retrieve the shipping info, the optional element you originally left out 
will not be returned in the response.
  Files folder image Files  
File Role Description
Plain text file authorizenet.cim.class.php Class PHP class source
Accessible without login Plain text file examples.php Example Examples
Accessible without login Plain text file LICENSE.txt Lic. The license
Accessible without login Plain text file README.txt Doc. README File

 Version Control Unique User Downloads Download Rankings  
 0%
Total:1,583
This week:0
All time:2,471
This week:237Up
User Ratings User Comments (2)
 All time
Utility:65%StarStarStarStar
Consistency:60%StarStarStarStar
Documentation:65%StarStarStarStar
Examples:75%StarStarStarStar
Tests:-
Videos:-
Overall:52%StarStarStar
Rank:2139
  
For more information send a message to info at phpclasses dot org.