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
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using CDD_Engine_WS.Services;
using BoardingGateway.Common.Requests.Orders;
using BoardingGateway.Common.Requests.Boarding.BusinessDetails;
using BoardingGateway.Common.Requests.Boarding.Acquiring;
using BoardingGateway.Common.Requests.Boarding.Products;
using CDD_Engine_DLL.DataObjects;
using CddEngine.WebApi.dto.Responses;

namespace BoardingGateway.Common.Requests.Boarding.Acquiring
{
    public partial class CardCharge
    {
        public virtual CardType CardType { get; set; }
        public virtual RateChargePair Purchase { get; set; }
        public virtual RateChargePair Refund { get; set; }
    }

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

    public enum 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,
    }

    public partial class PremiumTransactionCharge
    {
        public virtual PremiumTransactionChargeType Type { get; set; }
        public virtual RateChargePair CreditCard { get; set; }
        public virtual RateChargePair DebitCard { get; set; }
    }

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

    public partial class RateChargePair
    {
        public virtual decimal? Percent { get; set; }
        public virtual decimal? Cost { get; set; }
    }

    public partial class TradingCurrency
    {
        public virtual IEnumerable<CurrencyCodeType> TransactionCurrencies { get; set; }
        public virtual CurrencyCodeType SettlementCurrency { get; set; }
        public virtual string SettlementBankSwift { get; set; }
        public virtual string SettlementBankIban { get; set; }
    }

}

namespace BoardingGateway.Common.Requests.Boarding.BusinessDetails
{
    public partial class Address
    {
        public virtual string Address1 { get; set; }
        public virtual string Address2 { get; set; }
        public virtual string Address3 { get; set; }
        public virtual string Postcode { get; set; }
        public virtual string City { get; set; }
        public virtual string State { get; set; }
        public virtual string Countrycode { get; set; }
    }

    public enum PositionType
    {
        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,
    }

    public partial class Principal
    {
        public virtual string Title { get; set; }
        public virtual string FirstName { get; set; }
        public virtual string MiddleName { get; set; }
        public virtual string LastName { get; set; }
        public virtual DateTime DateOfBirth { get; set; }
        public virtual string Nationality { get; set; }
        public virtual IEnumerable<PrincipalAddress> HomeAddresses { get; set; }
        public virtual decimal OwnershipPercentage { get; set; }
        public virtual PositionType Position { get; set; }
        public virtual bool? IsFinancialController { get; set; }
    }

    public partial class PrincipalAddress
        : Address
    {
        public virtual DateTime StartDate { get; set; }
        public virtual DateTime? EndDate { get; set; }
    }

}

namespace BoardingGateway.Common.Requests.Boarding.Products
{
    public partial class ProductFee
    {
        public virtual ProductFeeType Type { get; set; }
        public virtual decimal Cost { get; set; }
    }

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

}

namespace BoardingGateway.Common.Requests.Orders
{
    public partial class AccessibilityOptions
    {
        public virtual bool? AudiotapeRequired { get; set; }
        public virtual bool? LargePrintRequired { get; set; }
        public virtual bool? UncontractedBrailleGrade1Required { get; set; }
        public virtual bool? UncontractedBrailleGrade2Required { get; set; }
        public virtual bool? NextGenerationTextRequired { get; set; }
    }

    public partial class Acquiring
    {
        public virtual int SettlementPeriod { get; set; }
        public virtual string FundingMode { get; set; }
        public virtual Rates Rates { get; set; }
        public virtual IEnumerable<TradingCurrency> TradingCurrencies { get; set; }
    }

    public partial class AdditionalTariff
    {
        public virtual string Type { get; set; }
        public virtual decimal Cost { get; set; }
    }

    public partial class Address
    {
        public virtual string Address1 { get; set; }
        public virtual string Address2 { get; set; }
        public virtual string Address3 { get; set; }
        public virtual string Postcode { get; set; }
        public virtual string City { get; set; }
        public virtual string State { get; set; }
        public virtual string CountryCode { get; set; }
    }

    public partial class AuthorisedSigner
        : Contact
    {
        public virtual DateTime? DateOfBirth { get; set; }
        public virtual string CountryCode { get; set; }
    }

    public partial class BankAccount
    {
        public virtual string SortCode { get; set; }
        public virtual string AccountNumber { get; set; }
        public virtual string BankName { get; set; }
        public virtual string BankAccountName { get; set; }
        public virtual string SwiftCode { get; set; }
        public virtual string InternationalBankAccountNumber { get; set; }
    }

