| POST | /integrations/api/{tokenType}/charge/token |
|---|
namespace BH.CloudAPI.Common4.DTO
open System
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations
[<AllowNullLiteral>]
type AttributeItem() =
member val Name:String = null with get,set
member val Value:String = null with get,set
[<AllowNullLiteral>]
type CreditCardBillingAddressItem() =
member val Address1:String = null with get,set
member val Address2:String = null with get,set
member val City:String = null with get,set
member val PostalCode:String = null with get,set
member val Region:String = null with get,set
member val Country:String = null with get,set
member val Attributes:ResizeArray<AttributeItem> = new ResizeArray<AttributeItem>() with get,set
[<AllowNullLiteral>]
type CreditCardChargeVerificationResult() =
member val NetworkVerificationAttempted:Boolean = new Boolean() with get,set
member val CvvVerificationResult:String = null with get,set
member val AddressVerificationResult:String = null with get,set
member val PostalCodeVerificationResult:String = null with get,set
[<AllowNullLiteral>]
type CreditCardChargeDetails() =
member val CardType:String = null with get,set
member val ExpMonth:Int32 = new Int32() with get,set
member val ExpYear:Int32 = new Int32() with get,set
member val Last4:String = null with get,set
member val Address:CreditCardBillingAddressItem = null with get,set
member val VerificationResult:CreditCardChargeVerificationResult = null with get,set
[<AllowNullLiteral>]
type AchChargeVerificationResult() =
member val NetworkVerificationAttempted:Boolean = new Boolean() with get,set
member val Result:String = null with get,set
[<AllowNullLiteral>]
type AchChargeDetails() =
member val AccountType:String = null with get,set
member val RoutingNumber:String = null with get,set
member val AccountNumberLast4:String = null with get,set
member val BankName:String = null with get,set
member val VerificationResult:AchChargeVerificationResult = null with get,set
[<AllowNullLiteral>]
type ChargeTokenRs() =
member val Token:String = null with get,set
member val OrganizationId:Int32 = new Int32() with get,set
member val ChapterId:Int32 = new Int32() with get,set
member val Amount:Int32 = new Int32() with get,set
member val TokenType:String = null with get,set
member val Description:String = null with get,set
member val ExpiresOn:DateTime = new DateTime() with get,set
member val Currency:String = null with get,set
member val Usages:Int32 = new Int32() with get,set
member val CardDetails:CreditCardChargeDetails = null with get,set
member val AchDetails:AchChargeDetails = null with get,set
[<AllowNullLiteral>]
type ChargeTokenOptions() =
member val Usages:Int32 = new Int32() with get,set
member val Duration:Int32 = new Int32() with get,set
[<AllowNullLiteral>]
type CreditCardChargeItem() =
member val NameOnCard:String = null with get,set
member val ExpMonth:Int32 = new Int32() with get,set
member val ExpYear:Int32 = new Int32() with get,set
member val CardNumber:String = null with get,set
member val Cvv:String = null with get,set
member val Address:CreditCardBillingAddressItem = null with get,set
[<AllowNullLiteral>]
type AchChargeItem() =
member val AccountNumber:String = null with get,set
member val RoutingNumber:String = null with get,set
member val AccountType:String = null with get,set
member val AccountHolderName:String = null with get,set
[<AllowNullLiteral>]
type ReferenceIdTypedAssociationItem() =
member val Value:String = null with get,set
member val Type:String = null with get,set
[<AllowNullLiteral>]
type ChargeTokenRqBase() =
member val tokenType:String = null with get,set
member val Amount:Int32 = new Int32() with get,set
member val Description:String = null with get,set
member val Options:ChargeTokenOptions = null with get,set
member val CardInfo:CreditCardChargeItem = null with get,set
member val AchInfo:AchChargeItem = null with get,set
member val ReferenceIds:ResizeArray<ReferenceIdTypedAssociationItem> = new ResizeArray<ReferenceIdTypedAssociationItem>() with get,set
[<AllowNullLiteral>]
type ChargeTokenRq() =
inherit ChargeTokenRqBase()
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>