class TresDelta::Vault

Public Class Methods

add_stored_credit_card(customer, credit_card) click to toggle source
# File lib/tres_delta/vault.rb, line 26
def add_stored_credit_card(customer, credit_card)
  request(:add_stored_credit_card, add_stored_credit_card_params(customer, credit_card))
end
add_stored_credit_card_params(customer, credit_card) click to toggle source
# File lib/tres_delta/vault.rb, line 30
def add_stored_credit_card_params(customer, credit_card)
  {
    'clientCredentials'   => client_credentials,
    'addStoredCardParams' => {
      'CreditCard' => {
        'CardAccountNumber' => credit_card.number,
        'CardType'          => credit_card.type,
        'Cardholder'        => {
          'FirstName' => credit_card.name,
          'LastName'  => nil
        },
        'ExpirationMonth'   => credit_card.expiration_month,
        'ExpirationYear'    => credit_card.expiration_year,
        'NameOnCard'        => credit_card.name,
        'FriendlyName'      => credit_card.nickname
      },
      'CustomerIdentifier' => customer_identifier(customer)
    }
  }
end
create_customer(customer) click to toggle source
# File lib/tres_delta/vault.rb, line 9
def create_customer(customer)
  request(:create_customer, create_customer_params(customer))
end
create_customer_params(customer) click to toggle source
# File lib/tres_delta/vault.rb, line 13
def create_customer_params(customer)
  {
    'clientCredentials' => client_credentials,
    'createCustomerParams' => {
      'Customer' => {
        'Code' => customer.vault_key,
        'Name' => customer.name
      },
      'LocationIdentifier' => location_identifier
    }
  }
end
customer_identifier(customer) click to toggle source
# File lib/tres_delta/vault.rb, line 51
def customer_identifier(customer)
  {
    'CustomerCode' => customer.vault_key,
    'LocationCode' => config["location_code"],
    'MerchantCode' => config["merchant_code"]
  }
end
get_stored_credit_card(customer, token, include_card_number = false) click to toggle source
# File lib/tres_delta/vault.rb, line 59
def get_stored_credit_card(customer, token, include_card_number = false)
  request(:get_stored_credit_card, get_stored_credit_card_params(customer, token, include_card_number))
end
get_stored_credit_card_params(customer, token, include_card_number) click to toggle source
# File lib/tres_delta/vault.rb, line 63
def get_stored_credit_card_params(customer, token, include_card_number)
  {
    'clientCredentials'         => client_credentials,
    'getStoredCreditCardParams' => {
      'CustomerIdentifier' => customer_identifier(customer),
      'RetrieveCardNumber' => include_card_number ? 'true' : 'false',
      'Token'              => token
    }
  }
end
get_token_for_card_number(card_number, customer) click to toggle source
# File lib/tres_delta/vault.rb, line 74
def get_token_for_card_number(card_number, customer)
  request(:get_token_for_card_number, get_token_for_card_number_params(card_number, customer))
end
get_token_for_card_number_params(card_number, customer) click to toggle source
# File lib/tres_delta/vault.rb, line 78
def get_token_for_card_number_params(card_number, customer)
  {
    'clientCredentials'           => client_credentials,
    'getTokenForCardNumberParams' => {
      'AccountNumber'      => card_number,
      'CustomerIdentifier' => customer_identifier(customer)
    }
  }
end
update_stored_credit_card(customer, credit_card) click to toggle source
# File lib/tres_delta/vault.rb, line 88
def update_stored_credit_card(customer, credit_card)
  request(:update_stored_credit_card, update_stored_credit_card_params(customer, credit_card))
end
update_stored_credit_card_params(customer, credit_card) click to toggle source
# File lib/tres_delta/vault.rb, line 92
def update_stored_credit_card_params(customer, credit_card)
  {
    'clientCredentials'      => client_credentials,
    'updateStoredCardParams' => {
      'CreditCard' => {
        'CardType' => credit_card.type,
        'CardHolder' => {
          'FirstName' => credit_card.name,
          'Lastname'  => nil
        },
        'ExpirationMonth' => credit_card.expiration_month,
        'ExpirationYear'  => credit_card.expiration_year,
        'NameOnCard'      => credit_card.name,
        'FriendlyName'    => credit_card.nickname,
        'Token'           => credit_card.token
      },
      'CustomerIdentifier'     => customer_identifier(customer)
    }
  }
end
wsdl() click to toggle source
# File lib/tres_delta/vault.rb, line 5
def wsdl
  Config.config['management_wsdl']
end