Source: payments/CardTransaction.js

/**
 * Autogenerated by Avro
 * 
 * DO NOT EDIT DIRECTLY
 */

var payments_CardType = require("../payments/CardType");
var payments_CardTransactionState = require("../payments/CardTransactionState");
var base_Reference = require("../base/Reference");
var payments_CardEntryType = require("../payments/CardEntryType");
var payments_VaultedCard = require("../payments/VaultedCard");
var payments_CardTransactionType = require("../payments/CardTransactionType");
var payments_GatewayTxState = require("../payments/GatewayTxState");
var payments_AVSResult = require("../payments/AVSResult");

/**
* @constructor
* @memberof payments
*/
var CardTransaction = function() {
  this._class_ = CardTransaction;
  this.paymentRef = undefined;
  this.creditRef = undefined;
  this.cardType = undefined;
  this.entryType = undefined;
  this.first6 = undefined;
  this.last4 = undefined;
  this.type = undefined;
  this.authCode = undefined;
  this.referenceId = undefined;
  this.transactionNo = undefined;
  this.state = undefined;
  this.extra = undefined;
  this.begBalance = undefined;
  this.endBalance = undefined;
  this.avsResult = undefined;
  this.cardholderName = undefined;
  this.token = undefined;
  this.vaultedCard = undefined;
  this.gatewayTxState = undefined;
  this.currency = undefined;
};


/**
* Set the field value
* The payment with which the card transaction is associated
*
* @memberof payments.CardTransaction
* @param {Null|base.Reference} paymentRef 
*/
CardTransaction.prototype.setPaymentRef = function(paymentRef) {
  this.paymentRef = paymentRef;
};

/**
* Get the field value
* The payment with which the card transaction is associated
* @memberof payments.CardTransaction
* @return {Null|base.Reference} 
*/
CardTransaction.prototype.getPaymentRef = function() {
  return this.paymentRef;
};

/**
* Set the field value
* The credit with which the card transaction is associated
*
* @memberof payments.CardTransaction
* @param {Null|base.Reference} creditRef 
*/
CardTransaction.prototype.setCreditRef = function(creditRef) {
  this.creditRef = creditRef;
};

/**
* Get the field value
* The credit with which the card transaction is associated
* @memberof payments.CardTransaction
* @return {Null|base.Reference} 
*/
CardTransaction.prototype.getCreditRef = function() {
  return this.creditRef;
};

/**
* Set the field value
* @memberof payments.CardTransaction
* @param {payments.CardType} cardType 
*/
CardTransaction.prototype.setCardType = function(cardType) {
  this.cardType = cardType;
};

/**
* Get the field value
* @memberof payments.CardTransaction
* @return {payments.CardType} 
*/
CardTransaction.prototype.getCardType = function() {
  return this.cardType;
};

/**
* Set the field value
* @memberof payments.CardTransaction
* @param {payments.CardEntryType} entryType 
*/
CardTransaction.prototype.setEntryType = function(entryType) {
  this.entryType = entryType;
};

/**
* Get the field value
* @memberof payments.CardTransaction
* @return {payments.CardEntryType} 
*/
CardTransaction.prototype.getEntryType = function() {
  return this.entryType;
};

/**
* Set the field value
* The first four digits of the card number
*
* @memberof payments.CardTransaction
* @param {String} first6 
*/
CardTransaction.prototype.setFirst6 = function(first6) {
  this.first6 = first6;
};

/**
* Get the field value
* The first four digits of the card number
* @memberof payments.CardTransaction
* @return {String} 
*/
CardTransaction.prototype.getFirst6 = function() {
  return this.first6;
};

/**
* Set the field value
* The last four digits of the card number
*
* @memberof payments.CardTransaction
* @param {String} last4 
*/
CardTransaction.prototype.setLast4 = function(last4) {
  this.last4 = last4;
};

/**
* Get the field value
* The last four digits of the card number
* @memberof payments.CardTransaction
* @return {String} 
*/
CardTransaction.prototype.getLast4 = function() {
  return this.last4;
};

/**
* Set the field value
* @memberof payments.CardTransaction
* @param {payments.CardTransactionType} type 
*/
CardTransaction.prototype.setType = function(type) {
  this.type = type;
};

/**
* Get the field value
* @memberof payments.CardTransaction
* @return {payments.CardTransactionType} 
*/
CardTransaction.prototype.getType = function() {
  return this.type;
};

/**
* Set the field value
* Authorization code (if successful)
*
* @memberof payments.CardTransaction
* @param {String} authCode 
*/
CardTransaction.prototype.setAuthCode = function(authCode) {
  this.authCode = authCode;
};