    public partial class ClearingDetails
    {
        public virtual string MerchantUrl { get; set; }
        public virtual string Telephone { get; set; }
        public virtual string Email { get; set; }
    }

    public partial class Contact
        : Person
    {
        public virtual Guid? IdpGuid { get; set; }
        public virtual string TelephoneNumber { get; set; }
        public virtual string AltTelephoneNumber { get; set; }
        public virtual string Email { get; set; }
        public virtual string Position { get; set; }
        public virtual string PreferredContactMethod { get; set; }
        public virtual string PreferredContactBestTime { get; set; }
    }

    public partial class Deposits
    {
        public virtual int PerOfSalesWhereInitialDepositTaken { get; set; }
        public virtual int SizePerTotalValue { get; set; }
        public virtual int AvgTimeBeforeDeliveryDepositTaken { get; set; }
        public virtual int AvgTimeBeforeDeliveryBalanceTaken { get; set; }
    }

    public partial class Financials
    {
        public virtual decimal Annual { get; set; }
        public virtual decimal CardPercentage { get; set; }
        public virtual decimal CreditCardPercentage { get; set; }
        public virtual decimal AverageTransactionValue { get; set; }
        public virtual decimal? CardNotPresentPercentage { get; set; }
    }

    public partial class GoodsAndServices
    {
        public virtual bool? GoodsProvidedByThirdParty { get; set; }
        public virtual Deposits Deposits { get; set; }
        public virtual WarrantiesAndGuarantees WarrantiesAndGuarantees { get; set; }
        public virtual Prepayments Prepayments { get; set; }
        public virtual MembershipsSubscriptionAndInsurancePremiums MembershipsSubscriptionAndInsurancePremiums { get; set; }
        public virtual Address StockHeldAtAnotherAddressLocation { get; set; }
    }

    public partial class InvoiceContact
        : Person
    {
        public virtual string Email { get; set; }
        public virtual string Position { get; set; }
    }

    public partial class MembershipsSubscriptionAndInsurancePremiums
    {
        public virtual int PercCardTurnover { get; set; }
        public virtual int AvgLengthInMonths { get; set; }
        public virtual decimal MembershipCost { get; set; }
    }

    public partial class MerchantAddress
        : Address
    {
        public virtual string AddressType { get; set; }
        public virtual bool IsCommercial { get; set; }
    }

    public partial class MerchantCategory
    {
        public virtual string MerchantCategoryCode { get; set; }
        public virtual string MerchantCategoryDescription { get; set; }
        public virtual string DescriptionOfGoodsAndServices { get; set; }
    }

    public partial class Order
    {
        public virtual OrderMeta Meta { get; set; }
        public virtual OrderPayload Payload { get; set; }
    }

    public partial class OrderMeta
    {
        public virtual string SourceSystem { get; set; }
        public virtual string SourceSystemIdentifier { get; set; }
        public virtual string Csr { get; set; }
        public virtual string UltimateParentId { get; set; }
        public virtual string OrderType { get; set; }
        public virtual string CustomerType { get; set; }
        public virtual Partner Partner { get; set; }
        public virtual string SellerCode { get; set; }
        public virtual string SellerEmail { get; set; }
        public virtual string SpecialInstructions { get; set; }
        public virtual AuthorisedSigner Contact { get; set; }
        public virtual string OfferDetails { get; set; }
        public virtual DateTime DateContractAccepted { get; set; }
        public virtual bool? WorldpayBusinessFinanceInterest { get; set; }
        public virtual bool? Sar { get; set; }
        public virtual bool HasSupportingFiles { get; set; }
    }

