Billhighway Cloud API

<back to all web services

Pmi

The following routes are available for this service:
POST/PMI
import java.math.*;
import java.util.*;
import net.servicestack.client.*;

public class dtos
{

    public static class Pmi
    {
        public String UniqueId = null;
        public Date CreatedDateTime = null;
        public Integer ClientId = null;
        public Integer GroupId = null;
        public Member MemberInfo = null;
        public ArrayList<Invoice> InvoiceCollection = null;
        public CreditCardPayment CcPaymentInfo = null;
        public CreateApplyCredit CreditInfo = null;
        public AchPayment AchPaymentInfo = null;
        public Long LockboxId = null;
        public Long MemberSubscriptionInvoiceId = null;
        
        public String getUniqueId() { return UniqueId; }
        public Pmi setUniqueId(String value) { this.UniqueId = value; return this; }
        public Date getCreatedDateTime() { return CreatedDateTime; }
        public Pmi setCreatedDateTime(Date value) { this.CreatedDateTime = value; return this; }
        public Integer getClientId() { return ClientId; }
        public Pmi setClientId(Integer value) { this.ClientId = value; return this; }
        public Integer getGroupId() { return GroupId; }
        public Pmi setGroupId(Integer value) { this.GroupId = value; return this; }
        public Member getMemberInfo() { return MemberInfo; }
        public Pmi setMemberInfo(Member value) { this.MemberInfo = value; return this; }
        public ArrayList<Invoice> getInvoiceCollection() { return InvoiceCollection; }
        public Pmi setInvoiceCollection(ArrayList<Invoice> value) { this.InvoiceCollection = value; return this; }
        public CreditCardPayment getCcPaymentInfo() { return CcPaymentInfo; }
        public Pmi setCcPaymentInfo(CreditCardPayment value) { this.CcPaymentInfo = value; return this; }
        public CreateApplyCredit getCreditInfo() { return CreditInfo; }
        public Pmi setCreditInfo(CreateApplyCredit value) { this.CreditInfo = value; return this; }
        public AchPayment getAchPaymentInfo() { return AchPaymentInfo; }
        public Pmi setAchPaymentInfo(AchPayment value) { this.AchPaymentInfo = value; return this; }
        public Long getLockboxId() { return LockboxId; }
        public Pmi setLockboxId(Long value) { this.LockboxId = value; return this; }
        public Long getMemberSubscriptionInvoiceId() { return MemberSubscriptionInvoiceId; }
        public Pmi setMemberSubscriptionInvoiceId(Long value) { this.MemberSubscriptionInvoiceId = value; return this; }
    }

    public static class Member
    {
        public String ClassName = null;
        public String UniqueId = null;
        public Date CreatedDateTime = null;
        public Integer ClientId = null;
        public String GroupId = null;
        public String UserId = null;
        public String AlternateUserId = null;
        public Integer BhUserId = null;
        public String FirstName = null;
        public String LastName = null;
        public String MiddleName = null;
        public String PreferredEmailAddress = null;
        public String OtherEmailAddress = null;
        public String PreferredPhoneNumber = null;
        public String PreferredAddress1 = null;
        public String PreferredAddress2 = null;
        public String PreferredCity = null;
        public String PreferredState = null;
        public String PreferredZip = null;
        public String PreferredCountry = null;
        public String AccessLevel = null;
        public String MemberStatus = null;
        public String MemberTypeClient = null;
        public String BillingType = null;
        public Integer FiscalYear = null;
        public String WorkLocation = null;
        public Date DOB = null;
        public String Paperless = null;
        public String DisplayName = null;
        public String DisableLogin = null;
        public RecurringInvoiceSettings RecurringInvoiceSettings = null;
        public ArrayList<SubscriberFormField> FormFields = null;
        public ArrayList<AttributeItem> Attributes = null;
        public ArrayList<Chapter> GroupList = null;
        
