function commerce_authnet_aim_settings_form in Commerce Authorize.Net 7
Payment method callback: settings form.
File
- ./
commerce_authnet.module, line 239 - Implements Authorize.Net payment services for use in Drupal Commerce.
Code
function commerce_authnet_aim_settings_form($settings = NULL) {
module_load_include('inc', 'commerce_payment', 'includes/commerce_payment.credit_card');
// Merge default settings into the stored settings array.
$settings = (array) $settings + commerce_authnet_aim_default_settings();
$form = array();
$form['login'] = array(
'#type' => 'textfield',
'#title' => t('API Login ID'),
'#description' => t('Your API Login ID is different from the username you use to login to your Authorize.Net account. Once you login, browse to your Account tab and click the <em>API Login ID and Transaction Key</em> link to find your API Login ID. If you are using a new Authorize.Net account, you may still need to generate an ID.'),
'#default_value' => $settings['login'],
'#required' => TRUE,
);
$form['tran_key'] = array(
'#type' => 'textfield',
'#title' => t('Transaction Key'),
'#description' => t('Your Transaction Key can be found on the same screen as your API Login ID. However, it will not be readily displayed. You must answer your security question and submit a form to see your Transaction Key.'),
'#default_value' => $settings['tran_key'],
'#required' => TRUE,
);
$form['txn_mode'] = array(
'#type' => 'radios',
'#title' => t('Transaction mode'),
'#description' => t('Adjust to live transactions when you are ready to start processing real payments.') . '<br />' . t('Only specify a developer test account if you login to your account through https://test.authorize.net.'),
'#options' => array(
AUTHNET_TXN_MODE_LIVE => t('Live transactions in a live account'),
AUTHNET_TXN_MODE_LIVE_TEST => t('Test transactions in a live account'),
AUTHNET_TXN_MODE_DEVELOPER => t('Developer test account transactions'),
),
'#default_value' => $settings['txn_mode'],
);
$form['txn_type'] = array(
'#type' => 'radios',
'#title' => t('Default credit card transaction type'),
'#description' => t('The default will be used to process transactions during checkout.'),
'#options' => array(
COMMERCE_CREDIT_AUTH_CAPTURE => t('Authorization and capture'),
COMMERCE_CREDIT_AUTH_ONLY => t('Authorization only (requires manual or automated capture after checkout)'),
),
'#default_value' => $settings['txn_type'],
);
$form['card_types'] = array(
'#type' => 'checkboxes',
'#title' => t('Limit accepted credit cards to the following types'),
'#description' => t('If you want to limit acceptable card types, you should only select those supported by your merchant account.') . '<br />' . t('If none are checked, any credit card type will be accepted.'),
'#options' => commerce_payment_credit_card_types(),
'#default_value' => $settings['card_types'],
);
// CIM support in conjunction with AIM requires the Card on File module.
if (module_exists('commerce_cardonfile')) {
$form['cardonfile'] = array(
'#type' => 'checkbox',
'#title' => t('Enable Card on File functionality with this payment method using Authorize.Net CIM.'),
'#description' => t('This requires an Authorize.Net account upgraded to include support for CIM (Customer Information Manager).'),
'#default_value' => $settings['cardonfile'],
);
$form['continuous'] = array(
'#type' => 'checkbox',
'#title' => t('Use continuous authority transactions.'),
'#description' => t('A continuous authority merchant account will be required.'),
'#default_value' => $settings['continuous'],
);
}
else {
$form['cardonfile'] = array(
'#type' => 'markup',
'#markup' => t('To enable Card on File funcitionality download and install the Card on File module.'),
);
}
$form['email_customer'] = array(
'#type' => 'checkbox',
'#title' => t('Tell Authorize.net to e-mail the customer a receipt based on your account settings.'),
'#default_value' => $settings['email_customer'],
);
$form['log'] = array(
'#type' => 'checkboxes',
'#title' => t('Log the following messages for debugging'),
'#options' => array(
'request' => t('API request messages'),
'response' => t('API response messages'),
),
'#default_value' => $settings['log'],
);
return $form;
}