| POST | /integrations/api/{integrationType}/core/charge |
|---|
import java.math.*
import java.util.*
import net.servicestack.client.*
open class CoreChargeRq : IChargeRequest
{
@ApiMember(ParameterType="path")
var integrationType:String? = null
var NationalId:Int? = null
var ChapterId:Int? = null
var StoredAccountId:Long? = null
var ContextIntegrationPartnerId:Int? = null
var CallerIntegrationPartnerId:Int? = null
var UserId:Int? = null
var AuthenticationId:Int? = null
var ChargeType:String? = null
var Token:String? = null
@ApiMember(Format="decimal", ParameterType="model")
var Amount:BigDecimal? = null
var Description:String? = null
var Invoices:HashMap<Long,BigDecimal> = HashMap<Long,BigDecimal>()
var CreatedById:Int? = null
var ReferenceIds:ArrayList<ReferenceIdTypedAssociationItem> = ArrayList<ReferenceIdTypedAssociationItem>()
var TransactionId:Long? = null
}
open class ReferenceIdTypedAssociationItem
{
var Value:String? = null
var Type:String? = null
}
open class CoreChargeRs
{
var TransactionId:String? = null
var StoredAccountId:Long? = null
var NationalId:Int? = null
var ChapterId:Int? = null
var ChargeType:String? = null
var IntegrationType:String? = null
var ContextIntegrationPartnerId:Int? = null
var CallerIntegrationPartnerId:Int? = null
var GatewayResponse:CoreChargeGatewaySaleResponse? = null
var ChargeDetails:CoreChargeDetails? = null
}
open class CoreChargeGatewaySaleResponse
{
var FailureType:String? = null
var IsDuplicate:Boolean? = null
var IsSuccessful:Boolean? = null
var ErrorCode:String? = null
var Message:String? = null
var GatewayId:Int? = null
var ConfirmationNumber:String? = null
var NetworkTransactionId:String? = null
}
open class CoreChargeDetails
{
var PaymentType:String? = null
var Amount:Int? = null
var IntegrationType:String? = null
var Currency:String? = null
var CardDetails:CoreCreditCardChargeDetails? = null
}
open class CoreCreditCardChargeDetails
{
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 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 CreditCardChargeVerificationResult
{
var NetworkVerificationAttempted:Boolean? = null
var CvvVerificationResult:String? = null
var AddressVerificationResult:String? = null
var PostalCodeVerificationResult: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/{integrationType}/core/charge HTTP/1.1
Host: devapi.billhighway.com
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<CoreChargeRq xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/BH.CloudAPI.DTO.CoreCharges.Api.Request">
<Amount>0</Amount>
<AuthenticationId>0</AuthenticationId>
<CallerIntegrationPartnerId>0</CallerIntegrationPartnerId>
<ChapterId>0</ChapterId>
<ChargeType>String</ChargeType>
<ContextIntegrationPartnerId>0</ContextIntegrationPartnerId>
<CreatedById>0</CreatedById>
<Description>String</Description>
<Invoices xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d2p1:KeyValueOflongdecimal>
<d2p1:Key>0</d2p1:Key>
<d2p1:Value>0</d2p1:Value>
</d2p1:KeyValueOflongdecimal>
</Invoices>
<NationalId>0</NationalId>
<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>
<StoredAccountId>0</StoredAccountId>
<Token>String</Token>
<TransactionId>0</TransactionId>
<UserId>0</UserId>
<integrationType>String</integrationType>
</CoreChargeRq>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<CoreChargeRs xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/BH.CloudAPI.DTO.CoreCharges.Api.Response">
<CallerIntegrationPartnerId>0</CallerIntegrationPartnerId>
<ChapterId>0</ChapterId>
<ChargeDetails xmlns:d2p1="http://schemas.datacontract.org/2004/07/BH.CloudAPI.DTO.CoreCharges">
<d2p1:Amount>0</d2p1:Amount>
<d2p1:CardDetails>
<d2p1:_x003C_Address_x003E_k__BackingField xmlns:d4p1="http://schemas.datacontract.org/2004/07/BH.CloudAPI.DTO.Charges.Api">
<d4p1:Address1>String</d4p1:Address1>
<d4p1:Address2>String</d4p1:Address2>
<d4p1:Attributes xmlns:d5p1="http://schemas.datacontract.org/2004/07/BH.CloudAPI.DTO">
<d5p1:AttributeItem>
<d5p1:Name>String</d5p1:Name>
<d5p1:Value>String</d5p1:Value>
</d5p1:AttributeItem>
</d4p1:Attributes>
<d4p1:City>String</d4p1:City>
<d4p1:Country>String</d4p1:Country>
<d4p1:PostalCode>String</d4p1:PostalCode>
<d4p1:Region>String</d4p1: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 xmlns:d4p1="http://schemas.datacontract.org/2004/07/BH.CloudAPI.DTO.Charges.Api">
<d4p1:_x003C_AddressVerificationResult_x003E_k__BackingField>String</d4p1:_x003C_AddressVerificationResult_x003E_k__BackingField>
<d4p1:_x003C_CvvVerificationResult_x003E_k__BackingField>String</d4p1:_x003C_CvvVerificationResult_x003E_k__BackingField>
<d4p1:_x003C_NetworkVerificationAttempted_x003E_k__BackingField>false</d4p1:_x003C_NetworkVerificationAttempted_x003E_k__BackingField>
<d4p1:_x003C_PostalCodeVerificationResult_x003E_k__BackingField>String</d4p1:_x003C_PostalCodeVerificationResult_x003E_k__BackingField>
</d2p1:_x003C_VerificationResult_x003E_k__BackingField>
</d2p1:CardDetails>
<d2p1:Currency>String</d2p1:Currency>
<d2p1:IntegrationType>String</d2p1:IntegrationType>
<d2p1:PaymentType>String</d2p1:PaymentType>
</ChargeDetails>
<ChargeType>String</ChargeType>
<ContextIntegrationPartnerId>0</ContextIntegrationPartnerId>
<GatewayResponse xmlns:d2p1="http://schemas.datacontract.org/2004/07/BH.CloudAPI.DTO.CoreCharges">
<d2p1:_x003C_ConfirmationNumber_x003E_k__BackingField>String</d2p1:_x003C_ConfirmationNumber_x003E_k__BackingField>
<d2p1:_x003C_ErrorCode_x003E_k__BackingField>String</d2p1:_x003C_ErrorCode_x003E_k__BackingField>
<d2p1:_x003C_FailureType_x003E_k__BackingField>String</d2p1:_x003C_FailureType_x003E_k__BackingField>
<d2p1:_x003C_GatewayId_x003E_k__BackingField>0</d2p1:_x003C_GatewayId_x003E_k__BackingField>
<d2p1:_x003C_IsDuplicate_x003E_k__BackingField>false</d2p1:_x003C_IsDuplicate_x003E_k__BackingField>
<d2p1:_x003C_IsSuccessful_x003E_k__BackingField>false</d2p1:_x003C_IsSuccessful_x003E_k__BackingField>
<d2p1:_x003C_Message_x003E_k__BackingField>String</d2p1:_x003C_Message_x003E_k__BackingField>
<d2p1:_x003C_NetworkTransactionId_x003E_k__BackingField>String</d2p1:_x003C_NetworkTransactionId_x003E_k__BackingField>
</GatewayResponse>
<IntegrationType>String</IntegrationType>
<NationalId>0</NationalId>
<StoredAccountId>0</StoredAccountId>
<TransactionId>String</TransactionId>
</CoreChargeRs>