Autoboard Webservice v5.13.0.0

<back to all web services

OrderBoardingRequest

json-order
Requires Authentication
The following routes are available for this service:
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

HTTP + JSON

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-test.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"]}