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 .jsv suffix or ?format=jsv

HTTP + JSV

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: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	reCaptchaScore: 0,
	integrationType: String,
	NationalId: 0,
	ChapterId: 0,
	ContextIntegrationPartnerId: 0,
	AuthenticationId: 0,
	Token: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	Token: String,
	CardVerificationDetails: 
	{
		IsError: False,
		IsDuplicate: False,
		GatewayResponseCode: String,
		GatewayMessage: String,
		NetworkVerificationAttempted: False,
		CvvVerificationResult: String,
		AddressVerificationResult: String,
		PostalCodeVerificationResult: String,
		NetworkTransactionId: String
	},
	AchVerificationDetails: 
	{
		IsError: False,
		NetworkVerificationAttempted: False,
		Result: String,
		Code: String,
		Message: String
	}
}