    public partial class OrderPayload
    {
        public virtual string PartyId { get; set; }
        public virtual string ParentPartyId { get; set; }
        public virtual string LegalName { get; set; }
        public virtual string TradingName { get; set; }
        public virtual string PartyName { get; set; }
        public virtual IEnumerable<MerchantAddress> Addresses { get; set; }
        public virtual Contact TradingContact { get; set; }
        public virtual InvoiceContact InvoiceContact { get; set; }
        public virtual BankAccount SettlementBankAccount { get; set; }
        public virtual BankAccount ChargesBankAccount { get; set; }
        public virtual string DirectDebitCorrespondenceEmail { get; set; }
        public virtual string WebsiteAddress { get; set; }
        public virtual string CompanyType { get; set; }
        public virtual string CompanyTypeOther { get; set; }
        public virtual string CompanyRegistrationNumber { get; set; }
        public virtual string CharityNumber { get; set; }
        public virtual IEnumerable<MerchantCategory> MerchantCategories { get; set; }
        public virtual string VatNumber { get; set; }
        public virtual DateTime? DateStartedTrading { get; set; }
        public virtual DateTime? AnticipatedGoLiveDate { get; set; }
        public virtual string CountryOfIncorporation { get; set; }
        public virtual string RegionOfIncorporation { get; set; }
        public virtual Financials Financials { get; set; }
        public virtual bool? NewToCards { get; set; }
        public virtual TradeAssociation TradeAssociation { get; set; }
        public virtual IEnumerable<Principal> Principals { get; set; }
        public virtual GoodsAndServices GoodsAndServices { get; set; }
        public virtual AccessibilityOptions AccessibilityOptions { get; set; }
        public virtual ClearingDetails ClearingDetails { get; set; }
        public virtual Acquiring Acquiring { get; set; }
        public virtual IEnumerable<Subscription> Subscriptions { get; set; }
        public virtual IEnumerable<OrderPayload> Children { get; set; }
    }

    public partial class Partner
    {
        public virtual string PartnerName { get; set; }
        public virtual string PartnerId { get; set; }
    }

    public partial class Person
    {
        public virtual string Title { get; set; }
        public virtual string FirstName { get; set; }
        public virtual string MiddleName { get; set; }
        public virtual string LastName { get; set; }
    }

    public partial class Prepayments
    {
        public virtual int PercGoodsWherePaymentTakenPriorToDelivery { get; set; }
        public virtual int AvgDaysPaymentTakenInAdvance { get; set; }
    }

    public partial class Product
    {
        public virtual string Name { get; set; }
        public virtual string Type { get; set; }
        public virtual string Variant { get; set; }
        public virtual int? Quantity { get; set; }
        public virtual IEnumerable<ProductFee> RelatedFees { get; set; }
        public virtual IEnumerable<ProductOption> Options { get; set; }
    }

    public partial class ProductOption
    {
        public virtual string Type { get; set; }
        public virtual string Value { get; set; }
    }

    public partial class Rates
    {
        public virtual IEnumerable<CardCharge> CardCharges { get; set; }
        public virtual IEnumerable<PremiumTransactionCharge> PremiumTransactionCharges { get; set; }
        public virtual IEnumerable<AdditionalTariff> AdditionalTariffs { get; set; }
    }

    public partial class Subscription
    {
        public virtual string Proposition { get; set; }
        public virtual string PricingPackage { get; set; }
        public virtual int? Term { get; set; }
        public virtual int? RenewalLength { get; set; }
        public virtual Acquiring Acquiring { get; set; }
        public virtual IEnumerable<Product> Products { get; set; }
    }

    public partial class TradeAssociation
    {
        public virtual string GroupName { get; set; }
        public virtual string MemberNumber { get; set; }
    }

    public partial class WarrantiesAndGuarantees
    {
        public virtual int PercCardTurnover { get; set; }
        public virtual int AvgLengthInMonths { get; set; }
        public virtual int PercGoodsReturned { get; set; }
        public virtual string ThirdPartyProviders { get; set; }
    }

}

namespace CDD_Engine_DLL.DataObjects
{
    public partial class IdentityVerificationDocuments
    {
        public virtual string documentId { get; set; }
        public virtual string authenticity { get; set; }
    }

}

namespace CDD_Engine_WS.Services
{
    public partial class AllChecksOrderDataRequest
    {
        public AllChecksOrderDataRequest()
        {
            PartyIndividuals = new List<string>{};
            IdentityVerificationDocuments = new List<IdentityVerificationDocuments>{};
        }

        public virtual string CorrelationId { get; set; }
        public virtual Order OrderJson { get; set; }
        public virtual string NapPartyId { get; set; }
        public virtual string LEID { get; set; }
        public virtual string OrderId { get; set; }
        public virtual List<string> PartyIndividuals { get; set; }
        public virtual List<IdentityVerificationDocuments> IdentityVerificationDocuments { get; set; }
    }

}

namespace CddEngine.WebApi.dto.Responses
{
    public partial class StandardOrderResponse
    {
        public virtual int Status { get; set; }
        public virtual string CorrelationId { get; set; }
        public virtual string Message { get; set; }
    }

}

C# 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
}