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