POST | /allchecks/submit/json |
---|
import java.math.*
import java.util.*
import net.servicestack.client.*
open class AllChecksApplicationDataRequest
{
var Application:Application? = null
var CorrelationId:String? = null
var NapPartyId:String? = null
var LEID:String? = null
var OrderId:String? = null
var PartyIndividuals:ArrayList<String> = ArrayList<String>()
}
open class Application
{
var ApplicationDetails:ApplicationDetails? = null
var MerchantDetails:MerchantDetails? = null
var Acquiring:Acquiring? = null
var Products:Products? = null
}
open class ApplicationDetails
{
var SourceSystem:SourceSystemType? = null
var SourceSystemIdentifier:String? = null
var CustomerType:CustomerType? = null
var Csr:String? = null
var Partner:Partner? = null
var SellerCode:String? = null
var PricingPackage:PricingPackageType? = null
var ContactPerson:AuthorisedSigner? = null
var SpecialInstructions:String? = null
var OfferDetails:String? = null
var DateContractAccepted:Date? = null
var WorldpayBusinessFinanceInterest:Boolean? = null
var Sar:Boolean? = null
var SellerEmail:String? = null
var AnticipatedGoLiveDate:Date? = null
var AccessibilityOptions:AccessibilityOptions? = null
var UltimateParentId:String? = null
}
enum class SourceSystemType
{
Mars,
Asa,
Ols,
Inasa,
}
enum class CustomerType(val value:Int)
{
New(0),
Existing(1),
None(-1),
}
open class Partner
{
var PartnerId:String? = null
var PartnerName:String? = null
}
enum class PricingPackageType(val value:Int)
{
CustomUk(0),
MonthlyUk(1),
SimplicityUk(2),
PaygUk(3),
CustomRoi(4),
PaygeComUK(5),
None(-1),
}
open class AuthorisedSigner : ContactPerson()
{
var DateOfBirth:Date? = null
var CountryCode:String? = null
}
open class ContactPerson
{
var Title:String? = null
var FirstName:String? = null
var MiddleName:String? = null
var LastName:String? = null
var TelephoneNumber:String? = null
var AltTelephoneNumber:String? = null
var Email:String? = null
var Position:String? = null
var PreferredContactMethod:PreferredContactMethodType? = null
var PreferredContactBestTime:String? = null
}
enum class PreferredContactMethodType
{
Email,
Telephone,
Any,
}
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 MerchantDetails
{
var Business:Business? = null
var Principals:ArrayList<Principal> = ArrayList<Principal>()
var Outlets:ArrayList<Outlet> = ArrayList<Outlet>()
var GoodsAndServices:GoodsAndServices? = null
}
open class Business
{
var LegalName:String? = null
var LegalAddress:BusinessAddress? = null
var WebsiteAddress:String? = null
var CompanyType:CompanyType? = null
var CompanyTypeOther:String? = null
var CompanyRegistrationNumber:String? = null
var CharityNumber:String? = null
var MerchantCategoryCode:String? = null
var MerchantCategoryDescription:String? = null
var DescriptionOfGoodsAndServices:String? = null
var VatNumber:String? = null
var DateStartedTrading:Date? = null
var CountryOfIncorporation:String? = null
var RegionOfIncorporation:String? = null
var Financials:Financials? = null
var NewToCards:Boolean? = null
var TradeAssociation:TradeAssociation? = null
}
open class BusinessAddress : Address()
{
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
}
enum class CompanyType
{
SoleTrader,
Partnership,
LimitedCompany,
Trust,
RegisteredCharity,
PublicLimitedCompany,
LimitedByGuarantee,
ClubSocietyAssociation,
CommunityInterestCompanyOrIndustrialProvident,
LimitedLiabilityPartnership,
Other,
}
open class Financials
{
var Annual:BigDecimal? = null
var CardPercentage:BigDecimal? = null
var CreditCardPercentage:BigDecimal? = null
var AverageTransactionValue: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
}
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 Outlet
{
var TradingName:String? = null
var TradingAddress:BusinessAddress? = null
var ContactPerson:ContactPerson? = null
var TerminalDeliveryAddress:BusinessAddress? = null
var CorrespondenceAddress:BusinessAddress? = null
var SettlementBankAccount:BankAccount? = null
var ChargesBankAccount:BankAccount? = null
var DirectDebitCorrespondenceEmail:String? = null
var ClearingDetails:ClearingDetails? = null
var ProductAllocation:ArrayList<OutletAllocatedProduct> = ArrayList<OutletAllocatedProduct>()
}
open class BankAccount
{
var SortCode:String? = null
var AccountNumber:String? = null
var BankName:String? = null
var BankAccountName:String? = null
}
open class ClearingDetails
{
var MerchantUrl:String? = null
var Telephone:String? = null
var Email:String? = null
}
open class OutletAllocatedProduct
{
var Id:Int? = null
var Quantity:Int? = null
}
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 Accepted:Boolean? = null
var PerOfSalesWhereInitialDepositTaken:Int? = null
var SizePercOfTotalValue:Int? = null
var AvgTimeBeforeDeliveryTaken:Int? = null
var AvgTimeBeforeDeliveryBalanceTaken:Int? = null
}
open class WarrantiesAndGuarantees
{
var LevyCharge:Boolean? = null
var PercCardTurnover:Int? = null
var AvgLengthInMonths:Int? = null
var PercGoodsReturned:Int? = null
var ThirdPartyProviders:String? = null
}
open class Prepayments
{
var FullPaymentAcceptedPriorToSupply:Boolean? = null
var PercGoodsWherePaymentTakenPriorToDelivery:Int? = null
var AvgDaysPaymentTakenInAdvance:Int? = null
}
open class MembershipsSubscriptionAndInsurancePremiums
{
var LevyCharge:Boolean? = null
var PercCardTurnover:Int? = null
var AvgLengthInMonths:Int? = null
var MembershipCost:BigDecimal? = null
}
open class Acquiring
{
var SettlementPeriodTPlus:Int? = null
var Rates:Rates? = null
var Services:Services? = null
var TradingCurrencies:ArrayList<TradingCurrency> = ArrayList<TradingCurrency>()
}
open class Rates
{
var CardCharges:ArrayList<CardCharge> = ArrayList<CardCharge>()
var PremiumTransactionCharges:ArrayList<PremiumTransactionCharge> = ArrayList<PremiumTransactionCharge>()
var AdditionalTarrifs:ArrayList<AdditionalTarrif> = ArrayList<AdditionalTarrif>()
}
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 AdditionalTarrif
{
var Type:AdditionalTarrifType? = null
var Cost:BigDecimal? = null
}
enum class AdditionalTarrifType
{
NameAndAddressCheck,
Auth,
Chargeback,
Mmsc,
PaperStatement,
PciVerbalAssessment,
PciIpScan,
PciNonCompliance,
PciSaferPaymentsPlus,
JoiningFee,
PayMonthlyAcquiringFee,
PciSaferPayments,
}
open class Services
{
var Cnp:Cnp? = null
var Amex:Amex? = null
var CashbackRequired:Boolean? = null
var WorldpayDashboardRequired:Boolean? = null
var PaperInvoicingRequired:Boolean? = null
}
open class Cnp
{
var Required:Boolean? = null
var Percentage:BigDecimal? = null
}
open class Amex
{
var Required:Boolean? = null
var ExistingAmexNumber:String? = 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 Products
{
var PosProducts:PosProducts? = null
var EcomProducts:EcomProducts? = null
var WptProducts:WptProducts? = null
var IpProducts:IpProducts? = null
}
open class PosProducts
{
var Term:Int? = null
var RenewalLength:Int? = null
var Products:ArrayList<PosProduct> = ArrayList<PosProduct>()
}
open class PosProduct
{
var Id:Int? = null
var Type:PosProductType? = null
var Quantity:Int? = null
var RelatedFees:ArrayList<ProductFee> = ArrayList<ProductFee>()
var Options:ArrayList<PosProductOption> = ArrayList<PosProductOption>()
}
enum class PosProductType
{
Mobile,
Wifi,
Bluetooth,
Fixed,
PosMidOnly,
}
open class ProductFee
{
var Type:ProductFeeType? = null
var Cost:BigDecimal? = null
}
enum class ProductFeeType
{
HireCost,
TransactionCost,
ServiceFee,
ManagedServiceSetup,
ManagedServiceMonthly,
}
open class PosProductOption
{
var Type:PosProductOptionType? = null
var Value:String? = null
}
enum class PosProductOptionType
{
Psp,
}
open class EcomProducts
{
var Term:Int? = null
var RenewalLength:Int? = null
var Products:ArrayList<EcomProduct> = ArrayList<EcomProduct>()
var Options:ArrayList<EcomOption> = ArrayList<EcomOption>()
}
open class EcomProduct
{
var Id:Int? = null
var Type:EcomProductType? = null
var Quantity:Int? = null
var RelatedFees:ArrayList<ProductFee> = ArrayList<ProductFee>()
var Options:ArrayList<EcomProductOption> = ArrayList<EcomProductOption>()
}
enum class EcomProductType
{
Gateway,
VirtualTerminal,
PayByLink,
EcomMidOnly,
}
open class EcomProductOption
{
var Type:EcomProductOptionType? = null
var Value:String? = null
}
enum class EcomProductOptionType
{
Psp,
FreeTransactions,
}
open class EcomOption
{
var Type:EcomOptionType? = null
var RelatedFees:ArrayList<ProductFee> = ArrayList<ProductFee>()
}
enum class EcomOptionType
{
Paypal,
FuturePay,
Rmm,
}
open class WptProducts
{
var Term:Int? = null
var RenewalLength:Int? = null
var PosInstallationDate:Date? = null
var IntegratedSolutionProvider:IntegratedSolutionProvider? = null
var Products:ArrayList<WptProduct> = ArrayList<WptProduct>()
}
open class IntegratedSolutionProvider
{
var Name:String? = null
var Address:Address? = null
var Telephone:String? = null
var PrimaryContact:IspContact? = null
var TechnicalContact:IspContact? = null
var ProviderType:String? = null
var ProviderSoftware:String? = null
}
open class IspContact
{
var Title:String? = null
var FirstName:String? = null
var LastName:String? = null
var Position:String? = null
var EmailAddress:String? = null
}
open class WptProduct
{
var Type:WptProductType? = null
var Id:Int? = null
var Variant:WptVariantType? = null
var Quantity:Int? = null
var RelatedFees:ArrayList<ProductFee> = ArrayList<ProductFee>()
}
enum class WptProductType
{
VerifoneP400,
IngenicoWL258,
VerifoneV240,
}
enum class WptVariantType
{
Serial,
Usb,
Ethernet,
None,
}
open class IpProducts
{
var Term:Int? = null
var RenewalLength:Int? = null
var IntegratedSolutionProvider:IntegratedSolutionProvider? = null
var Products:ArrayList<IpProduct> = ArrayList<IpProduct>()
}
open class IpProduct
{
var Id:Int? = null
var Type:IpProductType? = null
var Quantity:Int? = null
var RelatedFees:ArrayList<ProductFee> = ArrayList<ProductFee>()
var Variant:IpVariantType? = null
}
enum class IpProductType
{
PaxA920,
MiuraM020,
}
enum class IpVariantType
{
Sdk,
Cloud,
None,
}
open class StandardResponse
{
var Status:Int? = null
var CorrelationId:String? = null
var Message:String? = null
}
Kotlin AllChecksApplicationDataRequest 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/json HTTP/1.1
Host: wpcdd-featuretest-ws.worldpay.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
Application:
{
ApplicationDetails:
{
SourceSystem: MARS,
SourceSystemIdentifier: String,
CustomerType: New,
Csr: String,
Partner:
{
PartnerId: String,
PartnerName: String
},
SellerCode: String,
PricingPackage: CustomUk,
ContactPerson:
{
DateOfBirth: 0001-01-01,
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: 0001-01-01,
WorldpayBusinessFinanceInterest: False,
Sar: False,
SellerEmail: String,
AnticipatedGoLiveDate: 0001-01-01,
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: 0001-01-01,
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: 0001-01-01,
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/jsv Content-Length: length { Status: 0, CorrelationId: String, Message: String }