        public String getClassName() { return ClassName; }
        public Member setClassName(String value) { this.ClassName = value; return this; }
        public String getUniqueId() { return UniqueId; }
        public Member setUniqueId(String value) { this.UniqueId = value; return this; }
        public Date getCreatedDateTime() { return CreatedDateTime; }
        public Member setCreatedDateTime(Date value) { this.CreatedDateTime = value; return this; }
        public Integer getClientId() { return ClientId; }
        public Member setClientId(Integer value) { this.ClientId = value; return this; }
        public String getGroupId() { return GroupId; }
        public Member setGroupId(String value) { this.GroupId = value; return this; }
        public String getUserId() { return UserId; }
        public Member setUserId(String value) { this.UserId = value; return this; }
        public String getAlternateUserId() { return AlternateUserId; }
        public Member setAlternateUserId(String value) { this.AlternateUserId = value; return this; }
        public Integer getBhUserId() { return BhUserId; }
        public Member setBhUserId(Integer value) { this.BhUserId = value; return this; }
        public String getFirstName() { return FirstName; }
        public Member setFirstName(String value) { this.FirstName = value; return this; }
        public String getLastName() { return LastName; }
        public Member setLastName(String value) { this.LastName = value; return this; }
        public String getMiddleName() { return MiddleName; }
        public Member setMiddleName(String value) { this.MiddleName = value; return this; }
        public String getPreferredEmailAddress() { return PreferredEmailAddress; }
        public Member setPreferredEmailAddress(String value) { this.PreferredEmailAddress = value; return this; }
        public String getOtherEmailAddress() { return OtherEmailAddress; }
        public Member setOtherEmailAddress(String value) { this.OtherEmailAddress = value; return this; }
        public String getPreferredPhoneNumber() { return PreferredPhoneNumber; }
        public Member setPreferredPhoneNumber(String value) { this.PreferredPhoneNumber = value; return this; }
        public String getPreferredAddress1() { return PreferredAddress1; }
        public Member setPreferredAddress1(String value) { this.PreferredAddress1 = value; return this; }
        public String getPreferredAddress2() { return PreferredAddress2; }
        public Member setPreferredAddress2(String value) { this.PreferredAddress2 = value; return this; }
        public String getPreferredCity() { return PreferredCity; }
        public Member setPreferredCity(String value) { this.PreferredCity = value; return this; }
        public String getPreferredState() { return PreferredState; }
        public Member setPreferredState(String value) { this.PreferredState = value; return this; }
        public String getPreferredZip() { return PreferredZip; }
        public Member setPreferredZip(String value) { this.PreferredZip = value; return this; }
        public String getPreferredCountry() { return PreferredCountry; }
        public Member setPreferredCountry(String value) { this.PreferredCountry = value; return this; }
        public String getAccessLevel() { return AccessLevel; }
        public Member setAccessLevel(String value) { this.AccessLevel = value; return this; }
        public String getMemberStatus() { return MemberStatus; }
        public Member setMemberStatus(String value) { this.MemberStatus = value; return this; }
        public String getMemberTypeClient() { return MemberTypeClient; }
        public Member setMemberTypeClient(String value) { this.MemberTypeClient = value; return this; }
        public String getBillingType() { return BillingType; }
        public Member setBillingType(String value) { this.BillingType = value; return this; }
        public Integer getFiscalYear() { return FiscalYear; }
        public Member setFiscalYear(Integer value) { this.FiscalYear = value; return this; }
        public String getWorkLocation() { return WorkLocation; }
        public Member setWorkLocation(String value) { this.WorkLocation = value; return this; }
        public Date getDob() { return DOB; }
        public Member setDob(Date value) { this.DOB = value; return this; }
        public String getPaperless() { return Paperless; }
        public Member setPaperless(String value) { this.Paperless = value; return this; }
        public String getDisplayName() { return DisplayName; }
        public Member setDisplayName(String value) { this.DisplayName = value; return this; }
        public String getDisableLogin() { return DisableLogin; }
        public Member setDisableLogin(String value) { this.DisableLogin = value; return this; }
        public RecurringInvoiceSettings getRecurringInvoiceSettings() { return RecurringInvoiceSettings; }
        public Member setRecurringInvoiceSettings(RecurringInvoiceSettings value) { this.RecurringInvoiceSettings = value; return this; }
        public ArrayList<SubscriberFormField> getFormFields() { return FormFields; }
        public Member setFormFields(ArrayList<SubscriberFormField> value) { this.FormFields = value; return this; }
        public ArrayList<AttributeItem> getAttributes() { return Attributes; }
        public Member setAttributes(ArrayList<AttributeItem> value) { this.Attributes = value; return this; }
        public ArrayList<Chapter> getGroupList() { return GroupList; }
        public Member setGroupList(ArrayList<Chapter> value) { this.GroupList = value; return this; }
    }

    public static class RecurringInvoiceSettings
    {
        public String DonationAmount = null;
        
        public String getDonationAmount() { return DonationAmount; }
        public RecurringInvoiceSettings setDonationAmount(String value) { this.DonationAmount = value; return this; }
    }

    public static class SubscriberFormField
    {
        public String Name = null;
        public String Value = null;
        
        public String getName() { return Name; }
        public SubscriberFormField setName(String value) { this.Name = value; return this; }
        public String getValue() { return Value; }
        public SubscriberFormField setValue(String value) { this.Value = value; return this; }
    }

    public static class AttributeItem
    {
        public String Name = null;
        public String Value = null;
        
        public String getName() { return Name; }
        public AttributeItem setName(String value) { this.Name = value; return this; }
        public String getValue() { return Value; }
        public AttributeItem setValue(String value) { this.Value = value; return this; }
    }

    public static class Chapter
    {
        public String GroupId = null;
        
        public String getGroupId() { return GroupId; }
        public Chapter setGroupId(String value) { this.GroupId = value; return this; }
    }

