POST | /OrderBoarding |
---|
// @DataContract
export enum ApplicationQueueStatus
{
Queued = 0,
StandardisedXML = 20,
ReadyToDistribute = 40,
AwaitingDistributeResponse = 60,
ReadyToAutoboard = 80,
ThrottleCheckPassed = 100,
EligibilityCheckPassed = 300,
SentToAutoboardService = 400,
AutoboardingSuspended = 450,
SuccessfullyBoarded = 500,
QueueError = 1000,
ThrottleCheckError = 1100,
XMLStandardisationError = 1200,
EligibilityCheckError = 1300,
AutoboardingError = 1400,
IneligibleThrottleLimit = 2100,
IneligibleApplication = 2300,
}
// @DataContract
export enum ApplicationBoardingStatus
{
PENDING = 0,
IN_PROGRESS = 5,
FAILED = 9,
COMPLETED = 10,
}
export class InitiateBoardingResponse
{
public applicationGuid?: string;
public csr?: number;
public applicationQueueGuid?: string;
public queueStatus?: ApplicationQueueStatus;
public boardingStatus?: ApplicationBoardingStatus;
public errorMessages?: string[];
public constructor(init?: Partial<InitiateBoardingResponse>) { (Object as any).assign(this, init); }
}
export class Partner
{
public partnerName?: string;
public partnerId?: string;
public constructor(init?: Partial<Partner>) { (Object as any).assign(this, init); }
}
export class Person
{
public title?: string;
public firstName?: string;
public middleName?: string;
public lastName?: string;
public constructor(init?: Partial<Person>) { (Object as any).assign(this, init); }
}
export class Contact extends Person
{
public idpGuid?: string;
public telephoneNumber?: string;
public altTelephoneNumber?: string;
public email?: string;
public position?: string;
public preferredContactMethod?: string;
public preferredContactBestTime?: string;
public constructor(init?: Partial<Contact>) { super(init); (Object as any).assign(this, init); }
}
export class AuthorisedSigner extends Contact
{
public dateOfBirth?: string;
public countryCode?: string;
public constructor(init?: Partial<AuthorisedSigner>) { super(init); (Object as any).assign(this, init); }
}
export class OrderMeta
{
public sourceSystem?: string;
public sourceSystemIdentifier?: string;
public csr?: string;
public ultimateParentId?: string;
public orderType?: string;
public customerType?: string;
public partner?: Partner;
public sellerCode?: string;
public sellerEmail?: string;
public specialInstructions?: string;
public contact?: AuthorisedSigner;
public offerDetails?: string;
public dateContractAccepted?: string;
public worldpayBusinessFinanceInterest?: boolean;
public sar?: boolean;
public hasSupportingFiles?: boolean;
public constructor(init?: Partial<OrderMeta>) { (Object as any).assign(this, init); }
}
export class Address
{
public address1?: string;
public address2?: string;
public address3?: string;
public postcode?: string;
public city?: string;
public state?: string;
public countrycode?: string;
public constructor(init?: Partial<Address>) { (Object as any).assign(this, init); }
}
export class MerchantAddress extends Address
{
public addressType?: string;
public isCommercial?: boolean;
public constructor(init?: Partial<MerchantAddress>) { super(init); (Object as any).assign(this, init); }
}
export class InvoiceContact extends Person
{
public email?: string;
public position?: string;
public constructor(init?: Partial<InvoiceContact>) { super(init); (Object as any).assign(this, init); }
}
export class BankAccount
{
public sortCode?: string;
public accountNumber?: string;
public bankName?: string;
public bankAccountName?: string;
public swiftCode?: string;
public internationalBankAccountNumber?: string;
public constructor(init?: Partial<BankAccount>) { (Object as any).assign(this, init); }
}
export class MerchantCategory
{
public merchantCategoryCode?: string;
public merchantCategoryDescription?: string;
public descriptionOfGoodsAndServices?: string;
public constructor(init?: Partial<MerchantCategory>) { (Object as any).assign(this, init); }
}
export class Financials
{
public annual?: number;
public cardPercentage?: number;
public creditCardPercentage?: number;
public averageTransactionValue?: number;
public cardNotPresentPercentage?: number;
public constructor(init?: Partial<Financials>) { (Object as any).assign(this, init); }
}
export class TradeAssociation
{
public groupName?: string;
public memberNumber?: string;
public constructor(init?: Partial<TradeAssociation>) { (Object as any).assign(this, init); }
}
export class PrincipalAddress extends Address
{
public startDate?: string;
public endDate?: string;
public constructor(init?: Partial<PrincipalAddress>) { super(init); (Object as any).assign(this, init); }
}
export 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,
}
export class Principal
{
public title?: string;
public firstName?: string;
public middleName?: string;
public lastName?: string;
public dateOfBirth?: string;
public nationality?: string;
public homeAddresses?: PrincipalAddress[];
public ownershipPercentage?: number;
public position?: PositionType;
public isFinancialController?: boolean;
public constructor(init?: Partial<Principal>) { (Object as any).assign(this, init); }
}
export class Deposits
{
public perOfSalesWhereInitialDepositTaken?: number;
public sizePerTotalValue?: number;
public avgTimeBeforeDeliveryDepositTaken?: number;
public avgTimeBeforeDeliveryBalanceTaken?: number;
public constructor(init?: Partial<Deposits>) { (Object as any).assign(this, init); }
}
export class WarrantiesAndGuarantees
{
public percCardTurnover?: number;
public avgLengthInMonths?: number;
public percGoodsReturned?: number;
public thirdPartyProviders?: string;
public constructor(init?: Partial<WarrantiesAndGuarantees>) { (Object as any).assign(this, init); }
}
export class Prepayments
{
public percGoodsWherePaymentTakenPriorToDelivery?: number;
public avgDaysPaymentTakenInAdvance?: number;
public constructor(init?: Partial<Prepayments>) { (Object as any).assign(this, init); }
}
export class MembershipsSubscriptionAndInsurancePremiums
{
public percCardTurnover?: number;
public avgLengthInMonths?: number;
public membershipCost?: number;
public constructor(init?: Partial<MembershipsSubscriptionAndInsurancePremiums>) { (Object as any).assign(this, init); }
}
export class GoodsAndServices
{
public goodsProvidedByThirdParty?: boolean;
public deposits?: Deposits;
public warrantiesAndGuarantees?: WarrantiesAndGuarantees;
public prepayments?: Prepayments;
public membershipsSubscriptionAndInsurancePremiums?: MembershipsSubscriptionAndInsurancePremiums;
public stockHeldAtAnotherAddressLocation?: Address;
public constructor(init?: Partial<GoodsAndServices>) { (Object as any).assign(this, init); }
}
export class AccessibilityOptions
{
public audiotapeRequired?: boolean;
public largePrintRequired?: boolean;
public uncontractedBrailleGrade1Required?: boolean;
public uncontractedBrailleGrade2Required?: boolean;
public nextGenerationTextRequired?: boolean;
public constructor(init?: Partial<AccessibilityOptions>) { (Object as any).assign(this, init); }
}
export class ClearingDetails
{
public merchantUrl?: string;
public telephone?: string;
public email?: string;
public constructor(init?: Partial<ClearingDetails>) { (Object as any).assign(this, init); }
}
export enum CardType
{
VisaDebit = 'VisaDebit',
VisaCredit = 'VisaCredit',
VisaCommercial = 'VisaCommercial',
MastercardDebit = 'MastercardDebit',
MastercardCredit = 'MastercardCredit',
MastercardCommercial = 'MastercardCommercial',
MastercardWorldSignia = 'MastercardWorldSignia',
JcbCredit = 'JcbCredit',
JcbDebit = 'JcbDebit',
JcbCommercial = 'JcbCommercial',
DinersDiscoverCredit = 'DinersDiscoverCredit',
DinersDiscoverDebit = 'DinersDiscoverDebit',
DinersDiscoverCommercial = 'DinersDiscoverCommercial',
Amex = 'Amex',
ChinaUnionPayCredit = 'ChinaUnionPayCredit',
ChinaUnionPayDebit = 'ChinaUnionPayDebit',
ChinaUnionPayCommercial = 'ChinaUnionPayCommercial',
VisaBusinessDebit = 'VisaBusinessDebit',
MastercardBusiness = 'MastercardBusiness',
}
export class RateChargePair
{
public percent?: number;
public cost?: number;
public constructor(init?: Partial<RateChargePair>) { (Object as any).assign(this, init); }
}
export class CardCharge
{
public cardType?: CardType;
public purchase?: RateChargePair;
public refund?: RateChargePair;
public constructor(init?: Partial<CardCharge>) { (Object as any).assign(this, init); }
}
export enum PremiumTransactionChargeType
{
Magstripe = 'Magstripe',
CnpMoto = 'CnpMoto',
Paper = 'Paper',
PanKeyEntry = 'PanKeyEntry',
SecureEcom = 'SecureEcom',
NonSecureEcom = 'NonSecureEcom',
InterRegional = 'InterRegional',
IntraRegional = 'IntraRegional',
NonAuth = 'NonAuth',
}
export class PremiumTransactionCharge
{
public type?: PremiumTransactionChargeType;
public creditCard?: RateChargePair;
public debitCard?: RateChargePair;
public constructor(init?: Partial<PremiumTransactionCharge>) { (Object as any).assign(this, init); }
}
export class AdditionalTariff
{
public type?: string;
public cost?: number;
public constructor(init?: Partial<AdditionalTariff>) { (Object as any).assign(this, init); }
}
export class Rates
{
public cardCharges?: CardCharge[];
public premiumTransactionCharges?: PremiumTransactionCharge[];
public additionalTariffs?: AdditionalTariff[];
public constructor(init?: Partial<Rates>) { (Object as any).assign(this, init); }
}
export enum CurrencyCodeType
{
GBP = 'GBP',
EUR = 'EUR',
USD = 'USD',
AED = 'AED',
AFN = 'AFN',
ALL = 'ALL',
AMD = 'AMD',
ANG = 'ANG',
AOA = 'AOA',
ARS = 'ARS',
AUD = 'AUD',
AWG = 'AWG',
AZN = 'AZN',
BAM = 'BAM',
BBD = 'BBD',
BDT = 'BDT',
BGN = 'BGN',
BHD = 'BHD',
BIF = 'BIF',
BMD = 'BMD',
BND = 'BND',
BOB = 'BOB',
BRL = 'BRL',
BSD = 'BSD',
BTN = 'BTN',
BWP = 'BWP',
BYR = 'BYR',
BZD = 'BZD',
CAD = 'CAD',
CDF = 'CDF',
CHF = 'CHF',
CLP = 'CLP',
CNY = 'CNY',
COP = 'COP',
COU = 'COU',
CRC = 'CRC',
CUC = 'CUC',
CUP = 'CUP',
CVE = 'CVE',
CZK = 'CZK',
DJF = 'DJF',
DKK = 'DKK',
DOP = 'DOP',
DZD = 'DZD',
EEK = 'EEK',
EGP = 'EGP',
ERN = 'ERN',
ETB = 'ETB',
FJD = 'FJD',
FKP = 'FKP',
GEL = 'GEL',
GHS = 'GHS',
GIP = 'GIP',
GMD = 'GMD',
GNF = 'GNF',
GTQ = 'GTQ',
GYD = 'GYD',
HKD = 'HKD',
HNL = 'HNL',
HRK = 'HRK',
HTG = 'HTG',
HUF = 'HUF',
IDR = 'IDR',
ILS = 'ILS',
INR = 'INR',
IQD = 'IQD',
IRR = 'IRR',
ISK = 'ISK',
JMD = 'JMD',
JOD = 'JOD',
JPY = 'JPY',
KES = 'KES',
KGS = 'KGS',
KHR = 'KHR',
KMF = 'KMF',
KPW = 'KPW',
KRW = 'KRW',
KWD = 'KWD',
KYD = 'KYD',
KZT = 'KZT',
LAK = 'LAK',
LBP = 'LBP',
LKR = 'LKR',
LRD = 'LRD',
LSL = 'LSL',
LTL = 'LTL',
LVL = 'LVL',
LYD = 'LYD',
MAD = 'MAD',
MDL = 'MDL',
MGA = 'MGA',
MKD = 'MKD',
MMK = 'MMK',
MNT = 'MNT',
MOP = 'MOP',
MRO = 'MRO',
MUR = 'MUR',
MVR = 'MVR',
MWK = 'MWK',
MXN = 'MXN',
MYR = 'MYR',
MZN = 'MZN',
NAD = 'NAD',
NGN = 'NGN',
NIO = 'NIO',
NOK = 'NOK',
NPR = 'NPR',
NZD = 'NZD',
OMR = 'OMR',
PAB = 'PAB',
PEN = 'PEN',
PGK = 'PGK',
PHP = 'PHP',
PKR = 'PKR',
PLN = 'PLN',
PYG = 'PYG',
QAR = 'QAR',
RON = 'RON',
RSD = 'RSD',
RUB = 'RUB',
RWF = 'RWF',
SAR = 'SAR',
SBD = 'SBD',
SCR = 'SCR',
SDG = 'SDG',
SEK = 'SEK',
SGD = 'SGD',
SHP = 'SHP',
SLL = 'SLL',
SOS = 'SOS',
SRD = 'SRD',
STD = 'STD',
SYP = 'SYP',
SZL = 'SZL',
THB = 'THB',
TJS = 'TJS',
TMT = 'TMT',
TND = 'TND',
TOP = 'TOP',
TRY = 'TRY',
TTD = 'TTD',
TWD = 'TWD',
TZS = 'TZS',
UAH = 'UAH',
UGX = 'UGX',
UYU = 'UYU',
UZS = 'UZS',
VEF = 'VEF',
VND = 'VND',
VUV = 'VUV',
WST = 'WST',
YER = 'YER',
ZAR = 'ZAR',
ZMK = 'ZMK',
ZWL = 'ZWL',
}
export class TradingCurrency
{
public transactionCurrencies?: CurrencyCodeType[];
public settlementCurrency?: CurrencyCodeType;
public settlementBankSwift?: string;
public settlementBankIban?: string;
public constructor(init?: Partial<TradingCurrency>) { (Object as any).assign(this, init); }
}
export class Acquiring
{
public settlementPeriod?: number;
public fundingMode?: string;
public rates?: Rates;
public tradingCurrencies?: TradingCurrency[];
public constructor(init?: Partial<Acquiring>) { (Object as any).assign(this, init); }
}
export enum ProductFeeType
{
HireCost = 'HireCost',
TransactionCost = 'TransactionCost',
ServiceFee = 'ServiceFee',
ManagedServiceSetup = 'ManagedServiceSetup',
ManagedServiceMonthly = 'ManagedServiceMonthly',
}
export class ProductFee
{
public type?: ProductFeeType;
public cost?: number;
public constructor(init?: Partial<ProductFee>) { (Object as any).assign(this, init); }
}
export class ProductOption
{
public type?: string;
public value?: string;
public constructor(init?: Partial<ProductOption>) { (Object as any).assign(this, init); }
}
export class Product
{
public name?: string;
public type?: string;
public variant?: string;
public quantity?: number;
public relatedFees?: ProductFee[];
public options?: ProductOption[];
public constructor(init?: Partial<Product>) { (Object as any).assign(this, init); }
}
export class Subscription
{
public proposition?: string;
public pricingPackage?: string;
public term?: number;
public renewalLength?: number;
public acquiring?: Acquiring;
public products?: Product[];
public constructor(init?: Partial<Subscription>) { (Object as any).assign(this, init); }
}
export class OrderPayload
{
public partyId?: string;
public parentPartyId?: string;
public legalName?: string;
public tradingName?: string;
public addresses?: MerchantAddress[];
public tradingContact?: Contact;
public invoiceContact?: InvoiceContact;
public settlementBankAccount?: BankAccount;
public chargesBankAccount?: BankAccount;
public directDebitCorrespondenceEmail?: string;
public websiteAddress?: string;
public companyType?: string;
public companyTypeOther?: string;
public companyRegistrationNumber?: string;
public charityNumber?: string;
public merchantCategories?: MerchantCategory[];
public vatNumber?: string;
public dateStartedTrading?: string;
public anticipatedGoLiveDate?: string;
public countryOfIncorporation?: string;
public regionOfIncorporation?: string;
public financials?: Financials;
public newToCards?: boolean;
public tradeAssociation?: TradeAssociation;
public principals?: Principal[];
public goodsAndServices?: GoodsAndServices;
public accessibilityOptions?: AccessibilityOptions;
public clearingDetails?: ClearingDetails;
public acquiring?: Acquiring;
public subscriptions?: Subscription[];
public children?: OrderPayload[];
public constructor(init?: Partial<OrderPayload>) { (Object as any).assign(this, init); }
}
export class Order
{
public meta?: OrderMeta;
public payload?: OrderPayload;
public constructor(init?: Partial<Order>) { (Object as any).assign(this, init); }
}
export class OrderBoardingRequest
{
// @ApiMember(IsRequired=true)
public correlationId?: string;
// @ApiMember(IsRequired=true)
public orderJson: Order;
public onboardingRequestId?: string;
public localEnterpriseId?: string;
public audience?: string;
public constructor(init?: Partial<OrderBoardingRequest>) { (Object as any).assign(this, init); }
}
export class Address
{
public address1?: string;
public address2?: string;
public address3?: string;
public postcode?: string;
public city?: string;
public state?: string;
public countryCode?: string;
public constructor(init?: Partial<Address>) { (Object as any).assign(this, init); }
}
TypeScript OrderBoardingRequest 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 /OrderBoarding HTTP/1.1
Host: abservice-featuretest.worldpay.com
Accept: application/json
Content-Type: application/json
Content-Length: length
{"correlationId":"00000000000000000000000000000000","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","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":{}}}},"onboardingRequestId":"00000000000000000000000000000000","localEnterpriseId":"00000000000000000000000000000000","audience":"String"}
HTTP/1.1 200 OK Content-Type: application/json Content-Length: length {"applicationGuid":"00000000000000000000000000000000","csr":0,"applicationQueueGuid":"00000000000000000000000000000000","queueStatus":"Queued","boardingStatus":"PENDING","errorMessages":["String"]}