All API variables broken into parts.
Part 0 - Test Requests
Field Name | Required | Description |
x_test_request | NO | Value: TRUE, FALSE, YES, NO, If YES/TRUE, requests made will not be settled |
Part 1 - Merchant Info
(Always Required to send transaction requests, no matter what kind)
Field Name | Required | Description |
x_login | X | Value: The merchant’s unique Login ID The Login ID and Transaction Key together are required to be able to send requests to the gateway API. |
x_tran_key | X | Value: The merchant’s unique Transaction Key This key is generated by NaviGate in Profile & Settings » Security » Transaction Key |
Part 2 - AIM Head
(Not really required but is considered good practice and is preferred to include in the API request call)
Field Name | Required | Description |
x_version | X | Value: 3.1 (constant/static) Not required but is considered good practice and the system prefers to see it |
x_delim_data | X | Value: TRUE/FALSE Based on the value (TRUE/FALSE) the response is going to be either delimited or not. |
x_delim_char | X | Value: any character that is normally used for delimiting data Possible variants: comma (,); semicolon (;); pipe (|); etc |
x_relay_response | X | Value: FALSE (constant/static) Not required but is considered good practice and the system prefers to see it |
Part 3 – Transaction Info
(Different requirements, depending on the transaction type. Default is AUTH_CAPTURE)
Field Name | Required | Description | |
x_Method | X | Value: The Method of credit card transaction If this field is not submitted or the value is blank, the payment gateway will generate an error "x_Method cannot be left blank". | |
x_type | X | Type | Definition |
AUTH_CAPTURE | Authorize and Capture – reserves and amount and charges the account. | ||
AUTH_ONLY | Authorization – reserves an amount but does not charge. Charging an account occurs later | ||
CREDIT | Issue a credit – refund amount previously charged | ||
PRIOR_AUTH_CAPTURE | Capture – charges an account that was previously Authorized | ||
VOID | Voids transaction – Cancels Auth & Capture and Authorization | ||
If the value submitted does not match a supported value, the transaction is rejected. If this field is not submitted or the value is blank, the payment gateway will generate an error "x_type cannot be left blank". | |||
x_amount | X | Value: The amount of the transaction For example, “1020” would mean $10.20 and “110” would mean $1.10 This is the total amount and must include tax, shipping, and any other charges. If this field is not submitted or the value is blank, the payment gateway will generate an error "x_amount cannot be left blank". | |
x_card_num | X | Value: The customer’s credit card number This is sensitive cardholder information and must be stored securely and in accordance with the Payment Card Industry (PCI) Data Security Standard. If this field is not submitted or the value is blank, the payment gateway will generate an error "x_card_num cannot be left blank". | |
x_card_code | X | Value: The customer’s credit card security code. The security code is located on the card in different places, depending on the issuer. Take a look at the image below which shows usual locations for the code. | |
x_exp_date | X | Value: The customer’s credit card expiration date. This is sensitive cardholder information and must be stored securely and in accordance with the Payment Card Industry (PCI) Data Security Standard. If this field is not submitted or the value is blank, the payment gateway will generate an error "x_exp_date cannot be left blank". | |
x_trans_id | Depends | Value: The payment gateway-assigned ID that links the current authorization request to the original authorization request. This value applies only to partial authorization transactions, and is returned in the reply message from the original authorization request. If this field is not submitted or the value is blank, the payment gateway will generate an error "x_trans_id cannot be left blank". |
Part 4 – Order Info
(Not required, but preferred for initial transactions; AUTH_CAPTURE and AUTH_ONLY)
Field Name | Required | Description |
x_invoice_num | No | Value: This is a merchant supplied number that they want to be able to track the sales by in NaviGate. |
x_description | No | Value: This is a merchant supplied description of the sale that was made. |
Part 5 – Customer Info
(Information about the person making the payment)
Field Name | Required | Description |
x_first_name |
| Value: Self-explanatory. |
x_last_name |
| Value: Self-explanatory. |
x_company |
| Value: Self-explanatory. |
x_address |
| Value: Self-explanatory. |
x_city |
| Value: Self-explanatory. |
x_state |
| Value: Self-explanatory. Example: NY (New York) |
x_zip |
| Value: Self-explanatory. |
x_country | No | Value: Self-explanatory. Format: string Example: USA (United State of America) |
x_phone | No | Value: Self-explanatory. |
x_fax | No | Value: This is a merchant supplied description of the sale that was made. |
x_Email |
| Value: Self-explanatory. |
x_cust_id | No | Value: Customer ID, provided by the merchant. Example: This ID is supplied by the merchant at the time of sale to track individual customers purchasing patterns. |
x_customer_ip |
| Value: This is the IP address of the location where the transaction came from. |
Part 6 – Shipping Info
Field Name | Description |
---|---|
x_ship_to_first_name | Optional Value: The first name associated with the customer’s shipping address Format: Up to 50 characters (no symbols) |
x_ship_to_last_name | Optional Value: The last name associated with the customer’s shipping address Format: Up to 50 characters (no symbols) |
x_ship_to_company | Optional Value: The company associated with the customer’s shipping address Format: Up to 50 characters (no symbols) |
x_ship_to_address | Optional Value: The customer’s shipping address Format: Up to 60 characters (no symbols) |
x_ship_to_city | Optional Value: The city of the customer’s shipping address Format: Up to 40 characters (no symbols) |
x_ship_to_state | Optional Value: The state of the customer’s shipping address Format: Up to 40 characters (no symbols) or a valid two-character state code |
x_ship_to_zip | Optional Value: The ZIP code of the customer’s shipping address Format: Up to 20 characters (no symbols) |
x_ship_to_country | Optional Value: The country of the customer’s shipping address Format: Up to 60 characters (no symbols) |
Part 7 – Tax Info
Field Name | Description |
x_tax | This optional field can contain either the valid tax amount or the delimited tax information. When submitting delimited tax information, values must be delimited by a bracketed pipe <|> in the order shown below. The total amount of the transaction in x_amount must include this amount. The delimited tax information elements are:
The total amount of the transaction in x_amount must include this amount. Example: x_tax=Tax1<|>state tax<|>0.09& Format: string |
x_tax_exempt | This optional field can contain the tax exempt status of the order. Format: string |
Part 8 – Email Notifications
Field Name | Description |
x_email_customer | Value: TRUE/FALSE Format: BOOL |
x_email_merchant | Value: TRUE/FALSE Format: BOOL |
x_merchant_email | Value: email address Example: newsale@somedomain.com Format: string |
Part 9 – Recurring Billing
Field Name | Description |
x_recurring_billing | Value: YES/NO If Yes, then the customer will be charged automatically for the same amount as is set in x_amount. How often the person is charged is defined in x_recurring_frequencyType. Format: BOOL |
x_recurring_frequencyType | Value: Daily, Weekly, Monthly, etc This variable defines the frequency or period on the basis of which the person gets charged. Format: string |
x_recurring_frequency | Value: This variable sets the max amount of iterations (or number of periods) Example: If the one period is a week and the number of periods is 15, then the person will be charged for 15 weeks on a weekly basis and then the recurring charges will stop. Format: numeric |
x_Token_Flag | Value: YES/NO Format: BOOL |
Specific transactions requirements
NaviGate supports the following unique requests:
AUTH_CAPTURE
- Authorize and Capture – reserves and amount and charges the account.
AUTH_ONLY
- Authorization – reserves an amount but does not charge. Charging an account occurs later
CREDIT
- Issue a credit – refund amount previously charged
PRIOR_AUTH_CAPTURE
- Capture – charges an account that was previously Authorized
VOID
- Voids transaction – Cancels Auth & Capture and Authorization
AUTH_CAPTURE & AUTH_ONLY
These 2 require that you send the majority of the variables to the API.
The following parts are required:
Parts 1, 2, and 3.
In part 3, set x_type equal to either AUTH_CAPTURE or AUTH_ONLY depending on what is being done and how...
You also need to provide customer information (part 5)
The rest of the parts can be provided, but are not required.
// Merchant Info 'x_login' => $login, 'x_tran_key' => $transactionKey, // TEST TRANSACTION 'x_test_request' => '', // True or False // AIM Head 'x_version' => '3.1', // TRUE Means that the Response is going to be delimited 'x_delim_data' => 'TRUE', 'x_delim_char' => '|', 'x_relay_response' => 'FALSE', // Transaction Info 'x_method' => 'CC', 'x_type' => 'AUTH_CAPTURE', 'x_amount' => '1.00', // Test Card 'x_card_num' => '5431111111111111', 'x_exp_date' => '1215', 'x_card_code' => '123', 'x_trans_id' => '', // Order Info 'x_invoice_num' => 'inv123456', 'x_description' => 'Vit - test', // Customer Info 'x_first_name' => 'John', 'x_last_name' => 'DoAble', 'x_company' => 'MerchantPlus', 'x_address' => '29 Broadway', 'x_city' => 'New York', 'x_state' => 'NY', 'x_zip' => '10006', 'x_country' => 'USA', 'x_phone' => '2121225050', 'x_fax' => '2121225050', 'x_Email' => 'vitaly@merchantplus.com', 'x_cust_id' => 'c_123456789', // Optional - Provided by merchant at the time of sale... 'x_customer_ip' => '', // shipping info 'x_ship_to_first_name' => '', 'x_ship_to_last_name' => '', 'x_ship_to_company' => '', 'x_ship_to_address' => '', 'x_ship_to_city' => '', 'x_ship_to_state' => '', 'x_ship_to_zip' => '', 'x_ship_to_country' => '', // Additional Fields 'x_email_customer' => 'TRUE', // If True will send a notification of transaction to customers email 'x_email_merchant' => 'TRUE', 'x_merchant_email' => 'vitaly@merchantplus.com', /* // Tax Info & Shipping Costs 'x_tax' => '', 'x_tax_exempt' => '', 'x_freight' => '', 'x_duty' => '', // Recurring Transactions 'x_recurring_billing'=> 'YES', 'x_Recurring_FrequencyType'=>'Daily', 'x_Recurring_Frequency'=> 4, 'x_Token_Flag' =>'NO' */
CREDIT
This method requires the following:
Complete parts 1 and 2 and additional 3 variables:
x_type = CREDIT,
x_card_num = credit card number to credit
x_trans_id = of the initial transaction that was settled
// Merchant Info 'x_login' => $login, 'x_tran_key' => $transactionKey, 'x_test_request' => '', // TEST TRANSACTION // AIM Head 'x_version' => '3.1', 'x_delim_data' => 'TRUE', // Means that the Response is going to be delimited 'x_delim_char' => '|', 'x_relay_response' => 'FALSE', // Transaction Info 'x_method' => 'CC', 'x_type' => 'CREDIT', 'x_trans_id' => 'find the number', // find the transaction # in NaviGate you want to issue a refund for 'x_card_num' => 'corresponding CC#', // reference card# that was used for the above mentioned transaction #
VOID
This method requires the following:
Complete parts 1 and 2 and additional 2 variables:
x_type = VOID,
x_trans_id = of the initial transaction that was settled
// Merchant Info 'x_login' => $login, 'x_tran_key' => $transactionKey, 'x_test_request' => '', // TEST TRANSACTION // AIM Head 'x_version' => '3.1', 'x_delim_data' => 'TRUE', // Means that the Response is going to be delimited 'x_delim_char' => '|', 'x_relay_response' => 'FALSE', // Transaction Info 'x_method' => 'CC', 'x_type' => 'VOID', 'x_trans_id' => 'find the number', // find the transaction # in NaviGate you want to cancel
PRIOR_AUTH_CAPTURE
This method requires the following:
Complete parts 1 and 2 and additional # variables: