1) ShopSite provides a custom payment provider called Gateway Emulator. Select this in the payment configuration of the store, and click Configure Processor. There will be 5 settings to configure to enable the ShopSite store to process with The Gateway.
a. Host: This is simply the domain name of the gateway
b. Port: 443, for SSL
c. Authorize Script: /emulator/handler.ashx?EmulatorID=<EmulatorID> where <EmulatorID> is the identifier from the The Gateway UI after an Emulator Profile is created (see below)
d. API Login ID: This will be a username (must be an API user) in The Gateway.
e. Transaction Key: This is the password for the user entered in the Login ID field.
2) Create an emulator in The Gateway that will be used for this integration. Save the values on the first screen, which will enable the fields tab.
a. Method: Authorize.net AIM for ShopSite uses Post
b. Description: Any value recognizable to the user
c. Source IP: An advanced option, allowing The Gateway to determine which Emulator profile to load based on the client ip address, as opposed to supplying an Emulator ID in the request
3) Load the Authorize.net (Magento/OSCommerce) template. This will create a number of pre-mapped request and response fields needed to match the Authorize.net response and request to the The Gateway request and response.
4) Finally, several of the Authorize.net fields do not have a direct value conversion to The Gateway. For example, an approval on The Gateway will have a Result Code of 0. On Authorize.net, an approval will have a Response Code of 1. It is not enough to simply map the Result Code of The Gateway to the Response Code of Authorize.net – 0 has no meaning for this field on Authorize.net. In addition to mapping the field, The Gateway’s Emulator will also use a Value Map to properly handle this field (found under Advanced properties of a field mapping)
This particular map will convert a result of 0 from The Gateway to a 1 for Authorize.net. Additionally, it will convert a value of 12 (decline) from The Gateway to a 2 for Authorize.net. Additional value maps can be added as needed.
Value Maps are also important for the Transaction Type field in the request. Similar to the Response Code, the conversion is not straight across.
These values are preloaded with the Authorize.net template.