/**
* Get the field value
* Authorization code (if successful)
* @memberof payments.CardTransaction
* @return {String} 
*/
CardTransaction.prototype.getAuthCode = function() {
  return this.authCode;
};

/**
* Set the field value
* @memberof payments.CardTransaction
* @param {String} referenceId 
*/
CardTransaction.prototype.setReferenceId = function(referenceId) {
  this.referenceId = referenceId;
};

/**
* Get the field value
* @memberof payments.CardTransaction
* @return {String} 
*/
CardTransaction.prototype.getReferenceId = function() {
  return this.referenceId;
};

/**
* Set the field value
* @memberof payments.CardTransaction
* @param {String} transactionNo 
*/
CardTransaction.prototype.setTransactionNo = function(transactionNo) {
  this.transactionNo = transactionNo;
};

/**
* Get the field value
* @memberof payments.CardTransaction
* @return {String} 
*/
CardTransaction.prototype.getTransactionNo = function() {
  return this.transactionNo;
};

/**
* Set the field value
* A state inferred from transaction type and whether the gateway captured the transaction
*
* @memberof payments.CardTransaction
* @param {payments.CardTransactionState} state 
*/
CardTransaction.prototype.setState = function(state) {
  this.state = state;
};

/**
* Get the field value
* A state inferred from transaction type and whether the gateway captured the transaction
* @memberof payments.CardTransaction
* @return {payments.CardTransactionState} 
*/
CardTransaction.prototype.getState = function() {
  return this.state;
};

/**
* Set the field value
* Extra info to be stored as part of gateway/card transaction
*
* @memberof payments.CardTransaction
* @param {Object.<String,String>} extra A map of <String> to <>
*/
CardTransaction.prototype.setExtra = function(extra) {
  this.extra = extra;
};

/**
* Get the field value
* Extra info to be stored as part of gateway/card transaction
* @memberof payments.CardTransaction
* @return {Object.<String,String>} A map of <String> to <>
*/
CardTransaction.prototype.getExtra = function() {
  return this.extra;
};

/**
* Set the field value
* @memberof payments.CardTransaction
* @param {Number|Null} begBalance must be a long integer, 
*/
CardTransaction.prototype.setBegBalance = function(begBalance) {
  this.begBalance = begBalance;
};

/**
* Get the field value
* @memberof payments.CardTransaction
* @return {Number|Null} must be a long integer, 
*/
CardTransaction.prototype.getBegBalance = function() {
  return this.begBalance;
};

/**
* Set the field value
* @memberof payments.CardTransaction
* @param {Number|Null} endBalance must be a long integer, 
*/
CardTransaction.prototype.setEndBalance = function(endBalance) {
  this.endBalance = endBalance;
};

/**
* Get the field value
* @memberof payments.CardTransaction
* @return {Number|Null} must be a long integer, 
*/
CardTransaction.prototype.getEndBalance = function() {
  return this.endBalance;
};

/**
* Set the field value
* @memberof payments.CardTransaction
* @param {payments.AVSResult} avsResult 
*/
CardTransaction.prototype.setAvsResult = function(avsResult) {
  this.avsResult = avsResult;
};

/**
* Get the field value
* @memberof payments.CardTransaction
* @return {payments.AVSResult} 
*/
CardTransaction.prototype.getAvsResult = function() {
  return this.avsResult;
};

/**
* Set the field value
* @memberof payments.CardTransaction
* @param {String} cardholderName 
*/
CardTransaction.prototype.setCardholderName = function(cardholderName) {
  this.cardholderName = cardholderName;
};

/**
* Get the field value
* @memberof payments.CardTransaction
* @return {String} 
*/
CardTransaction.prototype.getCardholderName = function() {
  return this.cardholderName;
};

/**
* Set the field value
* @memberof payments.CardTransaction
* @param {String} token 
*/
CardTransaction.prototype.setToken = function(token) {
  this.token = token;
};

/**
* Get the field value
* @memberof payments.CardTransaction
* @return {String} 
*/
CardTransaction.prototype.getToken = function() {
  return this.token;
};

/**
* Set the field value
* Vaulted card which can be used for subsequent transactions
*
* @memberof payments.CardTransaction
* @param {Null|payments.VaultedCard} vaultedCard 
*/
CardTransaction.prototype.setVaultedCard = function(vaultedCard) {
  this.vaultedCard = vaultedCard;
};

/**
* Get the field value
* Vaulted card which can be used for subsequent transactions
* @memberof payments.CardTransaction
* @return {Null|payments.VaultedCard} 
*/
CardTransaction.prototype.getVaultedCard = function() {
  return this.vaultedCard;
};

