/// <summary> /// Creates an ECheck transaction request for use with the AIM gateway /// </summary> /// <param name="type">The Echeck Transaction type: ARC, BOC, CCD, PPD, TEL, WEB</param> /// <param name="amount"></param> /// <param name="bankABACode">The valid routing number of the customer’s bank</param> /// <param name="bankAccountNumber">The customer’s valid bank account number</param> /// <param name="acctType">CHECKING, BUSINESSCHECKING, SAVINGS</param> /// <param name="bankName">The name of the bank that holds the customer’s account</param> /// <param name="acctName">The name associated with the bank account</param> /// <param name="bankCheckNumber">The check number on the customer’s paper check</param> public EcheckAuthorizationRequest(EcheckType type, decimal amount, string bankABACode, string bankAccountNumber, BankAccountType acctType, string bankName, string acctName, string bankCheckNumber) : base( type, amount, bankABACode, bankAccountNumber, acctType, bankName, acctName, bankCheckNumber) { SetApiAction(RequestAction.Authorize); }
/// <summary> /// Creates an ECheck transaction request for use with the AIM gateway /// </summary> /// <param name="type">The Echeck Transaction type: ARC, BOC, CCD, PPD, TEL, WEB</param> /// <param name="amount"></param> /// <param name="bankABACode">The valid routing number of the customer’s bank</param> /// <param name="bankAccountNumber">The customer’s valid bank account number</param> /// <param name="acctType">CHECKING, BUSINESSCHECKING, SAVINGS</param> /// <param name="bankName">The name of the bank that holds the customer’s account</param> /// <param name="acctName">The name associated with the bank account</param> /// <param name="bankCheckNumber">The check number on the customer’s paper check</param> public EcheckUnlinkedCreditRequest(EcheckType type, decimal amount, string bankABACode, string bankAccountNumber, BankAccountType acctType, string bankName, string acctName, string bankCheckNumber) : base( type, amount, bankABACode, bankAccountNumber, acctType, bankName, acctName, bankCheckNumber) { SetApiAction(RequestAction.UnlinkedCredit); }
/// <summary> /// Creates an ECheck transaction request for use with the AIM gateway /// </summary> /// <param name="authCode">The auth code.</param> /// <param name="type">The Echeck Transaction type: ARC, BOC, CCD, PPD, TEL, WEB</param> /// <param name="amount"></param> /// <param name="bankABACode">The valid routing number of the customer’s bank</param> /// <param name="bankAccountNumber">The customer’s valid bank account number</param> /// <param name="acctType">CHECKING, BUSINESSCHECKING, SAVINGS</param> /// <param name="bankName">The name of the bank that holds the customer’s account</param> /// <param name="acctName">The name associated with the bank account</param> /// <param name="bankCheckNumber">The check number on the customer’s paper check</param> public EcheckCaptureRequest(string authCode, EcheckType type, decimal amount, string bankABACode, string bankAccountNumber, BankAccountType acctType, string bankName, string acctName, string bankCheckNumber) : base( type, amount, bankABACode, bankAccountNumber, acctType, bankName, acctName, bankCheckNumber) { this.SetApiAction(RequestAction.Capture); this.Queue(ApiFields.AuthorizationCode, authCode); }
/// <summary> /// Creates an ECheck transaction request for use with the AIM gateway /// </summary> /// <param name="type">The Echeck Transaction type: ARC, BOC, CCD, PPD, TEL, WEB</param> /// <param name="amount"></param> /// <param name="bankABACode">The valid routing number of the customer’s bank</param> /// <param name="bankAccountNumber">The customer’s valid bank account number</param> /// <param name="acctType">CHECKING, BUSINESSCHECKING, SAVINGS</param> /// <param name="bankName">The name of the bank that holds the customer’s account</param> /// <param name="acctName">The name associated with the bank account</param> /// <param name="bankCheckNumber">The check number on the customer’s paper check</param> public EcheckRequest(EcheckType type, decimal amount, string bankABACode, string bankAccountNumber, BankAccountType acctType, string bankName, string acctName, string bankCheckNumber) { Queue(ApiFields.Method, "ECHECK"); this.BankABACode = bankABACode; this.BankAccountName = acctName; this.BankAccountNumber = bankAccountNumber; this.BankAccountType = acctType; this.BankCheckNumber = bankCheckNumber; this.Amount = amount.ToString(); }
/// <summary> /// Creates an ECheck transaction request for use with the AIM gateway /// </summary> /// <param name="type">The Echeck Transaction type: ARC, BOC, CCD, PPD, TEL, WEB</param> /// <param name="amount"></param> /// <param name="bankABACode">The valid routing number of the customer’s bank</param> /// <param name="bankAccountNumber">The customer’s valid bank account number</param> /// <param name="acctType">CHECKING, BUSINESSCHECKING, SAVINGS</param> /// <param name="bankName">The name of the bank that holds the customer’s account</param> /// <param name="acctName">The name associated with the bank account</param> /// <param name="bankCheckNumber">The check number on the customer’s paper check</param> /// /// <param name="includeCapture">Should the item also be captured</param> public EcheckAuthorizationRequest(EcheckType type, decimal amount, string bankABACode, string bankAccountNumber, BankAccountType acctType, string bankName, string acctName, string bankCheckNumber, bool includeCapture = false) : base( type, amount, bankABACode, bankAccountNumber, acctType, bankName, acctName, bankCheckNumber) { if (includeCapture) { SetApiAction(RequestAction.AuthorizeAndCapture); } else { SetApiAction(RequestAction.Authorize); } }
/// <summary> /// Adds a bank account profile to the user and returns the profile ID /// </summary> /// <returns></returns> public string AddECheckBankAccount(string profileID, BankAccountType bankAccountType, string bankRoutingNumber, string bankAccountNumber, string personNameOnAccount, string bankName, EcheckType eCheckType, Address billToAddress) { return(AddECheckBankAccount(profileID, new BankAccount() { accountTypeSpecified = true, accountType = bankAccountType, routingNumber = bankRoutingNumber, accountNumber = bankAccountNumber, nameOnAccount = personNameOnAccount, bankName = bankName, echeckTypeSpecified = true, echeckType = eCheckType }, billToAddress)); }
/// <summary> /// Adds a bank account profile to the user and returns the profile ID /// </summary> /// <returns></returns> public string AddECheckBankAccount(string profileID, BankAccountType bankAccountType, string bankRoutingNumber, string bankAccountNumber, string personNameOnAccount, string bankName, EcheckType eCheckType, Address billToAddress) { return AddECheckBankAccount(profileID, new BankAccount() { accountTypeSpecified = true, accountType = bankAccountType, routingNumber = bankRoutingNumber, accountNumber = bankAccountNumber, nameOnAccount = personNameOnAccount, bankName = bankName, echeckTypeSpecified = true, echeckType = eCheckType }, billToAddress); }