    public static class Invoice implements IInvoiceValidation
    {
        public String UniqueId = null;
        public Integer ClientId = null;
        public String GroupId = null;
        public String Description = null;
        public String OpportunityId = null;
        public Integer Installments = null;
        public Integer Frequency = null;
        public Date InvoiceDueDate = null;
        public Boolean Deliver = null;
        public String UserId = null;
        public Integer BhUserId = null;
        public String CurrencyType = null;
        public ArrayList<InvoiceItem> InvoiceItems = null;
        public Integer InvoiceNo = null;
        public BigDecimal InvoiceAmt = null;
        public String ExternalInvBatchNo = null;
        public Boolean ExemptFromLateFee = null;
        
        public String getUniqueId() { return UniqueId; }
        public Invoice setUniqueId(String value) { this.UniqueId = value; return this; }
        public Integer getClientId() { return ClientId; }
        public Invoice setClientId(Integer value) { this.ClientId = value; return this; }
        public String getGroupId() { return GroupId; }
        public Invoice setGroupId(String value) { this.GroupId = value; return this; }
        public String getDescription() { return Description; }
        public Invoice setDescription(String value) { this.Description = value; return this; }
        public String getOpportunityId() { return OpportunityId; }
        public Invoice setOpportunityId(String value) { this.OpportunityId = value; return this; }
        public Integer getInstallments() { return Installments; }
        public Invoice setInstallments(Integer value) { this.Installments = value; return this; }
        public Integer getFrequency() { return Frequency; }
        public Invoice setFrequency(Integer value) { this.Frequency = value; return this; }
        public Date getInvoiceDueDate() { return InvoiceDueDate; }
        public Invoice setInvoiceDueDate(Date value) { this.InvoiceDueDate = value; return this; }
        public Boolean isDeliver() { return Deliver; }
        public Invoice setDeliver(Boolean value) { this.Deliver = value; return this; }
        public String getUserId() { return UserId; }
        public Invoice setUserId(String value) { this.UserId = value; return this; }
        public Integer getBhUserId() { return BhUserId; }
        public Invoice setBhUserId(Integer value) { this.BhUserId = value; return this; }
        public String getCurrencyType() { return CurrencyType; }
        public Invoice setCurrencyType(String value) { this.CurrencyType = value; return this; }
        public ArrayList<InvoiceItem> getInvoiceItems() { return InvoiceItems; }
        public Invoice setInvoiceItems(ArrayList<InvoiceItem> value) { this.InvoiceItems = value; return this; }
        public Integer getInvoiceNo() { return InvoiceNo; }
        public Invoice setInvoiceNo(Integer value) { this.InvoiceNo = value; return this; }
        public BigDecimal getInvoiceAmt() { return InvoiceAmt; }
        public Invoice setInvoiceAmt(BigDecimal value) { this.InvoiceAmt = value; return this; }
        public String getExternalInvBatchNo() { return ExternalInvBatchNo; }
        public Invoice setExternalInvBatchNo(String value) { this.ExternalInvBatchNo = value; return this; }
        public Boolean isExemptFromLateFee() { return ExemptFromLateFee; }
        public Invoice setExemptFromLateFee(Boolean value) { this.ExemptFromLateFee = value; return this; }
    }

    public static class InvoiceItem implements IInvoiceItemValidation
    {
        public String UniqueId = null;
        public String ProductName = null;
        public BigDecimal AmountDue = null;
        public String ProductType = null;
        public Integer ActPatternTypeID = null;
        public Date TermStartDate = null;
        public Date TermEndDate = null;
        public Integer RecognitionPeriod = null;
        public String RevenueAccount = null;
        public String AccountsReceivableAccount = null;
        public String LiabilityAccount = null;
        public String CreditExpenseAccount = null;
        public String InvoiceClearingAccount = null;
        public String CostCenter = null;
        public String Region = null;
        
        public String getUniqueId() { return UniqueId; }
        public InvoiceItem setUniqueId(String value) { this.UniqueId = value; return this; }
        public String getProductName() { return ProductName; }
        public InvoiceItem setProductName(String value) { this.ProductName = value; return this; }
        public BigDecimal getAmountDue() { return AmountDue; }
        public InvoiceItem setAmountDue(BigDecimal value) { this.AmountDue = value; return this; }
        public String getProductType() { return ProductType; }
        public InvoiceItem setProductType(String value) { this.ProductType = value; return this; }
        public Integer getActPatternTypeID() { return ActPatternTypeID; }
        public InvoiceItem setActPatternTypeID(Integer value) { this.ActPatternTypeID = value; return this; }
        public Date getTermStartDate() { return TermStartDate; }
        public InvoiceItem setTermStartDate(Date value) { this.TermStartDate = value; return this; }
        public Date getTermEndDate() { return TermEndDate; }
        public InvoiceItem setTermEndDate(Date value) { this.TermEndDate = value; return this; }
        public Integer getRecognitionPeriod() { return RecognitionPeriod; }
        public InvoiceItem setRecognitionPeriod(Integer value) { this.RecognitionPeriod = value; return this; }
        public String getRevenueAccount() { return RevenueAccount; }
        public InvoiceItem setRevenueAccount(String value) { this.RevenueAccount = value; return this; }
        public String getAccountsReceivableAccount() { return AccountsReceivableAccount; }
        public InvoiceItem setAccountsReceivableAccount(String value) { this.AccountsReceivableAccount = value; return this; }
        public String getLiabilityAccount() { return LiabilityAccount; }
        public InvoiceItem setLiabilityAccount(String value) { this.LiabilityAccount = value; return this; }
        public String getCreditExpenseAccount() { return CreditExpenseAccount; }
        public InvoiceItem setCreditExpenseAccount(String value) { this.CreditExpenseAccount = value; return this; }
        public String getInvoiceClearingAccount() { return InvoiceClearingAccount; }
        public InvoiceItem setInvoiceClearingAccount(String value) { this.InvoiceClearingAccount = value; return this; }
        public String getCostCenter() { return CostCenter; }
        public InvoiceItem setCostCenter(String value) { this.CostCenter = value; return this; }
        public String getRegion() { return Region; }
        public InvoiceItem setRegion(String value) { this.Region = value; return this; }
    }