/**
* Set the field value
* The state as currently recorded. This differs from the legacy 'state' field. The legacy 'state' field is calculated from the 'type' field and whether the transaction was captured.
*
* @memberof payments.CardTransaction
* @param {payments.GatewayTxState} gatewayTxState 
*/
CardTransaction.prototype.setGatewayTxState = function(gatewayTxState) {
  this.gatewayTxState = gatewayTxState;
};

/**
* Get the field value
* The state as currently recorded. This differs from the legacy 'state' field. The legacy 'state' field is calculated from the 'type' field and whether the transaction was captured.
* @memberof payments.CardTransaction
* @return {payments.GatewayTxState} 
*/
CardTransaction.prototype.getGatewayTxState = function() {
  return this.gatewayTxState;
};

/**
* Set the field value
* Currency code
*
* @memberof payments.CardTransaction
* @param {String} currency 
*/
CardTransaction.prototype.setCurrency = function(currency) {
  this.currency = currency;
};

/**
* Get the field value
* Currency code
* @memberof payments.CardTransaction
* @return {String} 
*/
CardTransaction.prototype.getCurrency = function() {
  return this.currency;
};

/**
* @memberof payments.CardTransaction
* @private
*/
CardTransaction.prototype.getMetaInfo = function(fieldName) {
  var curclass = this._class_;
  do {
    var fieldMetaInfo = curclass._meta_.fields[fieldName];
    if(fieldMetaInfo) {
      return fieldMetaInfo;
    }
    if(curclass._meta_._superMeta_) {
      curclass = curclass._meta_._superMeta_._class_;
    } else {
      curclass = null;
    }
  } while(curclass);
  return null;
};

CardTransaction.prototype.toString = function() {
  return JSON.stringify(this);
};

CardTransaction._meta_ =  {fields:  {}};
CardTransaction._meta_._class_ =  CardTransaction;
CardTransaction._meta_.fields["paymentRef"] = {};
CardTransaction._meta_.fields["paymentRef"].type = base_Reference;
CardTransaction._meta_.fields["creditRef"] = {};
CardTransaction._meta_.fields["creditRef"].type = base_Reference;
CardTransaction._meta_.fields["cardType"] = {};
CardTransaction._meta_.fields["cardType"].type = payments_CardType;
CardTransaction._meta_.fields["entryType"] = {};
CardTransaction._meta_.fields["entryType"].type = payments_CardEntryType;
CardTransaction._meta_.fields["first6"] = {};
CardTransaction._meta_.fields["first6"].type = String;
CardTransaction._meta_.fields["last4"] = {};
CardTransaction._meta_.fields["last4"].type = String;
CardTransaction._meta_.fields["type"] = {};
CardTransaction._meta_.fields["type"].type = payments_CardTransactionType;
CardTransaction._meta_.fields["authCode"] = {};
CardTransaction._meta_.fields["authCode"].type = String;
CardTransaction._meta_.fields["referenceId"] = {};
CardTransaction._meta_.fields["referenceId"].type = String;
CardTransaction._meta_.fields["transactionNo"] = {};
CardTransaction._meta_.fields["transactionNo"].type = String;
CardTransaction._meta_.fields["state"] = {};
CardTransaction._meta_.fields["state"].type = payments_CardTransactionState;
CardTransaction._meta_.fields["extra"] = {};
CardTransaction._meta_.fields["extra"].type = Object;
CardTransaction._meta_.fields["begBalance"] = {};
CardTransaction._meta_.fields["begBalance"].type = Number;
CardTransaction._meta_.fields["endBalance"] = {};
CardTransaction._meta_.fields["endBalance"].type = Number;
CardTransaction._meta_.fields["avsResult"] = {};
CardTransaction._meta_.fields["avsResult"].type = payments_AVSResult;
CardTransaction._meta_.fields["cardholderName"] = {};
CardTransaction._meta_.fields["cardholderName"].type = String;
CardTransaction._meta_.fields["token"] = {};
CardTransaction._meta_.fields["token"].type = String;
CardTransaction._meta_.fields["vaultedCard"] = {};
CardTransaction._meta_.fields["vaultedCard"].type = payments_VaultedCard;
CardTransaction._meta_.fields["gatewayTxState"] = {};
CardTransaction._meta_.fields["gatewayTxState"].type = payments_GatewayTxState;
CardTransaction._meta_.fields["currency"] = {};
CardTransaction._meta_.fields["currency"].type = String;

//
// Expose the module.
//
if ('undefined' !== typeof module) {
module.exports = CardTransaction;
}