| POST | /integrations/api/{integrationType}/core/verifycharge |
|---|
import 'package:servicestack/servicestack.dart';
class CreditCardVerificationDetails implements IConvertible
{
bool? IsError;
bool? IsDuplicate;
String? GatewayResponseCode;
String? GatewayMessage;
bool? NetworkVerificationAttempted;
String? CvvVerificationResult;
String? AddressVerificationResult;
String? PostalCodeVerificationResult;
String? NetworkTransactionId;
CreditCardVerificationDetails({this.IsError,this.IsDuplicate,this.GatewayResponseCode,this.GatewayMessage,this.NetworkVerificationAttempted,this.CvvVerificationResult,this.AddressVerificationResult,this.PostalCodeVerificationResult,this.NetworkTransactionId});
CreditCardVerificationDetails.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
IsError = json['IsError'];
IsDuplicate = json['IsDuplicate'];
GatewayResponseCode = json['GatewayResponseCode'];
GatewayMessage = json['GatewayMessage'];
NetworkVerificationAttempted = json['NetworkVerificationAttempted'];
CvvVerificationResult = json['CvvVerificationResult'];
AddressVerificationResult = json['AddressVerificationResult'];
PostalCodeVerificationResult = json['PostalCodeVerificationResult'];
NetworkTransactionId = json['NetworkTransactionId'];
return this;
}
Map<String, dynamic> toJson() => {
'IsError': IsError,
'IsDuplicate': IsDuplicate,
'GatewayResponseCode': GatewayResponseCode,
'GatewayMessage': GatewayMessage,
'NetworkVerificationAttempted': NetworkVerificationAttempted,
'CvvVerificationResult': CvvVerificationResult,
'AddressVerificationResult': AddressVerificationResult,
'PostalCodeVerificationResult': PostalCodeVerificationResult,
'NetworkTransactionId': NetworkTransactionId
};
getTypeName() => "CreditCardVerificationDetails";
TypeContext? context = _ctx;
}
class AchVerificationDetails implements IConvertible
{
bool? IsError;
bool? NetworkVerificationAttempted;
String? Result;
String? Code;
String? Message;
AchVerificationDetails({this.IsError,this.NetworkVerificationAttempted,this.Result,this.Code,this.Message});
AchVerificationDetails.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
IsError = json['IsError'];
NetworkVerificationAttempted = json['NetworkVerificationAttempted'];
Result = json['Result'];
Code = json['Code'];
Message = json['Message'];
return this;
}
Map<String, dynamic> toJson() => {
'IsError': IsError,
'NetworkVerificationAttempted': NetworkVerificationAttempted,
'Result': Result,
'Code': Code,
'Message': Message
};
getTypeName() => "AchVerificationDetails";
TypeContext? context = _ctx;
}
class CoreChargeVerifyRs implements IConvertible
{
String? Token;
CreditCardVerificationDetails? CardVerificationDetails;
AchVerificationDetails? AchVerificationDetails;
CoreChargeVerifyRs({this.Token,this.CardVerificationDetails,this.AchVerificationDetails});
CoreChargeVerifyRs.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Token = json['Token'];
CardVerificationDetails = JsonConverters.fromJson(json['CardVerificationDetails'],'CreditCardVerificationDetails',context!);
AchVerificationDetails = JsonConverters.fromJson(json['AchVerificationDetails'],'AchVerificationDetails',context!);
return this;
}
Map<String, dynamic> toJson() => {
'Token': Token,
'CardVerificationDetails': JsonConverters.toJson(CardVerificationDetails,'CreditCardVerificationDetails',context!),
'AchVerificationDetails': JsonConverters.toJson(AchVerificationDetails,'AchVerificationDetails',context!)
};
getTypeName() => "CoreChargeVerifyRs";
TypeContext? context = _ctx;
}
class CoreChargeVerifyRq implements IConvertible
{
double? reCaptchaScore;
String? integrationType;
int? NationalId;
int? ChapterId;
int? ContextIntegrationPartnerId;
int? AuthenticationId;
String? Token;
CoreChargeVerifyRq({this.reCaptchaScore,this.integrationType,this.NationalId,this.ChapterId,this.ContextIntegrationPartnerId,this.AuthenticationId,this.Token});
CoreChargeVerifyRq.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
reCaptchaScore = JsonConverters.toDouble(json['reCaptchaScore']);
integrationType = json['integrationType'];
NationalId = json['NationalId'];
ChapterId = json['ChapterId'];
ContextIntegrationPartnerId = json['ContextIntegrationPartnerId'];
AuthenticationId = json['AuthenticationId'];
Token = json['Token'];
return this;
}
Map<String, dynamic> toJson() => {
'reCaptchaScore': reCaptchaScore,
'integrationType': integrationType,
'NationalId': NationalId,
'ChapterId': ChapterId,
'ContextIntegrationPartnerId': ContextIntegrationPartnerId,
'AuthenticationId': AuthenticationId,
'Token': Token
};
getTypeName() => "CoreChargeVerifyRq";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'devapi.billhighway.com', types: <String, TypeInfo> {
'CreditCardVerificationDetails': TypeInfo(TypeOf.Class, create:() => CreditCardVerificationDetails()),
'AchVerificationDetails': TypeInfo(TypeOf.Class, create:() => AchVerificationDetails()),
'CoreChargeVerifyRs': TypeInfo(TypeOf.Class, create:() => CoreChargeVerifyRs()),
'CoreChargeVerifyRq': TypeInfo(TypeOf.Class, create:() => CoreChargeVerifyRq()),
});
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/verifycharge HTTP/1.1
Host: devapi.billhighway.com
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<CoreChargeVerifyRq xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/BH.CloudAPI.DTO.CoreCharges.Api.Request">
<AuthenticationId>0</AuthenticationId>
<ChapterId>0</ChapterId>
<ContextIntegrationPartnerId>0</ContextIntegrationPartnerId>
<NationalId>0</NationalId>
<Token>String</Token>
<integrationType>String</integrationType>
<reCaptchaScore>0</reCaptchaScore>
</CoreChargeVerifyRq>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<CoreChargeVerifyRs xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/BH.CloudAPI.DTO.CoreCharges.Api.Response">
<_x003C_AchVerificationDetails_x003E_k__BackingField xmlns:d2p1="http://schemas.datacontract.org/2004/07/BH.CloudAPI.DTO">
<d2p1:_x003C_Code_x003E_k__BackingField>String</d2p1:_x003C_Code_x003E_k__BackingField>
<d2p1:_x003C_IsError_x003E_k__BackingField>false</d2p1:_x003C_IsError_x003E_k__BackingField>
<d2p1:_x003C_Message_x003E_k__BackingField>String</d2p1:_x003C_Message_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>
</_x003C_AchVerificationDetails_x003E_k__BackingField>
<_x003C_CardVerificationDetails_x003E_k__BackingField xmlns:d2p1="http://schemas.datacontract.org/2004/07/BH.CloudAPI.DTO">
<d2p1:_x003C_AddressVerificationResult_x003E_k__BackingField>String</d2p1:_x003C_AddressVerificationResult_x003E_k__BackingField>
<d2p1:_x003C_ChargeToken_x003E_k__BackingField xmlns:d3p1="http://schemas.datacontract.org/2004/07/BH.CloudAPI.DTO.Charges">
<d3p1:AchDetails>
<d3p1:_x003C_AccountHolderName_x003E_k__BackingField>String</d3p1:_x003C_AccountHolderName_x003E_k__BackingField>
<d3p1:_x003C_AchRef_x003E_k__BackingField>String</d3p1:_x003C_AchRef_x003E_k__BackingField>
<d3p1:_x003C_BankAccountType_x003E_k__BackingField>None</d3p1:_x003C_BankAccountType_x003E_k__BackingField>
<d3p1:_x003C_BankName_x003E_k__BackingField>String</d3p1:_x003C_BankName_x003E_k__BackingField>
<d3p1:_x003C_RoutingNumber_x003E_k__BackingField>String</d3p1:_x003C_RoutingNumber_x003E_k__BackingField>
<d3p1:_x003C_VerificationResult_x003E_k__BackingField>
<d3p1:_x003C_Code_x003E_k__BackingField>String</d3p1:_x003C_Code_x003E_k__BackingField>
<d3p1:_x003C_Message_x003E_k__BackingField>String</d3p1:_x003C_Message_x003E_k__BackingField>
<d3p1:_x003C_NetworkVerificationAttempted_x003E_k__BackingField>false</d3p1:_x003C_NetworkVerificationAttempted_x003E_k__BackingField>
<d3p1:_x003C_Result_x003E_k__BackingField>NotAttempted</d3p1:_x003C_Result_x003E_k__BackingField>
<d3p1:_x003C_TransactionId_x003E_k__BackingField>String</d3p1:_x003C_TransactionId_x003E_k__BackingField>
</d3p1:_x003C_VerificationResult_x003E_k__BackingField>
</d3p1:AchDetails>
<d3p1:Amount>0</d3p1:Amount>
<d3p1:CardDetails>
<d3p1:_x003C_BillingAddress_x003E_k__BackingField>
<d3p1:Address1>String</d3p1:Address1>
<d3p1:Address2>String</d3p1:Address2>
<d3p1:Attributes>
<d2p1:AttributeItem>
<d2p1:Name>String</d2p1:Name>
<d2p1:Value>String</d2p1:Value>
</d2p1:AttributeItem>
</d3p1:Attributes>
<d3p1:City>String</d3p1:City>
<d3p1:Country>String</d3p1:Country>
<d3p1:PostalCode>String</d3p1:PostalCode>
<d3p1:Region>String</d3p1:Region>
</d3p1:_x003C_BillingAddress_x003E_k__BackingField>
<d3p1:_x003C_CardRef_x003E_k__BackingField>String</d3p1:_x003C_CardRef_x003E_k__BackingField>
<d3p1:_x003C_CardType_x003E_k__BackingField>AmericanExpress</d3p1:_x003C_CardType_x003E_k__BackingField>
<d3p1:_x003C_CvvEncryptionTypeId_x003E_k__BackingField>0</d3p1:_x003C_CvvEncryptionTypeId_x003E_k__BackingField>
<d3p1:_x003C_Cvv_x003E_k__BackingField>String</d3p1:_x003C_Cvv_x003E_k__BackingField>
<d3p1:_x003C_ExpMonth_x003E_k__BackingField>0</d3p1:_x003C_ExpMonth_x003E_k__BackingField>
<d3p1:_x003C_ExpYear_x003E_k__BackingField>0</d3p1:_x003C_ExpYear_x003E_k__BackingField>
<d3p1:_x003C_GatewayId_x003E_k__BackingField>0</d3p1:_x003C_GatewayId_x003E_k__BackingField>
<d3p1:_x003C_NameOnCard_x003E_k__BackingField>String</d3p1:_x003C_NameOnCard_x003E_k__BackingField>
<d3p1:_x003C_VerificationResult_x003E_k__BackingField>
<d3p1:_x003C_AddressVerificationResult_x003E_k__BackingField>NotAttempted</d3p1:_x003C_AddressVerificationResult_x003E_k__BackingField>
<d3p1:_x003C_CvvVerificationResult_x003E_k__BackingField>NotAttempted</d3p1:_x003C_CvvVerificationResult_x003E_k__BackingField>
<d3p1:_x003C_GatewayAvsResultCode_x003E_k__BackingField>String</d3p1:_x003C_GatewayAvsResultCode_x003E_k__BackingField>
<d3p1:_x003C_GatewayConfirmationNumber_x003E_k__BackingField>String</d3p1:_x003C_GatewayConfirmationNumber_x003E_k__BackingField>
<d3p1:_x003C_GatewayId_x003E_k__BackingField>0</d3p1:_x003C_GatewayId_x003E_k__BackingField>
<d3p1:_x003C_GatewayMessage_x003E_k__BackingField>String</d3p1:_x003C_GatewayMessage_x003E_k__BackingField>
<d3p1:_x003C_GatewayResponseCode_x003E_k__BackingField>String</d3p1:_x003C_GatewayResponseCode_x003E_k__BackingField>
<d3p1:_x003C_NetworkTransactionId_x003E_k__BackingField>String</d3p1:_x003C_NetworkTransactionId_x003E_k__BackingField>
<d3p1:_x003C_NetworkVerificationAttempted_x003E_k__BackingField>false</d3p1:_x003C_NetworkVerificationAttempted_x003E_k__BackingField>
<d3p1:_x003C_PostalCodeVerificationResult_x003E_k__BackingField>NotAttempted</d3p1:_x003C_PostalCodeVerificationResult_x003E_k__BackingField>
</d3p1:_x003C_VerificationResult_x003E_k__BackingField>
</d3p1:CardDetails>
<d3p1:ChapterId>0</d3p1:ChapterId>
<d3p1:ChargeTokenId>String</d3p1:ChargeTokenId>
<d3p1:Currency>String</d3p1:Currency>
<d3p1:Description>String</d3p1:Description>
<d3p1:EncryptionTypeId>0</d3p1:EncryptionTypeId>
<d3p1:ExpiresOn>0001-01-01T00:00:00</d3p1:ExpiresOn>
<d3p1:IntegrationPartnerId>0</d3p1:IntegrationPartnerId>
<d3p1:NationalId>0</d3p1:NationalId>
<d3p1:PaymentType>None</d3p1:PaymentType>
<d3p1:TokenType>String</d3p1:TokenType>
<d3p1:TokenVersion>0</d3p1:TokenVersion>
<d3p1:UsagesRemaining>0</d3p1:UsagesRemaining>
<d3p1:VerificationStatus>Initial</d3p1:VerificationStatus>
</d2p1:_x003C_ChargeToken_x003E_k__BackingField>
<d2p1:_x003C_CvvVerificationResult_x003E_k__BackingField>String</d2p1:_x003C_CvvVerificationResult_x003E_k__BackingField>
<d2p1:_x003C_GatewayMessage_x003E_k__BackingField>String</d2p1:_x003C_GatewayMessage_x003E_k__BackingField>
<d2p1:_x003C_GatewayResponseCode_x003E_k__BackingField>String</d2p1:_x003C_GatewayResponseCode_x003E_k__BackingField>
<d2p1:_x003C_IsDuplicate_x003E_k__BackingField>false</d2p1:_x003C_IsDuplicate_x003E_k__BackingField>
<d2p1:_x003C_IsError_x003E_k__BackingField>false</d2p1:_x003C_IsError_x003E_k__BackingField>
<d2p1:_x003C_NetworkTransactionId_x003E_k__BackingField>String</d2p1:_x003C_NetworkTransactionId_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>
</_x003C_CardVerificationDetails_x003E_k__BackingField>
<_x003C_Token_x003E_k__BackingField>String</_x003C_Token_x003E_k__BackingField>
</CoreChargeVerifyRs>