CDD Engine Web Service v2.14.0.0

<back to all web services

AllChecksOrderDataRequest

Requires Authentication
The following routes are available for this service:
POST/allchecks/submit/order
import java.math.*
import java.util.*
import net.servicestack.client.*


open class AllChecksOrderDataRequest
{
    var CorrelationId:String? = null
    var OrderJson:Order? = null
    var NapPartyId:String? = null
    var LEID:String? = null
    var OrderId:String? = null
    var PartyIndividuals:ArrayList<String> = ArrayList<String>()
    var IdentityVerificationDocuments:ArrayList<IdentityVerificationDocuments> = ArrayList<IdentityVerificationDocuments>()
}

open class Order
{
    var Meta:OrderMeta? = null
    var Payload:OrderPayload? = null
}

open class OrderMeta
{
    var SourceSystem:String? = null
    var SourceSystemIdentifier:String? = null
    var Csr:String? = null
    var UltimateParentId:String? = null
    var OrderType:String? = null
    var CustomerType:String? = null
    var Partner:Partner? = null
    var SellerCode:String? = null
    var SellerEmail:String? = null
    var SpecialInstructions:String? = null
    var Contact:AuthorisedSigner? = null
    var OfferDetails:String? = null
    var DateContractAccepted:Date? = null
    var WorldpayBusinessFinanceInterest:Boolean? = null
    var Sar:Boolean? = null
    var HasSupportingFiles:Boolean? = null
}

open class Partner
{
    var PartnerName:String? = null
    var PartnerId:String? = null
}

open class AuthorisedSigner : Contact()
{
    var DateOfBirth:Date? = null
    var CountryCode:String? = null
}

open class Contact : Person()
{
    var IdpGuid:UUID? = null
    var TelephoneNumber:String? = null
    var AltTelephoneNumber:String? = null
    var Email:String? = null
    var Position:String? = null
    var PreferredContactMethod:String? = null
    var PreferredContactBestTime:String? = null
}

open class Person
{
    var Title:String? = null
    var FirstName:String? = null
    var MiddleName:String? = null
    var LastName:String? = null
}

open class OrderPayload
{
    var PartyId:String? = null
    var ParentPartyId:String? = null
    var LegalName:String? = null
    var TradingName:String? = null
    var PartyName:String? = null
    var Addresses:ArrayList<MerchantAddress> = ArrayList<MerchantAddress>()
    var TradingContact:Contact? = null
    var InvoiceContact:InvoiceContact? = null
    var SettlementBankAccount:BankAccount? = null
    var ChargesBankAccount:BankAccount? = null
    var DirectDebitCorrespondenceEmail:String? = null
    var WebsiteAddress:String? = null
    var CompanyType:String? = null
    var CompanyTypeOther:String? = null
    var CompanyRegistrationNumber:String? = null
    var CharityNumber:String? = null
    var MerchantCategories:ArrayList<MerchantCategory> = ArrayList<MerchantCategory>()
    var VatNumber:String? = null
    var DateStartedTrading:Date? = null
    var AnticipatedGoLiveDate:Date? = null
    var CountryOfIncorporation:String? = null
    var RegionOfIncorporation:String? = null
    var Financials:Financials? = null
    var NewToCards:Boolean? = null
    var TradeAssociation:TradeAssociation? = null
    var Principals:ArrayList<Principal> = ArrayList<Principal>()
    var GoodsAndServices:GoodsAndServices? = null
    var AccessibilityOptions:AccessibilityOptions? = null
    var ClearingDetails:ClearingDetails? = null
    var Acquiring:Acquiring? = null
    var Subscriptions:ArrayList<Subscription> = ArrayList<Subscription>()
    var Children:ArrayList<OrderPayload> = ArrayList<OrderPayload>()
}

open class MerchantAddress : Address()
{
    var AddressType:String? = null
    var IsCommercial:Boolean? = null
}

open class Address
{
    var Address1:String? = null
    var Address2:String? = null
    var Address3:String? = null
    var Postcode:String? = null
    var City:String? = null
    var State:String? = null
    var CountryCode:String? = null
}

open class InvoiceContact : Person()
{
    var Email:String? = null
    var Position:String? = null
}

open class BankAccount
{
    var SortCode:String? = null
    var AccountNumber:String? = null
    var BankName:String? = null
    var BankAccountName:String? = null
    var SwiftCode:String? = null
    var InternationalBankAccountNumber:String? = null
}

open class MerchantCategory
{
    var MerchantCategoryCode:String? = null
    var MerchantCategoryDescription:String? = null
    var DescriptionOfGoodsAndServices:String? = null
}

