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