    public static class CreditCardPayment extends CreditCardPayment
    {
        public SubscriptionParameters SubscriptionInfo = null;
        
        public SubscriptionParameters getSubscriptionInfo() { return SubscriptionInfo; }
        public CreditCardPayment setSubscriptionInfo(SubscriptionParameters value) { this.SubscriptionInfo = value; return this; }
    }

    public static class SubscriptionParameters
    {
        public Integer FormTemplateID = null;
        public Integer SubscriptionInvoiceID = null;
        public String ClientSubscriberId = null;
        public Integer SignupTypeID = null;
        public Integer FrequencyID = null;
        public Boolean AutoRenew = null;
        public Long CompanyID = null;
        public Integer UserID = null;
        public Long ChapMemPayID = null;
        public Long MemberSubscriptionInvID = null;
        public ArrayList<SubscriberFormField> Fields = null;
        public Integer CreatedBy = null;
        public Integer UpdatedBy = null;
        public Integer AptifyUpdateType = null;
        public Long RenewedMemberSubscriptionInvID = null;
        public Integer ChapId = null;
        
        public Integer getFormTemplateID() { return FormTemplateID; }
        public SubscriptionParameters setFormTemplateID(Integer value) { this.FormTemplateID = value; return this; }
        public Integer getSubscriptionInvoiceID() { return SubscriptionInvoiceID; }
        public SubscriptionParameters setSubscriptionInvoiceID(Integer value) { this.SubscriptionInvoiceID = value; return this; }
        public String getClientSubscriberId() { return ClientSubscriberId; }
        public SubscriptionParameters setClientSubscriberId(String value) { this.ClientSubscriberId = value; return this; }
        public Integer getSignupTypeID() { return SignupTypeID; }
        public SubscriptionParameters setSignupTypeID(Integer value) { this.SignupTypeID = value; return this; }
        public Integer getFrequencyID() { return FrequencyID; }
        public SubscriptionParameters setFrequencyID(Integer value) { this.FrequencyID = value; return this; }
        public Boolean isAutoRenew() { return AutoRenew; }
        public SubscriptionParameters setAutoRenew(Boolean value) { this.AutoRenew = value; return this; }
        public Long getCompanyID() { return CompanyID; }
        public SubscriptionParameters setCompanyID(Long value) { this.CompanyID = value; return this; }
        public Integer getUserID() { return UserID; }
        public SubscriptionParameters setUserID(Integer value) { this.UserID = value; return this; }
        public Long getChapMemPayID() { return ChapMemPayID; }
        public SubscriptionParameters setChapMemPayID(Long value) { this.ChapMemPayID = value; return this; }
        public Long getMemberSubscriptionInvID() { return MemberSubscriptionInvID; }
        public SubscriptionParameters setMemberSubscriptionInvID(Long value) { this.MemberSubscriptionInvID = value; return this; }
        public ArrayList<SubscriberFormField> getFields() { return Fields; }
        public SubscriptionParameters setFields(ArrayList<SubscriberFormField> value) { this.Fields = value; return this; }
        public Integer getCreatedBy() { return CreatedBy; }
        public SubscriptionParameters setCreatedBy(Integer value) { this.CreatedBy = value; return this; }
        public Integer getUpdatedBy() { return UpdatedBy; }
        public SubscriptionParameters setUpdatedBy(Integer value) { this.UpdatedBy = value; return this; }
        public Integer getAptifyUpdateType() { return AptifyUpdateType; }
        public SubscriptionParameters setAptifyUpdateType(Integer value) { this.AptifyUpdateType = value; return this; }
        public Long getRenewedMemberSubscriptionInvID() { return RenewedMemberSubscriptionInvID; }
        public SubscriptionParameters setRenewedMemberSubscriptionInvID(Long value) { this.RenewedMemberSubscriptionInvID = value; return this; }
        public Integer getChapId() { return ChapId; }
        public SubscriptionParameters setChapId(Integer value) { this.ChapId = value; return this; }
    }