open class Financials
{
    var Annual:BigDecimal? = null
    var CardPercentage:BigDecimal? = null
    var CreditCardPercentage:BigDecimal? = null
    var AverageTransactionValue:BigDecimal? = null
    var CardNotPresentPercentage:BigDecimal? = null
}

open class TradeAssociation
{
    var GroupName:String? = null
    var MemberNumber:String? = null
}

open class Principal
{
    var Title:String? = null
    var FirstName:String? = null
    var MiddleName:String? = null
    var LastName:String? = null
    var DateOfBirth:Date? = null
    var Nationality:String? = null
    var HomeAddresses:ArrayList<PrincipalAddress> = ArrayList<PrincipalAddress>()
    var OwnershipPercentage:BigDecimal? = null
    var Position:PositionType? = null
    var IsFinancialController:Boolean? = null
}

open class PrincipalAddress : Address()
{
    var StartDate:Date? = null
    var EndDate:Date? = null
}

open class Address
{
    var Address1:String? = null
    var Address2:String? = null
    var Address3:String? = null
    var Postcode:String? = null
    var City:String? = null
    var State:String? = null
    var Countrycode:String? = null
}

enum class PositionType(val value:Int)
{
    SoleTrader(0),
    Partner(1),
    Director(2),
    CompanySecretary(3),
    ChiefFinancialOfficer(4),
    Chairman(5),
    DesignatedBoardMember(7),
    Settlor(8),
    Treasurer(9),
    Trustee(10),
    ChiefExecutive(11),
    AuthorisedPersonWithConsent(12),
    NonExecutiveDirector(13),
    ContactPerson(14),
    Shareholder(15),
}

open class GoodsAndServices
{
    var GoodsProvidedByThirdParty:Boolean? = null
    var Deposits:Deposits? = null
    var WarrantiesAndGuarantees:WarrantiesAndGuarantees? = null
    var Prepayments:Prepayments? = null
    var MembershipsSubscriptionAndInsurancePremiums:MembershipsSubscriptionAndInsurancePremiums? = null
    var StockHeldAtAnotherAddressLocation:Address? = null
}

open class Deposits
{
    var PerOfSalesWhereInitialDepositTaken:Int? = null
    var SizePerTotalValue:Int? = null
    var AvgTimeBeforeDeliveryDepositTaken:Int? = null
    var AvgTimeBeforeDeliveryBalanceTaken:Int? = null
}

open class WarrantiesAndGuarantees
{
    var PercCardTurnover:Int? = null
    var AvgLengthInMonths:Int? = null
    var PercGoodsReturned:Int? = null
    var ThirdPartyProviders:String? = null
}

open class Prepayments
{
    var PercGoodsWherePaymentTakenPriorToDelivery:Int? = null
    var AvgDaysPaymentTakenInAdvance:Int? = null
}

open class MembershipsSubscriptionAndInsurancePremiums
{
    var PercCardTurnover:Int? = null
    var AvgLengthInMonths:Int? = null
    var MembershipCost:BigDecimal? = null
}

open class AccessibilityOptions
{
    var AudiotapeRequired:Boolean? = null
    var LargePrintRequired:Boolean? = null
    var UncontractedBrailleGrade1Required:Boolean? = null
    var UncontractedBrailleGrade2Required:Boolean? = null
    var NextGenerationTextRequired:Boolean? = null
}

open class ClearingDetails
{
    var MerchantUrl:String? = null
    var Telephone:String? = null
    var Email:String? = null
}

open class Acquiring
{
    var SettlementPeriod:Int? = null
    var FundingMode:String? = null
    var Rates:Rates? = null
    var TradingCurrencies:ArrayList<TradingCurrency> = ArrayList<TradingCurrency>()
}

open class Rates
{
    var CardCharges:ArrayList<CardCharge> = ArrayList<CardCharge>()
    var PremiumTransactionCharges:ArrayList<PremiumTransactionCharge> = ArrayList<PremiumTransactionCharge>()
    var AdditionalTariffs:ArrayList<AdditionalTariff> = ArrayList<AdditionalTariff>()
}

open class CardCharge
{
    var CardType:CardType? = null
    var Purchase:RateChargePair? = null
    var Refund:RateChargePair? = null
}

enum class CardType
{
    VisaDebit,
    VisaCredit,
    VisaCommercial,
    MastercardDebit,
    MastercardCredit,
    MastercardCommercial,
    MastercardWorldSignia,
    JcbCredit,
    JcbDebit,
    JcbCommercial,
    DinersDiscoverCredit,
    DinersDiscoverDebit,
    DinersDiscoverCommercial,
    Amex,
    ChinaUnionPayCredit,
    ChinaUnionPayDebit,
    ChinaUnionPayCommercial,
    VisaBusinessDebit,
    MastercardBusiness,
}

open class RateChargePair
{
    var Percent:BigDecimal? = null
    var Cost:BigDecimal? = null
}

