Billhighway Cloud API

<back to all web services

ChargeTokenRq

The following routes are available for this service:
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
}

Kotlin ChargeTokenRq 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 /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>