| POST | /integrations/api/{integrationType}/heldpayment/charge |
|---|
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using BH.CloudAPI.DTO.HeldPayments.Api.Request;
using BH.CloudAPI.DTO.HeldPayments;
using BH.CloudAPI.DTO.HeldPayments.Api.Response;
using BH.CloudAPI.DTO.HeldPayments.Api;
using BH.CloudAPI.DTO.Charges.Api;
using BH.CloudAPI.Common4.DTO;
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.Charges.Api
{
public partial class AchChargeVerificationResult
{
public virtual bool NetworkVerificationAttempted { get; set; }
public virtual string Result { 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 CreditCardChargeVerificationResult
{
public virtual bool NetworkVerificationAttempted { get; set; }
public virtual string CvvVerificationResult { get; set; }
public virtual string AddressVerificationResult { get; set; }
public virtual string PostalCodeVerificationResult { get; set; }
}
}
namespace BH.CloudAPI.DTO.HeldPayments
{
public partial class HeldPaymentChargeItem
{
public virtual string Type { get; set; }
public virtual string Description { get; set; }
public virtual decimal Amount { get; set; }
public virtual string ClientInvoiceId { get; set; }
public virtual int ClientInvoiceOwnerTypeId { get; set; }
}
public partial class HeldPaymentGatewaySaleResponse
{
public virtual string FailureType { get; set; }
public virtual bool IsDuplicate { get; set; }
public virtual bool IsSuccessful { get; set; }
public virtual string ErrorCode { get; set; }
public virtual string Message { get; set; }
public virtual int GatewayId { get; set; }
public virtual string ConfirmationNumber { get; set; }
public virtual string NetworkTransactionId { get; set; }
}
}
namespace BH.CloudAPI.DTO.HeldPayments.Api
{
public partial class HeldPaymentAchChargeDetails
{
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 virtual AchChargeVerificationResult VerificationResult { get; set; }
}
public partial class HeldPaymentChargeDetails
{
public virtual string PaymentType { get; set; }
public virtual decimal Amount { get; set; }
public virtual string IntegrationType { get; set; }
public virtual string Currency { get; set; }
public virtual HeldPaymentCreditCardChargeDetails CardDetails { get; set; }
public virtual HeldPaymentAchChargeDetails AchDetails { get; set; }
}
public partial class HeldPaymentCreditCardChargeDetails
{
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 virtual CreditCardChargeVerificationResult VerificationResult { get; set; }
}
}
namespace BH.CloudAPI.DTO.HeldPayments.Api.Request
{
public partial class HeldPaymentChargeRq
: IChargeRequest
{
public HeldPaymentChargeRq()
{
ChargeItems = new List<HeldPaymentChargeItem>{};
}
public virtual string integrationType { get; set; }
public virtual int NationalId { get; set; }
public virtual int ChapterId { get; set; }
public virtual long StoredAccountId { get; set; }
public virtual int ContextIntegrationPartnerId { get; set; }
public virtual int CallerIntegrationPartnerId { get; set; }
public virtual int AuthenticationId { get; set; }
public virtual string ChargeType { get; set; }
public virtual string Token { get; set; }
public virtual decimal Amount { get; set; }
public virtual string Description { get; set; }
public virtual int CreatedById { get; set; }
public virtual long TransactionId { get; set; }
public virtual bool StoreChargeAccount { get; set; }
public virtual List<HeldPaymentChargeItem> ChargeItems { get; set; }
public virtual int CreatedBy { get; set; }
}
}
namespace BH.CloudAPI.DTO.HeldPayments.Api.Response
{
public partial class HeldPaymentChargeRs
{
public HeldPaymentChargeRs()
{
ChargeItems = new List<HeldPaymentChargeItem>{};
}
public virtual string TransactionId { get; set; }
public virtual long StoredAccountId { get; set; }
public virtual int NationalId { get; set; }
public virtual int ChapterId { get; set; }
public virtual string ChargeType { get; set; }
public virtual string IntegrationType { get; set; }
public virtual int ContextIntegrationPartnerId { get; set; }
public virtual int CallerIntegrationPartnerId { get; set; }
public virtual HeldPaymentGatewaySaleResponse GatewayResponse { get; set; }
public virtual HeldPaymentChargeDetails ChargeDetails { get; set; }
public virtual List<HeldPaymentChargeItem> ChargeItems { 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/{integrationType}/heldpayment/charge HTTP/1.1
Host: devapi.billhighway.com
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<HeldPaymentChargeRq xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/BH.CloudAPI.DTO.HeldPayments.Api.Request">
<Amount>0</Amount>
<AuthenticationId>0</AuthenticationId>
<CallerIntegrationPartnerId>0</CallerIntegrationPartnerId>
<ChapterId>0</ChapterId>
<ChargeItems xmlns:d2p1="http://schemas.datacontract.org/2004/07/BH.CloudAPI.DTO.HeldPayments">
<d2p1:HeldPaymentChargeItem>
<d2p1:_x003C_Amount_x003E_k__BackingField>0</d2p1:_x003C_Amount_x003E_k__BackingField>
<d2p1:_x003C_ClientInvoiceId_x003E_k__BackingField>String</d2p1:_x003C_ClientInvoiceId_x003E_k__BackingField>
<d2p1:_x003C_ClientInvoiceOwnerTypeId_x003E_k__BackingField>0</d2p1:_x003C_ClientInvoiceOwnerTypeId_x003E_k__BackingField>
<d2p1:_x003C_Description_x003E_k__BackingField>String</d2p1:_x003C_Description_x003E_k__BackingField>
<d2p1:_x003C_Type_x003E_k__BackingField>String</d2p1:_x003C_Type_x003E_k__BackingField>
</d2p1:HeldPaymentChargeItem>
</ChargeItems>
<ChargeType>String</ChargeType>
<ContextIntegrationPartnerId>0</ContextIntegrationPartnerId>
<CreatedBy>0</CreatedBy>
<CreatedById>0</CreatedById>
<Description>String</Description>
<NationalId>0</NationalId>
<StoreChargeAccount>false</StoreChargeAccount>
<StoredAccountId>0</StoredAccountId>
<Token>String</Token>
<TransactionId>0</TransactionId>
<integrationType>String</integrationType>
</HeldPaymentChargeRq>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<HeldPaymentChargeRs xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/BH.CloudAPI.DTO.HeldPayments.Api.Response">
<CallerIntegrationPartnerId>0</CallerIntegrationPartnerId>
<ChapterId>0</ChapterId>
<ChargeDetails xmlns:d2p1="http://schemas.datacontract.org/2004/07/BH.CloudAPI.DTO.HeldPayments.Api">
<d2p1:AchDetails>
<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 xmlns:d4p1="http://schemas.datacontract.org/2004/07/BH.CloudAPI.DTO.Charges.Api">
<d4p1:_x003C_NetworkVerificationAttempted_x003E_k__BackingField>false</d4p1:_x003C_NetworkVerificationAttempted_x003E_k__BackingField>
<d4p1:_x003C_Result_x003E_k__BackingField>String</d4p1:_x003C_Result_x003E_k__BackingField>
</d2p1:_x003C_VerificationResult_x003E_k__BackingField>
</d2p1:AchDetails>
<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>
<ChargeItems xmlns:d2p1="http://schemas.datacontract.org/2004/07/BH.CloudAPI.DTO.HeldPayments">
<d2p1:HeldPaymentChargeItem>
<d2p1:_x003C_Amount_x003E_k__BackingField>0</d2p1:_x003C_Amount_x003E_k__BackingField>
<d2p1:_x003C_ClientInvoiceId_x003E_k__BackingField>String</d2p1:_x003C_ClientInvoiceId_x003E_k__BackingField>
<d2p1:_x003C_ClientInvoiceOwnerTypeId_x003E_k__BackingField>0</d2p1:_x003C_ClientInvoiceOwnerTypeId_x003E_k__BackingField>
<d2p1:_x003C_Description_x003E_k__BackingField>String</d2p1:_x003C_Description_x003E_k__BackingField>
<d2p1:_x003C_Type_x003E_k__BackingField>String</d2p1:_x003C_Type_x003E_k__BackingField>
</d2p1:HeldPaymentChargeItem>
</ChargeItems>
<ChargeType>String</ChargeType>
<ContextIntegrationPartnerId>0</ContextIntegrationPartnerId>
<GatewayResponse xmlns:d2p1="http://schemas.datacontract.org/2004/07/BH.CloudAPI.DTO.HeldPayments">
<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>
</HeldPaymentChargeRs>