    public static class CreateApplyCredit
    {
        public String ClassName = null;
        public String UniqueId = null;
        public Date CreatedDateTime = null;
        public Integer ClientId = null;
        public String GroupId = null;
        public String UserId = null;
        public Integer BhUserId = null;
        public Integer CreditId = null;
        public String CurrencyType = null;
        public String CreditType = null;
        public String Notes = null;
        public ArrayList<SalesForceCreditInvoiceDetails> InvoiceDetails = null;
        
        public String getClassName() { return ClassName; }
        public CreateApplyCredit setClassName(String value) { this.ClassName = value; return this; }
        public String getUniqueId() { return UniqueId; }
        public CreateApplyCredit setUniqueId(String value) { this.UniqueId = value; return this; }
        public Date getCreatedDateTime() { return CreatedDateTime; }
        public CreateApplyCredit setCreatedDateTime(Date value) { this.CreatedDateTime = value; return this; }
        public Integer getClientId() { return ClientId; }
        public CreateApplyCredit setClientId(Integer value) { this.ClientId = value; return this; }
        public String getGroupId() { return GroupId; }
        public CreateApplyCredit setGroupId(String value) { this.GroupId = value; return this; }
        public String getUserId() { return UserId; }
        public CreateApplyCredit setUserId(String value) { this.UserId = value; return this; }
        public Integer getBhUserId() { return BhUserId; }
        public CreateApplyCredit setBhUserId(Integer value) { this.BhUserId = value; return this; }
        public Integer getCreditId() { return CreditId; }
        public CreateApplyCredit setCreditId(Integer value) { this.CreditId = value; return this; }
        public String getCurrencyType() { return CurrencyType; }
        public CreateApplyCredit setCurrencyType(String value) { this.CurrencyType = value; return this; }
        public String getCreditType() { return CreditType; }
        public CreateApplyCredit setCreditType(String value) { this.CreditType = value; return this; }
        public String getNotes() { return Notes; }
        public CreateApplyCredit setNotes(String value) { this.Notes = value; return this; }
        public ArrayList<SalesForceCreditInvoiceDetails> getInvoiceDetails() { return InvoiceDetails; }
        public CreateApplyCredit setInvoiceDetails(ArrayList<SalesForceCreditInvoiceDetails> value) { this.InvoiceDetails = value; return this; }
    }

    public static class SalesForceCreditInvoiceDetails
    {
        public Long Invoice = null;
        public BigDecimal AmountPaid = null;
        public String Region = null;
        public String CostCenter = null;
        
        public Long getInvoice() { return Invoice; }
        public SalesForceCreditInvoiceDetails setInvoice(Long value) { this.Invoice = value; return this; }
        public BigDecimal getAmountPaid() { return AmountPaid; }
        public SalesForceCreditInvoiceDetails setAmountPaid(BigDecimal value) { this.AmountPaid = value; return this; }
        public String getRegion() { return Region; }
        public SalesForceCreditInvoiceDetails setRegion(String value) { this.Region = value; return this; }
        public String getCostCenter() { return CostCenter; }
        public SalesForceCreditInvoiceDetails setCostCenter(String value) { this.CostCenter = value; return this; }
    }

    public static class AchPayment
    {
        public String ClassName = null;
        public String UniqueId = null;
        public Date CreatedDateTime = null;
        public Integer ClientId = null;
        public String GroupId = null;
        public String UserId = null;
        public Integer BhUserId = null;
        public BigDecimal Amount = null;
        public String CurrencyType = null;
        public String Country = null;
        public String RoutingNumber = null;
        public String AccountNumber = null;
        public String AchReference = null;
        public String AccountType = null;
        public Boolean IsSavingsAccount = null;
        public String PayerName = null;
        public String CheckNumber = null;
        public String PreferredEmailAddress = null;
        public String Memo = null;
        public ArrayList<SalesForceMemberPaymentInvoiceDetail> InvoiceList = null;
        public Boolean AutoPay = null;
        public Boolean StoreAchInfo = null;
        public Integer EncryptionTypeId = null;
        
