Billhighway Cloud API

<back to all web services

CoreChargeVerifyRq

The following routes are available for this service:
POST/integrations/api/{integrationType}/core/verifycharge
import datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CreditCardVerificationDetails:
    is_error: Optional[bool] = None
    is_duplicate: Optional[bool] = None
    gateway_response_code: Optional[str] = None
    gateway_message: Optional[str] = None
    network_verification_attempted: Optional[bool] = None
    cvv_verification_result: Optional[str] = None
    address_verification_result: Optional[str] = None
    postal_code_verification_result: Optional[str] = None
    network_transaction_id: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class AchVerificationDetails:
    is_error: Optional[bool] = None
    network_verification_attempted: Optional[bool] = None
    result: Optional[str] = None
    code: Optional[str] = None
    message: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CoreChargeVerifyRs:
    token: Optional[str] = None
    card_verification_details: Optional[CreditCardVerificationDetails] = None
    ach_verification_details: Optional[AchVerificationDetails] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CoreChargeVerifyRq:
    re_captcha_score: Optional[Decimal] = None
    integration_type: Optional[str] = None
    national_id: Optional[int] = None
    chapter_id: Optional[int] = None
    context_integration_partner_id: Optional[int] = None
    authentication_id: Optional[int] = None
    token: Optional[str] = None

Python 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>