POST | /allchecks/submit/json |
---|
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 StandardResponse:
status: Optional[int] = None
correlation_id: Optional[str] = None
message: Optional[str] = None
class SourceSystemType(str, Enum):
MARS = 'MARS'
ASA = 'ASA'
OLS = 'OLS'
INASA = 'INASA'
class CustomerType(IntEnum):
NEW = 0
EXISTING = 1
NONE = -1
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Partner:
partner_id: Optional[str] = None
partner_name: Optional[str] = None
class PricingPackageType(IntEnum):
CUSTOM_UK = 0
MONTHLY_UK = 1
SIMPLICITY_UK = 2
PAYG_UK = 3
CUSTOM_ROI = 4
PAYGE_COM_U_K = 5
NONE = -1
class PreferredContactMethodType(str, Enum):
EMAIL = 'Email'
TELEPHONE = 'Telephone'
ANY = 'Any'
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ContactPerson:
title: Optional[str] = None
first_name: Optional[str] = None
middle_name: Optional[str] = None
last_name: Optional[str] = None
telephone_number: Optional[str] = None
alt_telephone_number: Optional[str] = None
email: Optional[str] = None
position: Optional[str] = None
preferred_contact_method: Optional[PreferredContactMethodType] = None
preferred_contact_best_time: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class AuthorisedSigner(ContactPerson):
date_of_birth: Optional[datetime.datetime] = None
country_code: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class AccessibilityOptions:
audiotape_required: Optional[bool] = None
large_print_required: Optional[bool] = None
uncontracted_braille_grade1_required: Optional[bool] = None
uncontracted_braille_grade2_required: Optional[bool] = None
next_generation_text_required: Optional[bool] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ApplicationDetails:
source_system: Optional[SourceSystemType] = None
source_system_identifier: Optional[str] = None
customer_type: Optional[CustomerType] = None
csr: Optional[str] = None
partner: Optional[Partner] = None
seller_code: Optional[str] = None
pricing_package: Optional[PricingPackageType] = None
contact_person: Optional[AuthorisedSigner] = None
special_instructions: Optional[str] = None
offer_details: Optional[str] = None
date_contract_accepted: Optional[datetime.datetime] = None
worldpay_business_finance_interest: Optional[bool] = None
sar: Optional[bool] = None
seller_email: Optional[str] = None
anticipated_go_live_date: Optional[datetime.datetime] = None
accessibility_options: Optional[AccessibilityOptions] = None
ultimate_parent_id: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Address:
address1: Optional[str] = None
address2: Optional[str] = None
address3: Optional[str] = None
postcode: Optional[str] = None
city: Optional[str] = None
state: Optional[str] = None
countrycode: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class BusinessAddress(Address):
is_commercial: Optional[bool] = None
class CompanyType(str, Enum):
SOLE_TRADER = 'SoleTrader'
PARTNERSHIP = 'Partnership'
LIMITED_COMPANY = 'LimitedCompany'
TRUST = 'Trust'
REGISTERED_CHARITY = 'RegisteredCharity'
PUBLIC_LIMITED_COMPANY = 'PublicLimitedCompany'
LIMITED_BY_GUARANTEE = 'LimitedByGuarantee'
CLUB_SOCIETY_ASSOCIATION = 'ClubSocietyAssociation'
COMMUNITY_INTEREST_COMPANY_OR_INDUSTRIAL_PROVIDENT = 'CommunityInterestCompanyOrIndustrialProvident'
LIMITED_LIABILITY_PARTNERSHIP = 'LimitedLiabilityPartnership'
OTHER = 'Other'
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Financials:
annual: Optional[Decimal] = None
card_percentage: Optional[Decimal] = None
credit_card_percentage: Optional[Decimal] = None
average_transaction_value: Optional[Decimal] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class TradeAssociation:
group_name: Optional[str] = None
member_number: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Business:
legal_name: Optional[str] = None
legal_address: Optional[BusinessAddress] = None
website_address: Optional[str] = None
company_type: Optional[CompanyType] = None
company_type_other: Optional[str] = None
company_registration_number: Optional[str] = None
charity_number: Optional[str] = None
merchant_category_code: Optional[str] = None
merchant_category_description: Optional[str] = None
description_of_goods_and_services: Optional[str] = None
vat_number: Optional[str] = None
date_started_trading: Optional[datetime.datetime] = None
country_of_incorporation: Optional[str] = None
region_of_incorporation: Optional[str] = None
financials: Optional[Financials] = None
new_to_cards: Optional[bool] = None
trade_association: Optional[TradeAssociation] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PrincipalAddress(Address):
start_date: Optional[datetime.datetime] = None
end_date: Optional[datetime.datetime] = None
class PositionType(IntEnum):
SOLE_TRADER = 0
PARTNER = 1
DIRECTOR = 2
COMPANY_SECRETARY = 3
CHIEF_FINANCIAL_OFFICER = 4
CHAIRMAN = 5
DESIGNATED_BOARD_MEMBER = 7
SETTLOR = 8
TREASURER = 9
TRUSTEE = 10
CHIEF_EXECUTIVE = 11
AUTHORISED_PERSON_WITH_CONSENT = 12
NON_EXECUTIVE_DIRECTOR = 13
CONTACT_PERSON = 14
SHAREHOLDER = 15
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Principal:
title: Optional[str] = None
first_name: Optional[str] = None
middle_name: Optional[str] = None
last_name: Optional[str] = None
date_of_birth: Optional[datetime.datetime] = None
nationality: Optional[str] = None
home_addresses: Optional[List[PrincipalAddress]] = None
ownership_percentage: Optional[Decimal] = None
position: Optional[PositionType] = None
is_financial_controller: Optional[bool] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class BankAccount:
sort_code: Optional[str] = None
account_number: Optional[str] = None
bank_name: Optional[str] = None
bank_account_name: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ClearingDetails:
merchant_url: Optional[str] = None
telephone: Optional[str] = None
email: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class OutletAllocatedProduct:
id: Optional[int] = None
quantity: Optional[int] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Outlet:
trading_name: Optional[str] = None
trading_address: Optional[BusinessAddress] = None
contact_person: Optional[ContactPerson] = None
terminal_delivery_address: Optional[BusinessAddress] = None
correspondence_address: Optional[BusinessAddress] = None
settlement_bank_account: Optional[BankAccount] = None
charges_bank_account: Optional[BankAccount] = None
direct_debit_correspondence_email: Optional[str] = None
clearing_details: Optional[ClearingDetails] = None
product_allocation: Optional[List[OutletAllocatedProduct]] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Deposits:
accepted: Optional[bool] = None
per_of_sales_where_initial_deposit_taken: Optional[int] = None
size_perc_of_total_value: Optional[int] = None
avg_time_before_delivery_taken: Optional[int] = None
avg_time_before_delivery_balance_taken: Optional[int] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class WarrantiesAndGuarantees:
levy_charge: Optional[bool] = None
perc_card_turnover: Optional[int] = None
avg_length_in_months: Optional[int] = None
perc_goods_returned: Optional[int] = None
third_party_providers: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Prepayments:
full_payment_accepted_prior_to_supply: Optional[bool] = None
perc_goods_where_payment_taken_prior_to_delivery: Optional[int] = None
avg_days_payment_taken_in_advance: Optional[int] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class MembershipsSubscriptionAndInsurancePremiums:
levy_charge: Optional[bool] = None
perc_card_turnover: Optional[int] = None
avg_length_in_months: Optional[int] = None
membership_cost: Optional[Decimal] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class GoodsAndServices:
goods_provided_by_third_party: Optional[bool] = None
deposits: Optional[Deposits] = None
warranties_and_guarantees: Optional[WarrantiesAndGuarantees] = None
prepayments: Optional[Prepayments] = None
memberships_subscription_and_insurance_premiums: Optional[MembershipsSubscriptionAndInsurancePremiums] = None
stock_held_at_another_address_location: Optional[Address] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class MerchantDetails:
business: Optional[Business] = None
principals: Optional[List[Principal]] = None
outlets: Optional[List[Outlet]] = None
goods_and_services: Optional[GoodsAndServices] = None
class CardType(str, Enum):
VISA_DEBIT = 'VisaDebit'
VISA_CREDIT = 'VisaCredit'
VISA_COMMERCIAL = 'VisaCommercial'
MASTERCARD_DEBIT = 'MastercardDebit'
MASTERCARD_CREDIT = 'MastercardCredit'
MASTERCARD_COMMERCIAL = 'MastercardCommercial'
MASTERCARD_WORLD_SIGNIA = 'MastercardWorldSignia'
JCB_CREDIT = 'JcbCredit'
JCB_DEBIT = 'JcbDebit'
JCB_COMMERCIAL = 'JcbCommercial'
DINERS_DISCOVER_CREDIT = 'DinersDiscoverCredit'
DINERS_DISCOVER_DEBIT = 'DinersDiscoverDebit'
DINERS_DISCOVER_COMMERCIAL = 'DinersDiscoverCommercial'
AMEX = 'Amex'
CHINA_UNION_PAY_CREDIT = 'ChinaUnionPayCredit'
CHINA_UNION_PAY_DEBIT = 'ChinaUnionPayDebit'
CHINA_UNION_PAY_COMMERCIAL = 'ChinaUnionPayCommercial'
VISA_BUSINESS_DEBIT = 'VisaBusinessDebit'
MASTERCARD_BUSINESS = 'MastercardBusiness'
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class RateChargePair:
percent: Optional[Decimal] = None
cost: Optional[Decimal] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CardCharge:
card_type: Optional[CardType] = None
purchase: Optional[RateChargePair] = None
refund: Optional[RateChargePair] = None
class PremiumTransactionChargeType(str, Enum):
MAGSTRIPE = 'Magstripe'
CNP_MOTO = 'CnpMoto'
PAPER = 'Paper'
PAN_KEY_ENTRY = 'PanKeyEntry'
SECURE_ECOM = 'SecureEcom'
NON_SECURE_ECOM = 'NonSecureEcom'
INTER_REGIONAL = 'InterRegional'
INTRA_REGIONAL = 'IntraRegional'
NON_AUTH = 'NonAuth'
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PremiumTransactionCharge:
type: Optional[PremiumTransactionChargeType] = None
credit_card: Optional[RateChargePair] = None
debit_card: Optional[RateChargePair] = None
class AdditionalTarrifType(str, Enum):
NAME_AND_ADDRESS_CHECK = 'NameAndAddressCheck'
AUTH = 'Auth'
CHARGEBACK = 'chargeback'
MMSC = 'Mmsc'
PAPER_STATEMENT = 'PaperStatement'
PCI_VERBAL_ASSESSMENT = 'PciVerbalAssessment'
PCI_IP_SCAN = 'PciIpScan'
PCI_NON_COMPLIANCE = 'PciNonCompliance'
PCI_SAFER_PAYMENTS_PLUS = 'PciSaferPaymentsPlus'
JOINING_FEE = 'JoiningFee'
PAY_MONTHLY_ACQUIRING_FEE = 'PayMonthlyAcquiringFee'
PCI_SAFER_PAYMENTS = 'PciSaferPayments'
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class AdditionalTarrif:
type: Optional[AdditionalTarrifType] = None
cost: Optional[Decimal] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Rates:
card_charges: Optional[List[CardCharge]] = None
premium_transaction_charges: Optional[List[PremiumTransactionCharge]] = None
additional_tarrifs: Optional[List[AdditionalTarrif]] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Cnp:
required: Optional[bool] = None
percentage: Optional[Decimal] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Amex:
required: Optional[bool] = None
existing_amex_number: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Services:
cnp: Optional[Cnp] = None
amex: Optional[Amex] = None
cashback_required: Optional[bool] = None
worldpay_dashboard_required: Optional[bool] = None
paper_invoicing_required: Optional[bool] = None
class CurrencyCodeType(str, Enum):
GBP = 'GBP'
EUR = 'EUR'
USD = 'USD'
AED = 'AED'
AFN = 'AFN'
ALL = 'ALL'
AMD = 'AMD'
ANG = 'ANG'
AOA = 'AOA'
ARS = 'ARS'
AUD = 'AUD'
AWG = 'AWG'
AZN = 'AZN'
BAM = 'BAM'
BBD = 'BBD'
BDT = 'BDT'
BGN = 'BGN'
BHD = 'BHD'
BIF = 'BIF'
BMD = 'BMD'
BND = 'BND'
BOB = 'BOB'
BRL = 'BRL'
BSD = 'BSD'
BTN = 'BTN'
BWP = 'BWP'
BYR = 'BYR'
BZD = 'BZD'
CAD = 'CAD'
CDF = 'CDF'
CHF = 'CHF'
CLP = 'CLP'
CNY = 'CNY'
COP = 'COP'
COU = 'COU'
CRC = 'CRC'
CUC = 'CUC'
CUP = 'CUP'
CVE = 'CVE'
CZK = 'CZK'
DJF = 'DJF'
DKK = 'DKK'
DOP = 'DOP'
DZD = 'DZD'
EEK = 'EEK'
EGP = 'EGP'
ERN = 'ERN'
ETB = 'ETB'
FJD = 'FJD'
FKP = 'FKP'
GEL = 'GEL'
GHS = 'GHS'
GIP = 'GIP'
GMD = 'GMD'
GNF = 'GNF'
GTQ = 'GTQ'
GYD = 'GYD'
HKD = 'HKD'
HNL = 'HNL'
HRK = 'HRK'
HTG = 'HTG'
HUF = 'HUF'
IDR = 'IDR'
ILS = 'ILS'
INR = 'INR'
IQD = 'IQD'
IRR = 'IRR'
ISK = 'ISK'
JMD = 'JMD'
JOD = 'JOD'
JPY = 'JPY'
KES = 'KES'
KGS = 'KGS'
KHR = 'KHR'
KMF = 'KMF'
KPW = 'KPW'
KRW = 'KRW'
KWD = 'KWD'
KYD = 'KYD'
KZT = 'KZT'
LAK = 'LAK'
LBP = 'LBP'
LKR = 'LKR'
LRD = 'LRD'
LSL = 'LSL'
LTL = 'LTL'
LVL = 'LVL'
LYD = 'LYD'
MAD = 'MAD'
MDL = 'MDL'
MGA = 'MGA'
MKD = 'MKD'
MMK = 'MMK'
MNT = 'MNT'
MOP = 'MOP'
MRO = 'MRO'
MUR = 'MUR'
MVR = 'MVR'
MWK = 'MWK'
MXN = 'MXN'
MYR = 'MYR'
MZN = 'MZN'
NAD = 'NAD'
NGN = 'NGN'
NIO = 'NIO'
NOK = 'NOK'
NPR = 'NPR'
NZD = 'NZD'
OMR = 'OMR'
PAB = 'PAB'
PEN = 'PEN'
PGK = 'PGK'
PHP = 'PHP'
PKR = 'PKR'
PLN = 'PLN'
PYG = 'PYG'
QAR = 'QAR'
RON = 'RON'
RSD = 'RSD'
RUB = 'RUB'
RWF = 'RWF'
SAR = 'SAR'
SBD = 'SBD'
SCR = 'SCR'
SDG = 'SDG'
SEK = 'SEK'
SGD = 'SGD'
SHP = 'SHP'
SLL = 'SLL'
SOS = 'SOS'
SRD = 'SRD'
STD = 'STD'
SYP = 'SYP'
SZL = 'SZL'
THB = 'THB'
TJS = 'TJS'
TMT = 'TMT'
TND = 'TND'
TOP = 'TOP'
TRY_ = 'TRY'
TTD = 'TTD'
TWD = 'TWD'
TZS = 'TZS'
UAH = 'UAH'
UGX = 'UGX'
UYU = 'UYU'
UZS = 'UZS'
VEF = 'VEF'
VND = 'VND'
VUV = 'VUV'
WST = 'WST'
YER = 'YER'
ZAR = 'ZAR'
ZMK = 'ZMK'
ZWL = 'ZWL'
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class TradingCurrency:
transaction_currencies: Optional[List[CurrencyCodeType]] = None
settlement_currency: Optional[CurrencyCodeType] = None
settlement_bank_swift: Optional[str] = None
settlement_bank_iban: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Acquiring:
settlement_period_t_plus: Optional[int] = None
rates: Optional[Rates] = None
services: Optional[Services] = None
trading_currencies: Optional[List[TradingCurrency]] = None
class PosProductType(str, Enum):
MOBILE = 'Mobile'
WIFI = 'Wifi'
BLUETOOTH = 'Bluetooth'
FIXED = 'Fixed'
POS_MID_ONLY = 'PosMidOnly'
class ProductFeeType(str, Enum):
HIRE_COST = 'HireCost'
TRANSACTION_COST = 'TransactionCost'
SERVICE_FEE = 'ServiceFee'
MANAGED_SERVICE_SETUP = 'ManagedServiceSetup'
MANAGED_SERVICE_MONTHLY = 'ManagedServiceMonthly'
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ProductFee:
type: Optional[ProductFeeType] = None
cost: Optional[Decimal] = None
class PosProductOptionType(str, Enum):
PSP = 'PSP'
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PosProductOption:
type: Optional[PosProductOptionType] = None
value: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PosProduct:
id: Optional[int] = None
type: Optional[PosProductType] = None
quantity: Optional[int] = None
related_fees: Optional[List[ProductFee]] = None
options: Optional[List[PosProductOption]] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PosProducts:
term: Optional[int] = None
renewal_length: Optional[int] = None
products: Optional[List[PosProduct]] = None
class EcomProductType(str, Enum):
GATEWAY = 'Gateway'
VIRTUAL_TERMINAL = 'VirtualTerminal'
PAY_BY_LINK = 'PayByLink'
ECOM_MID_ONLY = 'EcomMidOnly'
class EcomProductOptionType(str, Enum):
PSP = 'PSP'
FREE_TRANSACTIONS = 'FreeTransactions'
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class EcomProductOption:
type: Optional[EcomProductOptionType] = None
value: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class EcomProduct:
id: Optional[int] = None
type: Optional[EcomProductType] = None
quantity: Optional[int] = None
related_fees: Optional[List[ProductFee]] = None
options: Optional[List[EcomProductOption]] = None
class EcomOptionType(str, Enum):
PAYPAL = 'Paypal'
FUTURE_PAY = 'FuturePay'
RMM = 'RMM'
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class EcomOption:
type: Optional[EcomOptionType] = None
related_fees: Optional[List[ProductFee]] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class EcomProducts:
term: Optional[int] = None
renewal_length: Optional[int] = None
products: Optional[List[EcomProduct]] = None
options: Optional[List[EcomOption]] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class IspContact:
title: Optional[str] = None
first_name: Optional[str] = None
last_name: Optional[str] = None
position: Optional[str] = None
email_address: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class IntegratedSolutionProvider:
name: Optional[str] = None
address: Optional[Address] = None
telephone: Optional[str] = None
primary_contact: Optional[IspContact] = None
technical_contact: Optional[IspContact] = None
provider_type: Optional[str] = None
provider_software: Optional[str] = None
class WptProductType(str, Enum):
VERIFONE_P400 = 'VerifoneP400'
INGENICO_W_L258 = 'IngenicoWL258'
VERIFONE_V240 = 'VerifoneV240'
class WptVariantType(str, Enum):
SERIAL = 'Serial'
USB = 'Usb'
ETHERNET = 'Ethernet'
NONE = 'None'
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class WptProduct:
type: Optional[WptProductType] = None
id: Optional[int] = None
variant: Optional[WptVariantType] = None
quantity: Optional[int] = None
related_fees: Optional[List[ProductFee]] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class WptProducts:
term: Optional[int] = None
renewal_length: Optional[int] = None
pos_installation_date: Optional[datetime.datetime] = None
integrated_solution_provider: Optional[IntegratedSolutionProvider] = None
products: Optional[List[WptProduct]] = None
class IpProductType(str, Enum):
PAX_A920 = 'PaxA920'
MIURA_M020 = 'MiuraM020'
class IpVariantType(str, Enum):
SDK = 'Sdk'
CLOUD = 'Cloud'
NONE = 'None'
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class IpProduct:
id: Optional[int] = None
type: Optional[IpProductType] = None
quantity: Optional[int] = None
related_fees: Optional[List[ProductFee]] = None
variant: Optional[IpVariantType] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class IpProducts:
term: Optional[int] = None
renewal_length: Optional[int] = None
integrated_solution_provider: Optional[IntegratedSolutionProvider] = None
products: Optional[List[IpProduct]] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Products:
pos_products: Optional[PosProducts] = None
ecom_products: Optional[EcomProducts] = None
wpt_products: Optional[WptProducts] = None
ip_products: Optional[IpProducts] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Application:
application_details: Optional[ApplicationDetails] = None
merchant_details: Optional[MerchantDetails] = None
acquiring: Optional[Acquiring] = None
products: Optional[Products] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class AllChecksApplicationDataRequest:
application: Optional[Application] = None
correlation_id: Optional[str] = None
nap_party_id: Optional[str] = None
leid: Optional[str] = None
order_id: Optional[str] = None
party_individuals: Optional[List[str]] = None
Python AllChecksApplicationDataRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /allchecks/submit/json HTTP/1.1
Host: wp-cddws-test.worldpay.com
Accept: text/csv
Content-Type: text/csv
Content-Length: length
{"Application":{"ApplicationDetails":{"SourceSystem":"MARS","SourceSystemIdentifier":"String","CustomerType":"New","Csr":"String","Partner":{"PartnerId":"String","PartnerName":"String"},"SellerCode":"String","PricingPackage":"CustomUk","ContactPerson":{"DateOfBirth":"\/Date(-62135596800000-0000)\/","CountryCode":"String","Title":"String","FirstName":"String","MiddleName":"String","LastName":"String","TelephoneNumber":"String","AltTelephoneNumber":"String","Email":"String","Position":"String","PreferredContactMethod":"Email","PreferredContactBestTime":"String"},"SpecialInstructions":"String","OfferDetails":"String","DateContractAccepted":"\/Date(-62135596800000-0000)\/","WorldpayBusinessFinanceInterest":false,"Sar":false,"SellerEmail":"String","AnticipatedGoLiveDate":"\/Date(-62135596800000-0000)\/","AccessibilityOptions":{"AudiotapeRequired":false,"LargePrintRequired":false,"UncontractedBrailleGrade1Required":false,"UncontractedBrailleGrade2Required":false,"NextGenerationTextRequired":false},"UltimateParentId":"String"},"MerchantDetails":{"Business":{"LegalName":"String","LegalAddress":{"IsCommercial":false,"Address1":"String","Address2":"String","Address3":"String","Postcode":"String","City":"String","State":"String","Countrycode":"String"},"WebsiteAddress":"String","CompanyType":"SoleTrader","CompanyTypeOther":"String","CompanyRegistrationNumber":"String","CharityNumber":"String","MerchantCategoryCode":"String","MerchantCategoryDescription":"String","DescriptionOfGoodsAndServices":"String","VatNumber":"String","DateStartedTrading":"\/Date(-62135596800000-0000)\/","CountryOfIncorporation":"String","RegionOfIncorporation":"String","Financials":{"Annual":0,"CardPercentage":0,"CreditCardPercentage":0,"AverageTransactionValue":0},"NewToCards":false,"TradeAssociation":{"GroupName":"String","MemberNumber":"String"}},"GoodsAndServices":{"GoodsProvidedByThirdParty":false,"Deposits":{"Accepted":false,"PerOfSalesWhereInitialDepositTaken":0,"SizePercOfTotalValue":0,"AvgTimeBeforeDeliveryTaken":0,"AvgTimeBeforeDeliveryBalanceTaken":0},"WarrantiesAndGuarantees":{"LevyCharge":false,"PercCardTurnover":0,"AvgLengthInMonths":0,"PercGoodsReturned":0,"ThirdPartyProviders":"String"},"Prepayments":{"FullPaymentAcceptedPriorToSupply":false,"PercGoodsWherePaymentTakenPriorToDelivery":0,"AvgDaysPaymentTakenInAdvance":0},"MembershipsSubscriptionAndInsurancePremiums":{"LevyCharge":false,"PercCardTurnover":0,"AvgLengthInMonths":0,"MembershipCost":0},"StockHeldAtAnotherAddressLocation":{"Address1":"String","Address2":"String","Address3":"String","Postcode":"String","City":"String","State":"String","Countrycode":"String"}}},"Acquiring":{"SettlementPeriodTPlus":0,"Rates":{},"Services":{"Cnp":{"Required":false,"Percentage":0},"Amex":{"Required":false,"ExistingAmexNumber":"String"},"CashbackRequired":false,"WorldpayDashboardRequired":false,"PaperInvoicingRequired":false}},"Products":{"PosProducts":{"Term":0,"RenewalLength":0},"EcomProducts":{"Term":0,"RenewalLength":0},"WptProducts":{"Term":0,"RenewalLength":0,"PosInstallationDate":"\/Date(-62135596800000-0000)\/","IntegratedSolutionProvider":{"Name":"String","Address":{"Address1":"String","Address2":"String","Address3":"String","Postcode":"String","City":"String","State":"String","Countrycode":"String"},"Telephone":"String","PrimaryContact":{"Title":"String","FirstName":"String","LastName":"String","Position":"String","EmailAddress":"String"},"TechnicalContact":{"Title":"String","FirstName":"String","LastName":"String","Position":"String","EmailAddress":"String"},"ProviderType":"String","ProviderSoftware":"String"}},"IpProducts":{"Term":0,"RenewalLength":0,"IntegratedSolutionProvider":{"Name":"String","Address":{"Address1":"String","Address2":"String","Address3":"String","Postcode":"String","City":"String","State":"String","Countrycode":"String"},"Telephone":"String","PrimaryContact":{"Title":"String","FirstName":"String","LastName":"String","Position":"String","EmailAddress":"String"},"TechnicalContact":{"Title":"String","FirstName":"String","LastName":"String","Position":"String","EmailAddress":"String"},"ProviderType":"String","ProviderSoftware":"String"}}}},"CorrelationId":"String","NapPartyId":"String","LEID":"String","OrderId":"String","PartyIndividuals":["String"]}
HTTP/1.1 200 OK Content-Type: text/csv Content-Length: length {"Status":0,"CorrelationId":"String","Message":"String"}