| POST | /integrations/api/{integrationType}/heldpayment/charge |
|---|
import java.math.*;
import java.util.*;
import net.servicestack.client.*;
public class dtos
{
public static class HeldPaymentChargeRq implements IChargeRequest
{
public String integrationType = null;
public Integer NationalId = null;
public Integer ChapterId = null;
public Long StoredAccountId = null;
public Integer ContextIntegrationPartnerId = null;
public Integer CallerIntegrationPartnerId = null;
public Integer AuthenticationId = null;
public String ChargeType = null;
public String Token = null;
public BigDecimal Amount = null;
public String Description = null;
public Integer CreatedById = null;
public Long TransactionId = null;
public Boolean StoreChargeAccount = null;
public ArrayList<HeldPaymentChargeItem> ChargeItems = null;
public Integer CreatedBy = null;
public String getIntegrationType() { return integrationType; }
public HeldPaymentChargeRq setIntegrationType(String value) { this.integrationType = value; return this; }
public Integer getNationalId() { return NationalId; }
public HeldPaymentChargeRq setNationalId(Integer value) { this.NationalId = value; return this; }
public Integer getChapterId() { return ChapterId; }
public HeldPaymentChargeRq setChapterId(Integer value) { this.ChapterId = value; return this; }
public Long getStoredAccountId() { return StoredAccountId; }
public HeldPaymentChargeRq setStoredAccountId(Long value) { this.StoredAccountId = value; return this; }
public Integer getContextIntegrationPartnerId() { return ContextIntegrationPartnerId; }
public HeldPaymentChargeRq setContextIntegrationPartnerId(Integer value) { this.ContextIntegrationPartnerId = value; return this; }
public Integer getCallerIntegrationPartnerId() { return CallerIntegrationPartnerId; }
public HeldPaymentChargeRq setCallerIntegrationPartnerId(Integer value) { this.CallerIntegrationPartnerId = value; return this; }
public Integer getAuthenticationId() { return AuthenticationId; }
public HeldPaymentChargeRq setAuthenticationId(Integer value) { this.AuthenticationId = value; return this; }
public String getChargeType() { return ChargeType; }
public HeldPaymentChargeRq setChargeType(String value) { this.ChargeType = value; return this; }
public String getToken() { return Token; }
public HeldPaymentChargeRq setToken(String value) { this.Token = value; return this; }
public BigDecimal getAmount() { return Amount; }
public HeldPaymentChargeRq setAmount(BigDecimal value) { this.Amount = value; return this; }
public String getDescription() { return Description; }
public HeldPaymentChargeRq setDescription(String value) { this.Description = value; return this; }
public Integer getCreatedById() { return CreatedById; }
public HeldPaymentChargeRq setCreatedById(Integer value) { this.CreatedById = value; return this; }
public Long getTransactionId() { return TransactionId; }
public HeldPaymentChargeRq setTransactionId(Long value) { this.TransactionId = value; return this; }
public Boolean isStoreChargeAccount() { return StoreChargeAccount; }
public HeldPaymentChargeRq setStoreChargeAccount(Boolean value) { this.StoreChargeAccount = value; return this; }
public ArrayList<HeldPaymentChargeItem> getChargeItems() { return ChargeItems; }
public HeldPaymentChargeRq setChargeItems(ArrayList<HeldPaymentChargeItem> value) { this.ChargeItems = value; return this; }
public Integer getCreatedBy() { return CreatedBy; }
public HeldPaymentChargeRq setCreatedBy(Integer value) { this.CreatedBy = value; return this; }
}
public static class HeldPaymentChargeItem
{
public String Type = null;
public String Description = null;
public BigDecimal Amount = null;
public String ClientInvoiceId = null;
public Integer ClientInvoiceOwnerTypeId = null;
public String getType() { return Type; }
public HeldPaymentChargeItem setType(String value) { this.Type = value; return this; }
public String getDescription() { return Description; }
public HeldPaymentChargeItem setDescription(String value) { this.Description = value; return this; }
public BigDecimal getAmount() { return Amount; }
public HeldPaymentChargeItem setAmount(BigDecimal value) { this.Amount = value; return this; }
public String getClientInvoiceId() { return ClientInvoiceId; }
public HeldPaymentChargeItem setClientInvoiceId(String value) { this.ClientInvoiceId = value; return this; }
public Integer getClientInvoiceOwnerTypeId() { return ClientInvoiceOwnerTypeId; }
public HeldPaymentChargeItem setClientInvoiceOwnerTypeId(Integer value) { this.ClientInvoiceOwnerTypeId = value; return this; }
}
public static class HeldPaymentChargeRs
{
public String TransactionId = null;
public Long StoredAccountId = null;
public Integer NationalId = null;
public Integer ChapterId = null;
public String ChargeType = null;
public String IntegrationType = null;
public Integer ContextIntegrationPartnerId = null;
public Integer CallerIntegrationPartnerId = null;
public HeldPaymentGatewaySaleResponse GatewayResponse = null;
public HeldPaymentChargeDetails ChargeDetails = null;
public ArrayList<HeldPaymentChargeItem> ChargeItems = null;
public String getTransactionId() { return TransactionId; }
public HeldPaymentChargeRs setTransactionId(String value) { this.TransactionId = value; return this; }
public Long getStoredAccountId() { return StoredAccountId; }
public HeldPaymentChargeRs setStoredAccountId(Long value) { this.StoredAccountId = value; return this; }
public Integer getNationalId() { return NationalId; }
public HeldPaymentChargeRs setNationalId(Integer value) { this.NationalId = value; return this; }
public Integer getChapterId() { return ChapterId; }
public HeldPaymentChargeRs setChapterId(Integer value) { this.ChapterId = value; return this; }
public String getChargeType() { return ChargeType; }
public HeldPaymentChargeRs setChargeType(String value) { this.ChargeType = value; return this; }
public String getIntegrationType() { return IntegrationType; }
public HeldPaymentChargeRs setIntegrationType(String value) { this.IntegrationType = value; return this; }
public Integer getContextIntegrationPartnerId() { return ContextIntegrationPartnerId; }
public HeldPaymentChargeRs setContextIntegrationPartnerId(Integer value) { this.ContextIntegrationPartnerId = value; return this; }
public Integer getCallerIntegrationPartnerId() { return CallerIntegrationPartnerId; }
public HeldPaymentChargeRs setCallerIntegrationPartnerId(Integer value) { this.CallerIntegrationPartnerId = value; return this; }
public HeldPaymentGatewaySaleResponse getGatewayResponse() { return GatewayResponse; }
public HeldPaymentChargeRs setGatewayResponse(HeldPaymentGatewaySaleResponse value) { this.GatewayResponse = value; return this; }
public HeldPaymentChargeDetails getChargeDetails() { return ChargeDetails; }
public HeldPaymentChargeRs setChargeDetails(HeldPaymentChargeDetails value) { this.ChargeDetails = value; return this; }
public ArrayList<HeldPaymentChargeItem> getChargeItems() { return ChargeItems; }
public HeldPaymentChargeRs setChargeItems(ArrayList<HeldPaymentChargeItem> value) { this.ChargeItems = value; return this; }
}
public static class HeldPaymentGatewaySaleResponse
{
public String FailureType = null;
public Boolean IsDuplicate = null;
public Boolean IsSuccessful = null;
public String ErrorCode = null;
public String Message = null;
public Integer GatewayId = null;
public String ConfirmationNumber = null;
public String NetworkTransactionId = null;
public String getFailureType() { return FailureType; }
public HeldPaymentGatewaySaleResponse setFailureType(String value) { this.FailureType = value; return this; }
public Boolean getIsDuplicate() { return IsDuplicate; }
public HeldPaymentGatewaySaleResponse setIsDuplicate(Boolean value) { this.IsDuplicate = value; return this; }
public Boolean getIsSuccessful() { return IsSuccessful; }
public HeldPaymentGatewaySaleResponse setIsSuccessful(Boolean value) { this.IsSuccessful = value; return this; }
public String getErrorCode() { return ErrorCode; }
public HeldPaymentGatewaySaleResponse setErrorCode(String value) { this.ErrorCode = value; return this; }
public String getMessage() { return Message; }
public HeldPaymentGatewaySaleResponse setMessage(String value) { this.Message = value; return this; }
public Integer getGatewayId() { return GatewayId; }
public HeldPaymentGatewaySaleResponse setGatewayId(Integer value) { this.GatewayId = value; return this; }
public String getConfirmationNumber() { return ConfirmationNumber; }
public HeldPaymentGatewaySaleResponse setConfirmationNumber(String value) { this.ConfirmationNumber = value; return this; }
public String getNetworkTransactionId() { return NetworkTransactionId; }
public HeldPaymentGatewaySaleResponse setNetworkTransactionId(String value) { this.NetworkTransactionId = value; return this; }
}
public static class HeldPaymentChargeDetails
{
public String PaymentType = null;
public BigDecimal Amount = null;
public String IntegrationType = null;
public String Currency = null;
public HeldPaymentCreditCardChargeDetails CardDetails = null;
public HeldPaymentAchChargeDetails AchDetails = null;
public String getPaymentType() { return PaymentType; }
public HeldPaymentChargeDetails setPaymentType(String value) { this.PaymentType = value; return this; }
public BigDecimal getAmount() { return Amount; }
public HeldPaymentChargeDetails setAmount(BigDecimal value) { this.Amount = value; return this; }
public String getIntegrationType() { return IntegrationType; }
public HeldPaymentChargeDetails setIntegrationType(String value) { this.IntegrationType = value; return this; }
public String getCurrency() { return Currency; }
public HeldPaymentChargeDetails setCurrency(String value) { this.Currency = value; return this; }
public HeldPaymentCreditCardChargeDetails getCardDetails() { return CardDetails; }
public HeldPaymentChargeDetails setCardDetails(HeldPaymentCreditCardChargeDetails value) { this.CardDetails = value; return this; }
public HeldPaymentAchChargeDetails getAchDetails() { return AchDetails; }
public HeldPaymentChargeDetails setAchDetails(HeldPaymentAchChargeDetails value) { this.AchDetails = value; return this; }
}
public static class HeldPaymentCreditCardChargeDetails
{
public String CardType = null;
public Integer ExpMonth = null;
public Integer ExpYear = null;
public String Last4 = null;
public CreditCardBillingAddressItem Address = null;
public CreditCardChargeVerificationResult VerificationResult = null;
public String getCardType() { return CardType; }
public HeldPaymentCreditCardChargeDetails setCardType(String value) { this.CardType = value; return this; }
public Integer getExpMonth() { return ExpMonth; }
public HeldPaymentCreditCardChargeDetails setExpMonth(Integer value) { this.ExpMonth = value; return this; }
public Integer getExpYear() { return ExpYear; }
public HeldPaymentCreditCardChargeDetails setExpYear(Integer value) { this.ExpYear = value; return this; }
public String getLast4() { return Last4; }
public HeldPaymentCreditCardChargeDetails setLast4(String value) { this.Last4 = value; return this; }
public CreditCardBillingAddressItem getAddress() { return Address; }
public HeldPaymentCreditCardChargeDetails setAddress(CreditCardBillingAddressItem value) { this.Address = value; return this; }
public CreditCardChargeVerificationResult getVerificationResult() { return VerificationResult; }
public HeldPaymentCreditCardChargeDetails setVerificationResult(CreditCardChargeVerificationResult value) { this.VerificationResult = value; return this; }
}
public static class CreditCardBillingAddressItem
{
public String Address1 = null;
public String Address2 = null;
public String City = null;
public String PostalCode = null;
public String Region = null;
public String Country = null;
public ArrayList<AttributeItem> Attributes = null;
public String getAddress1() { return Address1; }
public CreditCardBillingAddressItem setAddress1(String value) { this.Address1 = value; return this; }
public String getAddress2() { return Address2; }
public CreditCardBillingAddressItem setAddress2(String value) { this.Address2 = value; return this; }
public String getCity() { return City; }
public CreditCardBillingAddressItem setCity(String value) { this.City = value; return this; }
public String getPostalCode() { return PostalCode; }
public CreditCardBillingAddressItem setPostalCode(String value) { this.PostalCode = value; return this; }
public String getRegion() { return Region; }
public CreditCardBillingAddressItem setRegion(String value) { this.Region = value; return this; }
public String getCountry() { return Country; }
public CreditCardBillingAddressItem setCountry(String value) { this.Country = value; return this; }
public ArrayList<AttributeItem> getAttributes() { return Attributes; }
public CreditCardBillingAddressItem setAttributes(ArrayList<AttributeItem> value) { this.Attributes = 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 CreditCardChargeVerificationResult
{
public Boolean NetworkVerificationAttempted = null;
public String CvvVerificationResult = null;
public String AddressVerificationResult = null;
public String PostalCodeVerificationResult = null;
public Boolean isNetworkVerificationAttempted() { return NetworkVerificationAttempted; }
public CreditCardChargeVerificationResult setNetworkVerificationAttempted(Boolean value) { this.NetworkVerificationAttempted = value; return this; }
public String getCvvVerificationResult() { return CvvVerificationResult; }
public CreditCardChargeVerificationResult setCvvVerificationResult(String value) { this.CvvVerificationResult = value; return this; }
public String getAddressVerificationResult() { return AddressVerificationResult; }
public CreditCardChargeVerificationResult setAddressVerificationResult(String value) { this.AddressVerificationResult = value; return this; }
public String getPostalCodeVerificationResult() { return PostalCodeVerificationResult; }
public CreditCardChargeVerificationResult setPostalCodeVerificationResult(String value) { this.PostalCodeVerificationResult = value; return this; }
}
public static class HeldPaymentAchChargeDetails
{
public String AccountType = null;
public String RoutingNumber = null;
public String AccountNumberLast4 = null;
public String BankName = null;
public AchChargeVerificationResult VerificationResult = null;
public String getAccountType() { return AccountType; }
public HeldPaymentAchChargeDetails setAccountType(String value) { this.AccountType = value; return this; }
public String getRoutingNumber() { return RoutingNumber; }
public HeldPaymentAchChargeDetails setRoutingNumber(String value) { this.RoutingNumber = value; return this; }
public String getAccountNumberLast4() { return AccountNumberLast4; }
public HeldPaymentAchChargeDetails setAccountNumberLast4(String value) { this.AccountNumberLast4 = value; return this; }
public String getBankName() { return BankName; }
public HeldPaymentAchChargeDetails setBankName(String value) { this.BankName = value; return this; }
public AchChargeVerificationResult getVerificationResult() { return VerificationResult; }
public HeldPaymentAchChargeDetails setVerificationResult(AchChargeVerificationResult value) { this.VerificationResult = value; return this; }
}
public static class AchChargeVerificationResult
{
public Boolean NetworkVerificationAttempted = null;
public String Result = null;
public Boolean isNetworkVerificationAttempted() { return NetworkVerificationAttempted; }
public AchChargeVerificationResult setNetworkVerificationAttempted(Boolean value) { this.NetworkVerificationAttempted = value; return this; }
public String getResult() { return Result; }
public AchChargeVerificationResult setResult(String value) { this.Result = value; return this; }
}
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /integrations/api/{integrationType}/heldpayment/charge HTTP/1.1
Host: devapi.billhighway.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
integrationType: String,
NationalId: 0,
ChapterId: 0,
StoredAccountId: 0,
ContextIntegrationPartnerId: 0,
CallerIntegrationPartnerId: 0,
AuthenticationId: 0,
ChargeType: String,
Token: String,
Amount: 0,
Description: String,
CreatedById: 0,
TransactionId: 0,
StoreChargeAccount: False,
ChargeItems:
[
{
Type: String,
Description: String,
Amount: 0,
ClientInvoiceId: String,
ClientInvoiceOwnerTypeId: 0
}
],
CreatedBy: 0
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
TransactionId: String,
StoredAccountId: 0,
NationalId: 0,
ChapterId: 0,
ChargeType: String,
IntegrationType: String,
ContextIntegrationPartnerId: 0,
CallerIntegrationPartnerId: 0,
GatewayResponse:
{
FailureType: String,
IsDuplicate: False,
IsSuccessful: False,
ErrorCode: String,
Message: String,
GatewayId: 0,
ConfirmationNumber: String,
NetworkTransactionId: String
},
ChargeDetails:
{
PaymentType: String,
Amount: 0,
IntegrationType: String,
Currency: String,
CardDetails:
{
CardType: String,
ExpMonth: 0,
ExpYear: 0,
Last4: String,
Address:
{
Address1: String,
Address2: String,
City: String,
PostalCode: String,
Region: String,
Country: String,
Attributes:
[
{
Name: String,
Value: String
}
]
},
VerificationResult:
{
NetworkVerificationAttempted: False,
CvvVerificationResult: String,
AddressVerificationResult: String,
PostalCodeVerificationResult: String
}
},
AchDetails:
{
AccountType: String,
RoutingNumber: String,
AccountNumberLast4: String,
BankName: String,
VerificationResult:
{
NetworkVerificationAttempted: False,
Result: String
}
}
},
ChargeItems:
[
{
Type: String,
Description: String,
Amount: 0,
ClientInvoiceId: String,
ClientInvoiceOwnerTypeId: 0
}
]
}