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 .json suffix or ?format=json
To embed the response in a jsonp callback, append ?callback=myCallback
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: wpcdd-featuretest-ws.worldpay.com
Accept: application/json
Content-Type: application/json
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":"\/Date(-62135596800000-0000)\/","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":"\/Date(-62135596800000-0000)\/","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":"\/Date(-62135596800000-0000)\/","AnticipatedGoLiveDate":"\/Date(-62135596800000-0000)\/","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: application/json Content-Length: length {"Status":0,"CorrelationId":"String","Message":"String"}