        public String getClassName() { return ClassName; }
        public AchPayment setClassName(String value) { this.ClassName = value; return this; }
        public String getUniqueId() { return UniqueId; }
        public AchPayment setUniqueId(String value) { this.UniqueId = value; return this; }
        public Date getCreatedDateTime() { return CreatedDateTime; }
        public AchPayment setCreatedDateTime(Date value) { this.CreatedDateTime = value; return this; }
        public Integer getClientId() { return ClientId; }
        public AchPayment setClientId(Integer value) { this.ClientId = value; return this; }
        public String getGroupId() { return GroupId; }
        public AchPayment setGroupId(String value) { this.GroupId = value; return this; }
        public String getUserId() { return UserId; }
        public AchPayment setUserId(String value) { this.UserId = value; return this; }
        public Integer getBhUserId() { return BhUserId; }
        public AchPayment setBhUserId(Integer value) { this.BhUserId = value; return this; }
        public BigDecimal getAmount() { return Amount; }
        public AchPayment setAmount(BigDecimal value) { this.Amount = value; return this; }
        public String getCurrencyType() { return CurrencyType; }
        public AchPayment setCurrencyType(String value) { this.CurrencyType = value; return this; }
        public String getCountry() { return Country; }
        public AchPayment setCountry(String value) { this.Country = value; return this; }
        public String getRoutingNumber() { return RoutingNumber; }
        public AchPayment setRoutingNumber(String value) { this.RoutingNumber = value; return this; }
        public String getAccountNumber() { return AccountNumber; }
        public AchPayment setAccountNumber(String value) { this.AccountNumber = value; return this; }
        public String getAchReference() { return AchReference; }
        public AchPayment setAchReference(String value) { this.AchReference = value; return this; }
        public String getAccountType() { return AccountType; }
        public AchPayment setAccountType(String value) { this.AccountType = value; return this; }
        public Boolean getIsSavingsAccount() { return IsSavingsAccount; }
        public AchPayment setIsSavingsAccount(Boolean value) { this.IsSavingsAccount = value; return this; }
        public String getPayerName() { return PayerName; }
        public AchPayment setPayerName(String value) { this.PayerName = value; return this; }
        public String getCheckNumber() { return CheckNumber; }
        public AchPayment setCheckNumber(String value) { this.CheckNumber = value; return this; }
        public String getPreferredEmailAddress() { return PreferredEmailAddress; }
        public AchPayment setPreferredEmailAddress(String value) { this.PreferredEmailAddress = value; return this; }
        public String getMemo() { return Memo; }
        public AchPayment setMemo(String value) { this.Memo = value; return this; }
        public ArrayList<SalesForceMemberPaymentInvoiceDetail> getInvoiceList() { return InvoiceList; }
        public AchPayment setInvoiceList(ArrayList<SalesForceMemberPaymentInvoiceDetail> value) { this.InvoiceList = value; return this; }
        public Boolean isAutoPay() { return AutoPay; }
        public AchPayment setAutoPay(Boolean value) { this.AutoPay = value; return this; }
        public Boolean isStoreAchInfo() { return StoreAchInfo; }
        public AchPayment setStoreAchInfo(Boolean value) { this.StoreAchInfo = value; return this; }
        public Integer getEncryptionTypeId() { return EncryptionTypeId; }
        public AchPayment setEncryptionTypeId(Integer value) { this.EncryptionTypeId = value; return this; }
    }

    public static class SalesForceMemberPaymentInvoiceDetail
    {
        public String ClassName = null;
        public String UniqueId = null;
        public Date CreatedDateTime = null;
        public Integer ClientId = null;
        public Integer Invoice = null;
        public String AmountPaid = null;
        
        public String getClassName() { return ClassName; }
        public SalesForceMemberPaymentInvoiceDetail setClassName(String value) { this.ClassName = value; return this; }
        public String getUniqueId() { return UniqueId; }
        public SalesForceMemberPaymentInvoiceDetail setUniqueId(String value) { this.UniqueId = value; return this; }
        public Date getCreatedDateTime() { return CreatedDateTime; }
        public SalesForceMemberPaymentInvoiceDetail setCreatedDateTime(Date value) { this.CreatedDateTime = value; return this; }
        public Integer getClientId() { return ClientId; }
        public SalesForceMemberPaymentInvoiceDetail setClientId(Integer value) { this.ClientId = value; return this; }
        public Integer getInvoice() { return Invoice; }
        public SalesForceMemberPaymentInvoiceDetail setInvoice(Integer value) { this.Invoice = value; return this; }
        public String getAmountPaid() { return AmountPaid; }
        public SalesForceMemberPaymentInvoiceDetail setAmountPaid(String value) { this.AmountPaid = value; return this; }
    }

    public static class PmiReply implements IHaveErrorField
    {
        public String UniqueId = null;
        public Date CreatedDateTime = null;
        public Integer ClientId = null;
        public String BillhighwayPaymentConfirmationNumber = null;
        public Integer BillhighwayUserId = null;
        public ArrayList<Integer> BhInvoiceBatchId = null;
        public Long ChapMemPayid = null;
        public Integer ErrorCode = null;
        public String ErrorMessage = null;
        public Boolean IsError = null;
        