open class PremiumTransactionCharge
{
    var Type:PremiumTransactionChargeType? = null
    var CreditCard:RateChargePair? = null
    var DebitCard:RateChargePair? = null
}

enum class PremiumTransactionChargeType
{
    Magstripe,
    CnpMoto,
    Paper,
    PanKeyEntry,
    SecureEcom,
    NonSecureEcom,
    InterRegional,
    IntraRegional,
    NonAuth,
}

open class AdditionalTariff
{
    var Type:String? = null
    var Cost:BigDecimal? = null
}

open class TradingCurrency
{
    var TransactionCurrencies:ArrayList<CurrencyCodeType> = ArrayList<CurrencyCodeType>()
    var SettlementCurrency:CurrencyCodeType? = null
    var SettlementBankSwift:String? = null
    var SettlementBankIban:String? = null
}

enum class CurrencyCodeType
{
    Gbp,
    Eur,
    Usd,
    Aed,
    Afn,
    All,
    Amd,
    Ang,
    Aoa,
    Ars,
    Aud,
    Awg,
    Azn,
    Bam,
    Bbd,
    Bdt,
    Bgn,
    Bhd,
    Bif,
    Bmd,
    Bnd,
    Bob,
    Brl,
    Bsd,
    Btn,
    Bwp,
    Byr,
    Bzd,
    Cad,
    Cdf,
    Chf,
    Clp,
    Cny,
    Cop,
    Cou,
    Crc,
    Cuc,
    Cup,
    Cve,
    Czk,
    Djf,
    Dkk,
    Dop,
    Dzd,
    Eek,
    Egp,
    Ern,
    Etb,
    Fjd,
    Fkp,
    Gel,
    Ghs,
    Gip,
    Gmd,
    Gnf,
    Gtq,
    Gyd,
    Hkd,
    Hnl,
    Hrk,
    Htg,
    Huf,
    Idr,
    Ils,
    Inr,
    Iqd,
    Irr,
    Isk,
    Jmd,
    Jod,
    Jpy,
    Kes,
    Kgs,
    Khr,
    Kmf,
    Kpw,
    Krw,
    Kwd,
    Kyd,
    Kzt,
    Lak,
    Lbp,
    Lkr,
    Lrd,
    Lsl,
    Ltl,
    Lvl,
    Lyd,
    Mad,
    Mdl,
    Mga,
    Mkd,
    Mmk,
    Mnt,
    Mop,
    Mro,
    Mur,
    Mvr,
    Mwk,
    Mxn,
    Myr,
    Mzn,
    Nad,
    Ngn,
    Nio,
    Nok,
    Npr,
    Nzd,
    Omr,
    Pab,
    Pen,
    Pgk,
    Php,
    Pkr,
    Pln,
    Pyg,
    Qar,
    Ron,
    Rsd,
    Rub,
    Rwf,
    Sar,
    Sbd,
    Scr,
    Sdg,
    Sek,
    Sgd,
    Shp,
    Sll,
    Sos,
    Srd,
    Std,
    Syp,
    Szl,
    Thb,
    Tjs,
    Tmt,
    Tnd,
    Top,
    Try,
    Ttd,
    Twd,
    Tzs,
    Uah,
    Ugx,
    Uyu,
    Uzs,
    Vef,
    Vnd,
    Vuv,
    Wst,
    Yer,
    Zar,
    Zmk,
    Zwl,
}

open class Subscription
{
    var Proposition:String? = null
    var PricingPackage:String? = null
    var Term:Int? = null
    var RenewalLength:Int? = null
    var Acquiring:Acquiring? = null
    var Products:ArrayList<Product> = ArrayList<Product>()
}

open class Product
{
    var Name:String? = null
    var Type:String? = null
    var Variant:String? = null
    var Quantity:Int? = null
    var RelatedFees:ArrayList<ProductFee> = ArrayList<ProductFee>()
    var Options:ArrayList<ProductOption> = ArrayList<ProductOption>()
}

open class ProductFee
{
    var Type:ProductFeeType? = null
    var Cost:BigDecimal? = null
}

enum class ProductFeeType
{
    HireCost,
    TransactionCost,
    ServiceFee,
    ManagedServiceSetup,
    ManagedServiceMonthly,
}

open class ProductOption
{
    var Type:String? = null
    var Value:String? = null
}

open class IdentityVerificationDocuments
{
    var documentId:String? = null
    var authenticity:String? = null
}

open class StandardOrderResponse
{
    var Status:Int? = null
    var CorrelationId:String? = null
    var Message:String? = null
}

