| POST | /integrations/api/v2/{tokenType}/charge/token |
|---|
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using BH.CloudAPI.DTO.Charges.Api.Request;
using BH.CloudAPI.DTO.Charges;
using BH.CloudAPI.DTO.Charges.Api;
using BH.CloudAPI.Common4.DTO;
using BH.CloudAPI.DTO;
using BH.CloudAPI.DTO.Charges.Api.Response;
namespace BH.CloudAPI.Common4.DTO
{
public partial class AttributeItem
{
public virtual string Name { get; set; }
public virtual string Value { get; set; }
}
}
namespace BH.CloudAPI.DTO
{
public partial class ReferenceIdTypedAssociationItem
{
public virtual string Value { get; set; }
public virtual string Type { get; set; }
}
}
namespace BH.CloudAPI.DTO.Charges
{
public partial class ChargeTokenOptions
{
public virtual int Usages { get; set; }
public virtual int Duration { get; set; }
}
}
namespace BH.CloudAPI.DTO.Charges.Api
{
public partial class AchChargeDetailsV2
{
public virtual string AccountType { get; set; }
public virtual string RoutingNumber { get; set; }
public virtual string AccountNumberLast4 { get; set; }
public virtual string BankName { get; set; }
}
public partial class AchChargeItem
{
public virtual string AccountNumber { get; set; }
public virtual string RoutingNumber { get; set; }
public virtual string AccountType { get; set; }
public virtual string AccountHolderName { get; set; }
}
public partial class CreditCardBillingAddressItem
{
public CreditCardBillingAddressItem()
{
Attributes = new List<AttributeItem>{};
}
public virtual string Address1 { get; set; }
public virtual string Address2 { get; set; }
public virtual string City { get; set; }
public virtual string PostalCode { get; set; }
public virtual string Region { get; set; }
public virtual string Country { get; set; }
public virtual List<AttributeItem> Attributes { get; set; }
}
public partial class CreditCardChargeDetailsV2
{
public virtual string CardType { get; set; }
public virtual int ExpMonth { get; set; }
public virtual int ExpYear { get; set; }
public virtual string Last4 { get; set; }
public virtual CreditCardBillingAddressItem Address { get; set; }
}
public partial class CreditCardChargeItem
{
public virtual string NameOnCard { get; set; }
public virtual int ExpMonth { get; set; }
public virtual int ExpYear { get; set; }
public virtual string CardNumber { get; set; }
public virtual string Cvv { get; set; }
public virtual CreditCardBillingAddressItem Address { get; set; }
}
}
namespace BH.CloudAPI.DTO.Charges.Api.Request
{
public partial class ChargeTokenRqBase
: IChapterAuthorizationRequest, IApiResultErrorService
{
public ChargeTokenRqBase()
{
ReferenceIds = new List<ReferenceIdTypedAssociationItem>{};
}
public virtual string tokenType { get; set; }
public virtual int Amount { get; set; }
public virtual string Description { get; set; }
public virtual ChargeTokenOptions Options { get; set; }
public virtual CreditCardChargeItem CardInfo { get; set; }
public virtual AchChargeItem AchInfo { get; set; }
public virtual List<ReferenceIdTypedAssociationItem> ReferenceIds { get; set; }
}
public partial class ChargeTokenV2Rq
: ChargeTokenRqBase
{
}
}
namespace BH.CloudAPI.DTO.Charges.Api.Response
{
public partial class ChargeTokenV2Rs
{
public virtual string Token { get; set; }
public virtual int Amount { get; set; }
public virtual string TokenType { get; set; }
public virtual string Description { get; set; }
public virtual DateTime ExpiresOn { get; set; }
public virtual string Currency { get; set; }
public virtual int Usages { get; set; }
public virtual CreditCardChargeDetailsV2 CardDetails { get; set; }
public virtual AchChargeDetailsV2 AchDetails { get; set; }
}
}
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/v2/{tokenType}/charge/token HTTP/1.1
Host: devapi.billhighway.com
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<ChargeTokenV2Rq 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>
</ChargeTokenV2Rq>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<ChargeTokenV2Rs 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>
</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>
</CardDetails>
<Currency>String</Currency>
<Description>String</Description>
<ExpiresOn>0001-01-01T00:00:00</ExpiresOn>
<Token>String</Token>
<TokenType>String</TokenType>
<Usages>0</Usages>
</ChargeTokenV2Rs>