Billhighway Cloud API

<back to all web services

CoreChargeVerifyRq

The following routes are available for this service:
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()),
});

Dart CoreChargeVerifyRq DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml

HTTP + 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>