Kotlin AllChecksOrderDataRequest 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 /allchecks/submit/order HTTP/1.1 
Host: wp-cddws-test.worldpay.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	CorrelationId: String,
	OrderJson: 
	{
		Meta: 
		{
			SourceSystem: String,
			SourceSystemIdentifier: String,
			Csr: String,
			UltimateParentId: String,
			OrderType: String,
			CustomerType: String,
			Partner: 
			{
				PartnerName: String,
				PartnerId: String
			},
			SellerCode: String,
			SellerEmail: String,
			SpecialInstructions: String,
			Contact: 
			{
				DateOfBirth: 0001-01-01,
				CountryCode: String,
				IdpGuid: 00000000000000000000000000000000,
				TelephoneNumber: String,
				AltTelephoneNumber: String,
				Email: String,
				Position: String,
				PreferredContactMethod: String,
				PreferredContactBestTime: String,
				Title: String,
				FirstName: String,
				MiddleName: String,
				LastName: String
			},
			OfferDetails: String,
			DateContractAccepted: 0001-01-01,
			WorldpayBusinessFinanceInterest: False,
			Sar: False,
			HasSupportingFiles: False
		},
		Payload: 
		{
			PartyId: String,
			ParentPartyId: String,
			LegalName: String,
			TradingName: String,
			PartyName: String,
			TradingContact: 
			{
				IdpGuid: 00000000000000000000000000000000,
				TelephoneNumber: String,
				AltTelephoneNumber: String,
				Email: String,
				Position: String,
				PreferredContactMethod: String,
				PreferredContactBestTime: String,
				Title: String,
				FirstName: String,
				MiddleName: String,
				LastName: String
			},
			InvoiceContact: 
			{
				Email: String,
				Position: String,
				Title: String,
				FirstName: String,
				MiddleName: String,
				LastName: String
			},
			SettlementBankAccount: 
			{
				SortCode: String,
				AccountNumber: String,
				BankName: String,
				BankAccountName: String,
				SwiftCode: String,
				InternationalBankAccountNumber: String
			},
			ChargesBankAccount: 
			{
				SortCode: String,
				AccountNumber: String,
				BankName: String,
				BankAccountName: String,
				SwiftCode: String,
				InternationalBankAccountNumber: String
			},
			DirectDebitCorrespondenceEmail: String,
			WebsiteAddress: String,
			CompanyType: String,
			CompanyTypeOther: String,
			CompanyRegistrationNumber: String,
			CharityNumber: String,
			VatNumber: String,
			DateStartedTrading: 0001-01-01,
			AnticipatedGoLiveDate: 0001-01-01,
			CountryOfIncorporation: String,
			RegionOfIncorporation: String,
			Financials: 
			{
				Annual: 0,
				CardPercentage: 0,
				CreditCardPercentage: 0,
				AverageTransactionValue: 0,
				CardNotPresentPercentage: 0
			},
			NewToCards: False,
			TradeAssociation: 
			{
				GroupName: String,
				MemberNumber: String
			},
			GoodsAndServices: 
			{
				GoodsProvidedByThirdParty: False,
				Deposits: 
				{
					PerOfSalesWhereInitialDepositTaken: 0,
					SizePerTotalValue: 0,
					AvgTimeBeforeDeliveryDepositTaken: 0,
					AvgTimeBeforeDeliveryBalanceTaken: 0
				},
				WarrantiesAndGuarantees: 
				{
					PercCardTurnover: 0,
					AvgLengthInMonths: 0,
					PercGoodsReturned: 0,
					ThirdPartyProviders: String
				},
				Prepayments: 
				{
					PercGoodsWherePaymentTakenPriorToDelivery: 0,
					AvgDaysPaymentTakenInAdvance: 0
				},
				MembershipsSubscriptionAndInsurancePremiums: 
				{
					PercCardTurnover: 0,
					AvgLengthInMonths: 0,
					MembershipCost: 0
				},
				StockHeldAtAnotherAddressLocation: 
				{
					Address1: String,
					Address2: String,
					Address3: String,
					Postcode: String,
					City: String,
					State: String,
					CountryCode: String
				}
			},
			AccessibilityOptions: 
			{
				AudiotapeRequired: False,
				LargePrintRequired: False,
				UncontractedBrailleGrade1Required: False,
				UncontractedBrailleGrade2Required: False,
				NextGenerationTextRequired: False
			},
			ClearingDetails: 
			{
				MerchantUrl: String,
				Telephone: String,
				Email: String
			},
			Acquiring: 
			{
				SettlementPeriod: 0,
				FundingMode: String,
				Rates: {}
			}
		}
	},
	NapPartyId: String,
	LEID: String,
	OrderId: String,
	PartyIndividuals: 
	[
		String
	],
	IdentityVerificationDocuments: 
	[
		{
			documentId: String,
			authenticity: String
		}
	]
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	Status: 0,
	CorrelationId: String,
	Message: String
}