'value', '#value' => $rfid, ); $form['description'] = array( '#markup' => '
' . t('Subscription ID: @subscription_id', array('@subscription_id' => $fee['data'])) . '
', ); $form['cc_data'] = array( '#type' => 'fieldset', '#title' => t('Credit card details'), '#theme' => 'uc_payment_method_credit_form', '#tree' => TRUE, ); $form['cc_data'] += uc_payment_method_credit_form(array(), $order); unset($form['cc_data']['cc_policy']); $form['actions'] = array('#type' => 'actions'); $form['actions']['submit'] = array( '#type' => 'submit', '#value' => t('Update'), '#suffix' => l(t('Cancel'), 'admin/store/orders/recurring'), ); return $form; } /** * Form submission handler for uc_authorizenet_arb_admin_update_form(). * * @see uc_authorizenet_arb_admin_update_form() */ function uc_authorizenet_arb_admin_update_form_submit($form, &$form_state) { $fee = uc_recurring_fee_load('user', $form_state['values']['rfid']); $updates = array( 'payment' => array( 'creditCard' => array( 'cardNumber' => $form_state['values']['cc_data']['cc_number'], 'expirationDate' => $form_state['values']['cc_data']['cc_exp_year'] . '-' . $form_state['values']['cc_data']['cc_exp_month'], ), ), ); $result = uc_authorizenet_arb_update($fee['data'], $updates, $fee['order_id']); // If the update was successful... if ($result) { drupal_set_message(t('Subscription data updated at Authorize.Net.')); } else { drupal_set_message(t('Subscription update failed. See order admin comments for more details.'), 'error'); } $form_state['redirect'] = 'admin/store/orders/recurring'; } /** * Displays a confirm form for cancelling a subscription. * * @see uc_authorizenet_arb_admin_cancel_form_submit() * @ingroup forms */ function uc_authorizenet_arb_admin_cancel_form($form, &$form_state, $rfid) { $form['rfid'] = array( '#type' => 'value', '#value' => $rfid, ); return confirm_form($form, t('Are you sure you wish to cancel this subscription?'), 'admin/store/orders/recurring', NULL, t('Confirm'), t('Cancel')); } /** * Form submission handler for uc_authorizenet_arb_admin_cancel_form(). * * @see uc_authorizenet_arb_admin_cancel_form() */ function uc_authorizenet_arb_admin_cancel_form_submit($form, &$form_state) { $fee = uc_recurring_fee_load('user', $form_state['values']['rfid']); $result = uc_authorizenet_arb_cancel($fee['data'], $fee['order_id'], $fee); // If the cancellation was successful... if ($result) { drupal_set_message(t('Subscription cancelled through Authorize.Net.')); // Set the fee's recurring charges to 0. uc_recurring_fee_cancel($fee['rfid']); } else { drupal_set_message(t('Subscription cancellation failed. See order admin comments for more details.'), 'error'); } $form_state['redirect'] = 'admin/store/orders/recurring'; }