| POST | /integrations/api/{tokenType}/charge/token |
|---|
import java.math.*
import java.util.*
import net.servicestack.client.*
open class ChargeTokenRq : ChargeTokenRqBase()
{
}
open class ChargeTokenRqBase : IChapterAuthorizationRequest, IApiResultErrorService
{
var tokenType:String? = null
var Amount:Int? = null
var Description:String? = null
var Options:ChargeTokenOptions? = null
var CardInfo:CreditCardChargeItem? = null
var AchInfo:AchChargeItem? = null
var ReferenceIds:ArrayList<ReferenceIdTypedAssociationItem> = ArrayList<ReferenceIdTypedAssociationItem>()
}
open class ChargeTokenOptions
{
var Usages:Int? = null
var Duration:Int? = null
}
open class CreditCardChargeItem
{
var NameOnCard:String? = null
var ExpMonth:Int? = null
var ExpYear:Int? = null
var CardNumber:String? = null
var Cvv:String? = null
var Address:CreditCardBillingAddressItem? = null
}
open class CreditCardBillingAddressItem
{
var Address1:String? = null
var Address2:String? = null
var City:String? = null
var PostalCode:String? = null
var Region:String? = null
var Country:String? = null
var Attributes:ArrayList<AttributeItem> = ArrayList<AttributeItem>()
}
open class AttributeItem
{
var Name:String? = null
var Value:String? = null
}
open class AchChargeItem
{
var AccountNumber:String? = null
var RoutingNumber:String? = null
var AccountType:String? = null
var AccountHolderName:String? = null
}
open class ReferenceIdTypedAssociationItem
{
var Value:String? = null
var Type:String? = null
}
open class ChargeTokenRs
{
var Token:String? = null
var OrganizationId:Int? = null
var ChapterId:Int? = null
var Amount:Int? = null
var TokenType:String? = null
var Description:String? = null
var ExpiresOn:Date? = null
var Currency:String? = null
var Usages:Int? = null
var CardDetails:CreditCardChargeDetails? = null
var AchDetails:AchChargeDetails? = null
}
open class CreditCardChargeDetails
{
var CardType:String? = null
var ExpMonth:Int? = null
var ExpYear:Int? = null
var Last4:String? = null
var Address:CreditCardBillingAddressItem? = null
var VerificationResult:CreditCardChargeVerificationResult? = null
}
open class CreditCardChargeVerificationResult
{
var NetworkVerificationAttempted:Boolean? = null
var CvvVerificationResult:String? = null
var AddressVerificationResult:String? = null
var PostalCodeVerificationResult:String? = null
}
open class AchChargeDetails
{
var AccountType:String? = null
var RoutingNumber:String? = null
var AccountNumberLast4:String? = null
var BankName:String? = null
var VerificationResult:AchChargeVerificationResult? = null
}
open class AchChargeVerificationResult
{
var NetworkVerificationAttempted:Boolean? = null
var Result:String? = null
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /integrations/api/{tokenType}/charge/token HTTP/1.1
Host: devapi.billhighway.com
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<ChargeTokenRq xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/BH.CloudAPI.DTO.Charges.Api.Request">
<AchInfo xmlns:d2p1="http://schemas.datacontract.org/2004/07/BH.CloudAPI.DTO.Charges.Api">
<d2p1:_x003C_AccountHolderName_x003E_k__BackingField>String</d2p1:_x003C_AccountHolderName_x003E_k__BackingField>
<d2p1:_x003C_AccountNumber_x003E_k__BackingField>String</d2p1:_x003C_AccountNumber_x003E_k__BackingField>
<d2p1:_x003C_AccountType_x003E_k__BackingField>String</d2p1:_x003C_AccountType_x003E_k__BackingField>
<d2p1:_x003C_RoutingNumber_x003E_k__BackingField>String</d2p1:_x003C_RoutingNumber_x003E_k__BackingField>
</AchInfo>
<Amount>0</Amount>
<CardInfo xmlns:d2p1="http://schemas.datacontract.org/2004/07/BH.CloudAPI.DTO.Charges.Api">
<d2p1:_x003C_Address_x003E_k__BackingField>
<d2p1:Address1>String</d2p1:Address1>
<d2p1:Address2>String</d2p1:Address2>
<d2p1:Attributes xmlns:d4p1="http://schemas.datacontract.org/2004/07/BH.CloudAPI.DTO">
<d4p1:AttributeItem>
<d4p1:Name>String</d4p1:Name>
<d4p1:Value>String</d4p1:Value>
</d4p1:AttributeItem>
</d2p1:Attributes>
<d2p1:City>String</d2p1:City>
<d2p1:Country>String</d2p1:Country>
<d2p1:PostalCode>String</d2p1:PostalCode>
<d2p1:Region>String</d2p1:Region>
</d2p1:_x003C_Address_x003E_k__BackingField>
<d2p1:_x003C_CardNumber_x003E_k__BackingField>String</d2p1:_x003C_CardNumber_x003E_k__BackingField>
<d2p1:_x003C_Cvv_x003E_k__BackingField>String</d2p1:_x003C_Cvv_x003E_k__BackingField>
<d2p1:_x003C_ExpMonth_x003E_k__BackingField>0</d2p1:_x003C_ExpMonth_x003E_k__BackingField>
<d2p1:_x003C_ExpYear_x003E_k__BackingField>0</d2p1:_x003C_ExpYear_x003E_k__BackingField>
<d2p1:_x003C_NameOnCard_x003E_k__BackingField>String</d2p1:_x003C_NameOnCard_x003E_k__BackingField>
</CardInfo>
<Description>String</Description>
<Options xmlns:d2p1="http://schemas.datacontract.org/2004/07/BH.CloudAPI.DTO.Charges">
<d2p1:Duration>0</d2p1:Duration>
<d2p1:Usages>0</d2p1:Usages>
</Options>
<ReferenceIds xmlns:d2p1="http://schemas.datacontract.org/2004/07/BH.CloudAPI.DTO">
<d2p1:ReferenceIdTypedAssociationItem>
<d2p1:_x003C_Type_x003E_k__BackingField>String</d2p1:_x003C_Type_x003E_k__BackingField>
<d2p1:_x003C_Value_x003E_k__BackingField>String</d2p1:_x003C_Value_x003E_k__BackingField>
</d2p1:ReferenceIdTypedAssociationItem>
</ReferenceIds>
<tokenType>String</tokenType>
</ChargeTokenRq>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<ChargeTokenRs xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/BH.CloudAPI.DTO.Charges.Api.Response">
<AchDetails xmlns:d2p1="http://schemas.datacontract.org/2004/07/BH.CloudAPI.DTO.Charges.Api">
<d2p1:_x003C_AccountNumberLast4_x003E_k__BackingField>String</d2p1:_x003C_AccountNumberLast4_x003E_k__BackingField>
<d2p1:_x003C_AccountType_x003E_k__BackingField>String</d2p1:_x003C_AccountType_x003E_k__BackingField>
<d2p1:_x003C_BankName_x003E_k__BackingField>String</d2p1:_x003C_BankName_x003E_k__BackingField>
<d2p1:_x003C_RoutingNumber_x003E_k__BackingField>String</d2p1:_x003C_RoutingNumber_x003E_k__BackingField>
<d2p1:_x003C_VerificationResult_x003E_k__BackingField>
<d2p1:_x003C_NetworkVerificationAttempted_x003E_k__BackingField>false</d2p1:_x003C_NetworkVerificationAttempted_x003E_k__BackingField>
<d2p1:_x003C_Result_x003E_k__BackingField>String</d2p1:_x003C_Result_x003E_k__BackingField>
</d2p1:_x003C_VerificationResult_x003E_k__BackingField>
</AchDetails>
<Amount>0</Amount>
<CardDetails xmlns:d2p1="http://schemas.datacontract.org/2004/07/BH.CloudAPI.DTO.Charges.Api">
<d2p1:_x003C_Address_x003E_k__BackingField>
<d2p1:Address1>String</d2p1:Address1>
<d2p1:Address2>String</d2p1:Address2>
<d2p1:Attributes xmlns:d4p1="http://schemas.datacontract.org/2004/07/BH.CloudAPI.DTO">
<d4p1:AttributeItem>
<d4p1:Name>String</d4p1:Name>
<d4p1:Value>String</d4p1:Value>
</d4p1:AttributeItem>
</d2p1:Attributes>
<d2p1:City>String</d2p1:City>
<d2p1:Country>String</d2p1:Country>
<d2p1:PostalCode>String</d2p1:PostalCode>
<d2p1:Region>String</d2p1:Region>
</d2p1:_x003C_Address_x003E_k__BackingField>
<d2p1:_x003C_CardType_x003E_k__BackingField>String</d2p1:_x003C_CardType_x003E_k__BackingField>
<d2p1:_x003C_ExpMonth_x003E_k__BackingField>0</d2p1:_x003C_ExpMonth_x003E_k__BackingField>
<d2p1:_x003C_ExpYear_x003E_k__BackingField>0</d2p1:_x003C_ExpYear_x003E_k__BackingField>
<d2p1:_x003C_Last4_x003E_k__BackingField>String</d2p1:_x003C_Last4_x003E_k__BackingField>
<d2p1:_x003C_VerificationResult_x003E_k__BackingField>
<d2p1:_x003C_AddressVerificationResult_x003E_k__BackingField>String</d2p1:_x003C_AddressVerificationResult_x003E_k__BackingField>
<d2p1:_x003C_CvvVerificationResult_x003E_k__BackingField>String</d2p1:_x003C_CvvVerificationResult_x003E_k__BackingField>
<d2p1:_x003C_NetworkVerificationAttempted_x003E_k__BackingField>false</d2p1:_x003C_NetworkVerificationAttempted_x003E_k__BackingField>
<d2p1:_x003C_PostalCodeVerificationResult_x003E_k__BackingField>String</d2p1:_x003C_PostalCodeVerificationResult_x003E_k__BackingField>
</d2p1:_x003C_VerificationResult_x003E_k__BackingField>
</CardDetails>
<ChapterId>0</ChapterId>
<Currency>String</Currency>
<Description>String</Description>
<ExpiresOn>0001-01-01T00:00:00</ExpiresOn>
<OrganizationId>0</OrganizationId>
<Token>String</Token>
<TokenType>String</TokenType>
<Usages>0</Usages>
</ChargeTokenRs>