        public String getUniqueId() { return UniqueId; }
        public PmiReply setUniqueId(String value) { this.UniqueId = value; return this; }
        public Date getCreatedDateTime() { return CreatedDateTime; }
        public PmiReply setCreatedDateTime(Date value) { this.CreatedDateTime = value; return this; }
        public Integer getClientId() { return ClientId; }
        public PmiReply setClientId(Integer value) { this.ClientId = value; return this; }
        public String getBillhighwayPaymentConfirmationNumber() { return BillhighwayPaymentConfirmationNumber; }
        public PmiReply setBillhighwayPaymentConfirmationNumber(String value) { this.BillhighwayPaymentConfirmationNumber = value; return this; }
        public Integer getBillhighwayUserId() { return BillhighwayUserId; }
        public PmiReply setBillhighwayUserId(Integer value) { this.BillhighwayUserId = value; return this; }
        public ArrayList<Integer> getBhInvoiceBatchId() { return BhInvoiceBatchId; }
        public PmiReply setBhInvoiceBatchId(ArrayList<Integer> value) { this.BhInvoiceBatchId = value; return this; }
        public Long getChapMemPayid() { return ChapMemPayid; }
        public PmiReply setChapMemPayid(Long value) { this.ChapMemPayid = value; return this; }
        public Integer getErrorCode() { return ErrorCode; }
        public PmiReply setErrorCode(Integer value) { this.ErrorCode = value; return this; }
        public String getErrorMessage() { return ErrorMessage; }
        public PmiReply setErrorMessage(String value) { this.ErrorMessage = value; return this; }
        public Boolean getIsError() { return IsError; }
        public PmiReply setIsError(Boolean value) { this.IsError = value; return this; }
    }

}

Java Pmi DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml

