You are here

function sagepay_token_cardonfile_delete in Drupal Commerce SagePay Integration 7

Implements hook_cardonfile_delete().

1 string reference to 'sagepay_token_cardonfile_delete'
sagepay_token_commerce_payment_method_info_alter in modules/sagepay_token/sagepay_token.module
Implements hook_commerce_payment_method_info_alter().

File

modules/sagepay_token/sagepay_token.module, line 176

Code

function sagepay_token_cardonfile_delete($form, $form_state, $payment_method, $card_data) {
  $query = array();
  $query['VPSProtocol'] = SAGEPAY_PROTOCOL;
  $query['TxType'] = 'REMOVETOKEN';
  $query['Vendor'] = variable_get(SAGEPAY_SETTING_VENDOR_NAME);
  $query['Token'] = $card_data->remote_id;
  switch (variable_get(SAGEPAY_SETTING_TRANSACTION_MODE)) {
    case SAGEPAY_TXN_MODE_LIVE:
      $url = SAGEPAY_TOKEN_REMOVE_LIVE;
      break;
    case SAGEPAY_TXN_MODE_TEST:
      $url = SAGEPAY_TOKEN_REMOVE_TEST;
      break;
  }
  $query = _commerce_sagepay_array_to_post($query);
  $response = _commerce_sagepay_request_post($url, $query);
  switch ($response['Status']) {
    case 'OK':
      return TRUE;
    case 'MALFORMED':
    case 'INVALID':
      drupal_set_message(t('Error removing saved card. %detail', array(
        '%detail' => $response['StatusDetail'],
      )));
      return FALSE;
  }
  return FALSE;
}