HTTP + XML

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /PMI HTTP/1.1 
Host: devapi.billhighway.com 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<Pmi xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/BH.CloudAPI.Common4.DTO.SalesForce">
  <AchPaymentInfo>
    <AccountNumber>String</AccountNumber>
    <AccountType>String</AccountType>
    <AchReference>String</AchReference>
    <Amount>0</Amount>
    <AutoPay>false</AutoPay>
    <BhUserId>0</BhUserId>
    <CheckNumber>String</CheckNumber>
    <ClassName>String</ClassName>
    <ClientId>0</ClientId>
    <Country>String</Country>
    <CreatedDateTime>0001-01-01T00:00:00</CreatedDateTime>
    <CurrencyType>String</CurrencyType>
    <EncryptionTypeId>0</EncryptionTypeId>
    <GroupId>String</GroupId>
    <InvoiceList>
      <SalesForceMemberPaymentInvoiceDetail>
        <AmountPaid>String</AmountPaid>
        <ClassName>String</ClassName>
        <ClientId>0</ClientId>
        <CreatedDateTime>0001-01-01T00:00:00</CreatedDateTime>
        <Invoice>0</Invoice>
        <UniqueId>String</UniqueId>
      </SalesForceMemberPaymentInvoiceDetail>
    </InvoiceList>
    <Memo>String</Memo>
    <PayerName>String</PayerName>
    <PreferredEmailAddress>String</PreferredEmailAddress>
    <RoutingNumber>String</RoutingNumber>
    <StoreAchInfo>false</StoreAchInfo>
    <UniqueId>String</UniqueId>
    <UserId>String</UserId>
  </AchPaymentInfo>
  <CcPaymentInfo>
    <Address1>String</Address1>
    <Address2>String</Address2>
    <Amount>String</Amount>
    <AutoPay>false</AutoPay>
    <BhUserId>0</BhUserId>
    <BillingCity>String</BillingCity>
    <BillingState>String</BillingState>
    <CardReferenceOrCardNumber>String</CardReferenceOrCardNumber>
    <CardType>String</CardType>
    <ClassName>String</ClassName>
    <ClientId>0</ClientId>
    <Country>String</Country>
    <CreatedDateTime>0001-01-01T00:00:00</CreatedDateTime>
    <CurrencyType>String</CurrencyType>
    <Cvv>String</Cvv>
    <ExpMonth>0</ExpMonth>
    <ExpYear>0</ExpYear>
    <GroupId>String</GroupId>
    <InvoiceList>
      <SalesForceMemberPaymentInvoiceDetail>
        <AmountPaid>String</AmountPaid>
        <ClassName>String</ClassName>
        <ClientId>0</ClientId>
        <CreatedDateTime>0001-01-01T00:00:00</CreatedDateTime>
        <Invoice>0</Invoice>
        <UniqueId>String</UniqueId>
      </SalesForceMemberPaymentInvoiceDetail>
    </InvoiceList>
    <Location>String</Location>
    <Memo>String</Memo>
    <NameOnCard>String</NameOnCard>
    <OpportunityId>String</OpportunityId>
    <PostalCode>String</PostalCode>
    <PreferredEmailAddress>String</PreferredEmailAddress>
    <StoreCardInfo>false</StoreCardInfo>
    <UniqueId>String</UniqueId>
    <UserId>String</UserId>
  </CcPaymentInfo>
  <ClientId>0</ClientId>
  <CreatedDateTime>0001-01-01T00:00:00</CreatedDateTime>
  <CreditInfo>
    <BhUserId>0</BhUserId>
    <ClassName>String</ClassName>
    <ClientId>0</ClientId>
    <CreatedDateTime>0001-01-01T00:00:00</CreatedDateTime>
    <CreditId>0</CreditId>
    <CreditType>String</CreditType>
    <CurrencyType>String</CurrencyType>
    <GroupId>String</GroupId>
    <InvoiceDetails>
      <SalesForceCreditInvoiceDetails>
        <AmountPaid>0</AmountPaid>
        <CostCenter>String</CostCenter>
        <Invoice>0</Invoice>
        <Region>String</Region>
      </SalesForceCreditInvoiceDetails>
    </InvoiceDetails>
    <Notes>String</Notes>
    <UniqueId>String</UniqueId>
    <UserId>String</UserId>
  </CreditInfo>
  <GroupId>0</GroupId>
  <InvoiceCollection>
    <Invoice>
      <BhUserId>0</BhUserId>
      <ClientId>0</ClientId>
      <CurrencyType>String</CurrencyType>
      <Deliver>false</Deliver>
      <Description>String</Description>
      <ExemptFromLateFee>false</ExemptFromLateFee>
      <ExternalInvBatchNo>String</ExternalInvBatchNo>
      <Frequency>0</Frequency>
      <GroupId>String</GroupId>
      <Installments>0</Installments>
      <InvoiceAmt>0</InvoiceAmt>
      <InvoiceDueDate>0001-01-01T00:00:00</InvoiceDueDate>
      <InvoiceItems>
        <InvoiceItem>
          <AmountDue>String</AmountDue>
          <ProductName>String</ProductName>
          <RevenueAccount>String</RevenueAccount>
        </InvoiceItem>
      </InvoiceItems>
      <InvoiceNo>0</InvoiceNo>
      <OpportunityId>String</OpportunityId>
      <UniqueId>String</UniqueId>
      <UserId>String</UserId>
    </Invoice>
  </InvoiceCollection>
  <LockboxId>0</LockboxId>
  <MemberInfo>
    <AccessLevel>String</AccessLevel>
    <AlternateUserId>String</AlternateUserId>
    <Attributes xmlns:d3p1="https://www.billhighway.com/api">
      <d3p1:AttributeItem>
        <d3p1:Name>String</d3p1:Name>
        <d3p1:Value>String</d3p1:Value>
      </d3p1:AttributeItem>
    </Attributes>
    <BhUserId>0</BhUserId>
    <BillingType>String</BillingType>
    <ClassName>String</ClassName>
    <ClientId>0</ClientId>
    <CreatedDateTime>0001-01-01T00:00:00</CreatedDateTime>
    <DOB>0001-01-01T00:00:00</DOB>
    <DisableLogin>String</DisableLogin>
    <DisplayName>String</DisplayName>
    <FirstName>String</FirstName>
    <FiscalYear>0</FiscalYear>
    <FormFields>
      <SubscriberFormField>
        <_x003C_Name_x003E_k__BackingField>String</_x003C_Name_x003E_k__BackingField>
        <_x003C_Value_x003E_k__BackingField>String</_x003C_Value_x003E_k__BackingField>
      </SubscriberFormField>
    </FormFields>
    <GroupId>String</GroupId>
    <GroupList xmlns:d3p1="http://schemas.datacontract.org/2004/07/BH.CloudAPI.Common.DTO">
      <d3p1:Chapter>
        <d3p1:GroupId>String</d3p1:GroupId>
      </d3p1:Chapter>
    </GroupList>
    <LastName>String</LastName>
    <MemberStatus>String</MemberStatus>
    <MemberTypeClient>String</MemberTypeClient>
    <MiddleName>String</MiddleName>
    <OtherEmailAddress>String</OtherEmailAddress>
    <Paperless>String</Paperless>
    <PreferredAddress1>String</PreferredAddress1>
    <PreferredAddress2>String</PreferredAddress2>
    <PreferredCity>String</PreferredCity>
    <PreferredCountry>String</PreferredCountry>
    <PreferredEmailAddress>String</PreferredEmailAddress>
    <PreferredPhoneNumber>String</PreferredPhoneNumber>
    <PreferredState>String</PreferredState>
    <PreferredZip>String</PreferredZip>
    <RecurringInvoiceSettings xmlns:d3p1="http://schemas.datacontract.org/2004/07/BH.CloudAPI.Common.DTO.Member">
      <d3p1:DonationAmount>String</d3p1:DonationAmount>
    </RecurringInvoiceSettings>
    <UniqueId>String</UniqueId>
    <UserId>String</UserId>
    <WorkLocation>String</WorkLocation>
  </MemberInfo>
  <MemberSubscriptionInvoiceId>0</MemberSubscriptionInvoiceId>
  <UniqueId>String</UniqueId>
</Pmi>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<PmiReply xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/BH.CloudAPI.Common4.DTO.SalesForce">
  <BhInvoiceBatchId xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:int>0</d2p1:int>
  </BhInvoiceBatchId>
  <BillhighwayPaymentConfirmationNumber>String</BillhighwayPaymentConfirmationNumber>
  <BillhighwayUserId>0</BillhighwayUserId>
  <ChapMemPayid>0</ChapMemPayid>
  <ClientId>0</ClientId>
  <CreatedDateTime>0001-01-01T00:00:00</CreatedDateTime>
  <ErrorCode>0</ErrorCode>
  <ErrorMessage>String</ErrorMessage>
  <UniqueId>String</UniqueId>
</PmiReply>