POST | /allchecks/submit/order |
---|
namespace BoardingGateway.Common.Requests.Boarding.Acquiring
open System
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations
[<AllowNullLiteral>]
type StandardOrderResponse() =
member val Status:Int32 = new Int32() with get,set
member val CorrelationId:String = null with get,set
member val Message:String = null with get,set
[<AllowNullLiteral>]
type Partner() =
member val PartnerName:String = null with get,set
member val PartnerId:String = null with get,set
[<AllowNullLiteral>]
type Person() =
member val Title:String = null with get,set
member val FirstName:String = null with get,set
member val MiddleName:String = null with get,set
member val LastName:String = null with get,set
[<AllowNullLiteral>]
type Contact() =
inherit Person()
member val IdpGuid:Nullable<Guid> = new Nullable<Guid>() with get,set
member val TelephoneNumber:String = null with get,set
member val AltTelephoneNumber:String = null with get,set
member val Email:String = null with get,set
member val Position:String = null with get,set
member val PreferredContactMethod:String = null with get,set
member val PreferredContactBestTime:String = null with get,set
[<AllowNullLiteral>]
type AuthorisedSigner() =
inherit Contact()
member val DateOfBirth:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val CountryCode:String = null with get,set
[<AllowNullLiteral>]
type OrderMeta() =
member val SourceSystem:String = null with get,set
member val SourceSystemIdentifier:String = null with get,set
member val Csr:String = null with get,set
member val UltimateParentId:String = null with get,set
member val OrderType:String = null with get,set
member val CustomerType:String = null with get,set
member val Partner:Partner = null with get,set
member val SellerCode:String = null with get,set
member val SellerEmail:String = null with get,set
member val SpecialInstructions:String = null with get,set
member val Contact:AuthorisedSigner = null with get,set
member val OfferDetails:String = null with get,set
member val DateContractAccepted:DateTime = new DateTime() with get,set
member val WorldpayBusinessFinanceInterest:Nullable<Boolean> = new Nullable<Boolean>() with get,set
member val Sar:Nullable<Boolean> = new Nullable<Boolean>() with get,set
member val HasSupportingFiles:Boolean = new Boolean() with get,set
[<AllowNullLiteral>]
type Address() =
member val Address1:String = null with get,set
member val Address2:String = null with get,set
member val Address3:String = null with get,set
member val Postcode:String = null with get,set
member val City:String = null with get,set
member val State:String = null with get,set
member val Countrycode:String = null with get,set
[<AllowNullLiteral>]
type MerchantAddress() =
inherit Address()
member val AddressType:String = null with get,set
member val IsCommercial:Boolean = new Boolean() with get,set
[<AllowNullLiteral>]
type InvoiceContact() =
inherit Person()
member val Email:String = null with get,set
member val Position:String = null with get,set
[<AllowNullLiteral>]
type BankAccount() =
member val SortCode:String = null with get,set
member val AccountNumber:String = null with get,set
member val BankName:String = null with get,set
member val BankAccountName:String = null with get,set
member val SwiftCode:String = null with get,set
member val InternationalBankAccountNumber:String = null with get,set
[<AllowNullLiteral>]
type MerchantCategory() =
member val MerchantCategoryCode:String = null with get,set
member val MerchantCategoryDescription:String = null with get,set
member val DescriptionOfGoodsAndServices:String = null with get,set
[<AllowNullLiteral>]
type Financials() =
member val Annual:Decimal = new Decimal() with get,set
member val CardPercentage:Decimal = new Decimal() with get,set
member val CreditCardPercentage:Decimal = new Decimal() with get,set
member val AverageTransactionValue:Decimal = new Decimal() with get,set
member val CardNotPresentPercentage:Nullable<Decimal> = new Nullable<Decimal>() with get,set
[<AllowNullLiteral>]
type TradeAssociation() =
member val GroupName:String = null with get,set
member val MemberNumber:String = null with get,set
[<AllowNullLiteral>]
type PrincipalAddress() =
inherit Address()
member val StartDate:DateTime = new DateTime() with get,set
member val EndDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
type 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
[<AllowNullLiteral>]
type Principal() =
member val Title:String = null with get,set
member val FirstName:String = null with get,set
member val MiddleName:String = null with get,set
member val LastName:String = null with get,set
member val DateOfBirth:DateTime = new DateTime() with get,set
member val Nationality:String = null with get,set
member val HomeAddresses:IEnumerable<PrincipalAddress> = null with get,set
member val OwnershipPercentage:Decimal = new Decimal() with get,set
member val Position:PositionType = new PositionType() with get,set
member val IsFinancialController:Nullable<Boolean> = new Nullable<Boolean>() with get,set
[<AllowNullLiteral>]
type Deposits() =
member val PerOfSalesWhereInitialDepositTaken:Int32 = new Int32() with get,set
member val SizePerTotalValue:Int32 = new Int32() with get,set
member val AvgTimeBeforeDeliveryDepositTaken:Int32 = new Int32() with get,set
member val AvgTimeBeforeDeliveryBalanceTaken:Int32 = new Int32() with get,set
[<AllowNullLiteral>]
type WarrantiesAndGuarantees() =
member val PercCardTurnover:Int32 = new Int32() with get,set
member val AvgLengthInMonths:Int32 = new Int32() with get,set
member val PercGoodsReturned:Int32 = new Int32() with get,set
member val ThirdPartyProviders:String = null with get,set
[<AllowNullLiteral>]
type Prepayments() =
member val PercGoodsWherePaymentTakenPriorToDelivery:Int32 = new Int32() with get,set
member val AvgDaysPaymentTakenInAdvance:Int32 = new Int32() with get,set
[<AllowNullLiteral>]
type MembershipsSubscriptionAndInsurancePremiums() =
member val PercCardTurnover:Int32 = new Int32() with get,set
member val AvgLengthInMonths:Int32 = new Int32() with get,set
member val MembershipCost:Decimal = new Decimal() with get,set
[<AllowNullLiteral>]
type GoodsAndServices() =
member val GoodsProvidedByThirdParty:Nullable<Boolean> = new Nullable<Boolean>() with get,set
member val Deposits:Deposits = null with get,set
member val WarrantiesAndGuarantees:WarrantiesAndGuarantees = null with get,set
member val Prepayments:Prepayments = null with get,set
member val MembershipsSubscriptionAndInsurancePremiums:MembershipsSubscriptionAndInsurancePremiums = null with get,set
member val StockHeldAtAnotherAddressLocation:Address = null with get,set
[<AllowNullLiteral>]
type AccessibilityOptions() =
member val AudiotapeRequired:Nullable<Boolean> = new Nullable<Boolean>() with get,set
member val LargePrintRequired:Nullable<Boolean> = new Nullable<Boolean>() with get,set
member val UncontractedBrailleGrade1Required:Nullable<Boolean> = new Nullable<Boolean>() with get,set
member val UncontractedBrailleGrade2Required:Nullable<Boolean> = new Nullable<Boolean>() with get,set
member val NextGenerationTextRequired:Nullable<Boolean> = new Nullable<Boolean>() with get,set
[<AllowNullLiteral>]
type ClearingDetails() =
member val MerchantUrl:String = null with get,set
member val Telephone:String = null with get,set
member val Email:String = null with get,set
type CardType =
| VisaDebit = 0
| VisaCredit = 1
| VisaCommercial = 2
| MastercardDebit = 3
| MastercardCredit = 4
| MastercardCommercial = 5
| MastercardWorldSignia = 6
| JcbCredit = 7
| JcbDebit = 8
| JcbCommercial = 9
| DinersDiscoverCredit = 10
| DinersDiscoverDebit = 11
| DinersDiscoverCommercial = 12
| Amex = 13
| ChinaUnionPayCredit = 14
| ChinaUnionPayDebit = 15
| ChinaUnionPayCommercial = 16
| VisaBusinessDebit = 17
| MastercardBusiness = 18
[<AllowNullLiteral>]
type RateChargePair() =
member val Percent:Nullable<Decimal> = new Nullable<Decimal>() with get,set
member val Cost:Nullable<Decimal> = new Nullable<Decimal>() with get,set
[<AllowNullLiteral>]
type CardCharge() =
member val CardType:CardType = new CardType() with get,set
member val Purchase:RateChargePair = null with get,set
member val Refund:RateChargePair = null with get,set
type PremiumTransactionChargeType =
| Magstripe = 0
| CnpMoto = 1
| Paper = 2
| PanKeyEntry = 3
| SecureEcom = 4
| NonSecureEcom = 5
| InterRegional = 6
| IntraRegional = 7
| NonAuth = 8
[<AllowNullLiteral>]
type PremiumTransactionCharge() =
member val Type:PremiumTransactionChargeType = new PremiumTransactionChargeType() with get,set
member val CreditCard:RateChargePair = null with get,set
member val DebitCard:RateChargePair = null with get,set
[<AllowNullLiteral>]
type AdditionalTariff() =
member val Type:String = null with get,set
member val Cost:Decimal = new Decimal() with get,set
[<AllowNullLiteral>]
type Rates() =
member val CardCharges:IEnumerable<CardCharge> = null with get,set
member val PremiumTransactionCharges:IEnumerable<PremiumTransactionCharge> = null with get,set
member val AdditionalTariffs:IEnumerable<AdditionalTariff> = null with get,set
type CurrencyCodeType =
| GBP = 0
| EUR = 1
| USD = 2
| AED = 3
| AFN = 4
| ALL = 5
| AMD = 6
| ANG = 7
| AOA = 8
| ARS = 9
| AUD = 10
| AWG = 11
| AZN = 12
| BAM = 13
| BBD = 14
| BDT = 15
| BGN = 16
| BHD = 17
| BIF = 18
| BMD = 19
| BND = 20
| BOB = 21
| BRL = 22
| BSD = 23
| BTN = 24
| BWP = 25
| BYR = 26
| BZD = 27
| CAD = 28
| CDF = 29
| CHF = 30
| CLP = 31
| CNY = 32
| COP = 33
| COU = 34
| CRC = 35
| CUC = 36
| CUP = 37
| CVE = 38
| CZK = 39
| DJF = 40
| DKK = 41
| DOP = 42
| DZD = 43
| EEK = 44
| EGP = 45
| ERN = 46
| ETB = 47
| FJD = 48
| FKP = 49
| GEL = 50
| GHS = 51
| GIP = 52
| GMD = 53
| GNF = 54
| GTQ = 55
| GYD = 56
| HKD = 57
| HNL = 58
| HRK = 59
| HTG = 60
| HUF = 61
| IDR = 62
| ILS = 63
| INR = 64
| IQD = 65
| IRR = 66
| ISK = 67
| JMD = 68
| JOD = 69
| JPY = 70
| KES = 71
| KGS = 72
| KHR = 73
| KMF = 74
| KPW = 75
| KRW = 76
| KWD = 77
| KYD = 78
| KZT = 79
| LAK = 80
| LBP = 81
| LKR = 82
| LRD = 83
| LSL = 84
| LTL = 85
| LVL = 86
| LYD = 87
| MAD = 88
| MDL = 89
| MGA = 90
| MKD = 91
| MMK = 92
| MNT = 93
| MOP = 94
| MRO = 95
| MUR = 96
| MVR = 97
| MWK = 98
| MXN = 99
| MYR = 100
| MZN = 101
| NAD = 102
| NGN = 103
| NIO = 104
| NOK = 105
| NPR = 106
| NZD = 107
| OMR = 108
| PAB = 109
| PEN = 110
| PGK = 111
| PHP = 112
| PKR = 113
| PLN = 114
| PYG = 115
| QAR = 116
| RON = 117
| RSD = 118
| RUB = 119
| RWF = 120
| SAR = 121
| SBD = 122
| SCR = 123
| SDG = 124
| SEK = 125
| SGD = 126
| SHP = 127
| SLL = 128
| SOS = 129
| SRD = 130
| STD = 131
| SYP = 132
| SZL = 133
| THB = 134
| TJS = 135
| TMT = 136
| TND = 137
| TOP = 138
| TRY = 139
| TTD = 140
| TWD = 141
| TZS = 142
| UAH = 143
| UGX = 144
| UYU = 145
| UZS = 146
| VEF = 147
| VND = 148
| VUV = 149
| WST = 150
| YER = 151
| ZAR = 152
| ZMK = 153
| ZWL = 154
[<AllowNullLiteral>]
type TradingCurrency() =
member val TransactionCurrencies:IEnumerable<CurrencyCodeType> = null with get,set
member val SettlementCurrency:CurrencyCodeType = new CurrencyCodeType() with get,set
member val SettlementBankSwift:String = null with get,set
member val SettlementBankIban:String = null with get,set
[<AllowNullLiteral>]
type Acquiring() =
member val SettlementPeriod:Int32 = new Int32() with get,set
member val FundingMode:String = null with get,set
member val Rates:Rates = null with get,set
member val TradingCurrencies:IEnumerable<TradingCurrency> = null with get,set
type ProductFeeType =
| HireCost = 0
| TransactionCost = 1
| ServiceFee = 2
| ManagedServiceSetup = 3
| ManagedServiceMonthly = 4
[<AllowNullLiteral>]
type ProductFee() =
member val Type:ProductFeeType = new ProductFeeType() with get,set
member val Cost:Decimal = new Decimal() with get,set
[<AllowNullLiteral>]
type ProductOption() =
member val Type:String = null with get,set
member val Value:String = null with get,set
[<AllowNullLiteral>]
type Product() =
member val Name:String = null with get,set
member val Type:String = null with get,set
member val Variant:String = null with get,set
member val Quantity:Nullable<Int32> = new Nullable<Int32>() with get,set
member val RelatedFees:IEnumerable<ProductFee> = null with get,set
member val Options:IEnumerable<ProductOption> = null with get,set
[<AllowNullLiteral>]
type Subscription() =
member val Proposition:String = null with get,set
member val PricingPackage:String = null with get,set
member val Term:Nullable<Int32> = new Nullable<Int32>() with get,set
member val RenewalLength:Nullable<Int32> = new Nullable<Int32>() with get,set
member val Acquiring:Acquiring = null with get,set
member val Products:IEnumerable<Product> = null with get,set
[<AllowNullLiteral>]
type OrderPayload() =
member val PartyId:String = null with get,set
member val ParentPartyId:String = null with get,set
member val LegalName:String = null with get,set
member val TradingName:String = null with get,set
member val PartyName:String = null with get,set
member val Addresses:IEnumerable<MerchantAddress> = null with get,set
member val TradingContact:Contact = null with get,set
member val InvoiceContact:InvoiceContact = null with get,set
member val SettlementBankAccount:BankAccount = null with get,set
member val ChargesBankAccount:BankAccount = null with get,set
member val DirectDebitCorrespondenceEmail:String = null with get,set
member val WebsiteAddress:String = null with get,set
member val CompanyType:String = null with get,set
member val CompanyTypeOther:String = null with get,set
member val CompanyRegistrationNumber:String = null with get,set
member val CharityNumber:String = null with get,set
member val MerchantCategories:IEnumerable<MerchantCategory> = null with get,set
member val VatNumber:String = null with get,set
member val DateStartedTrading:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val AnticipatedGoLiveDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val CountryOfIncorporation:String = null with get,set
member val RegionOfIncorporation:String = null with get,set
member val Financials:Financials = null with get,set
member val NewToCards:Nullable<Boolean> = new Nullable<Boolean>() with get,set
member val TradeAssociation:TradeAssociation = null with get,set
member val Principals:IEnumerable<Principal> = null with get,set
member val GoodsAndServices:GoodsAndServices = null with get,set
member val AccessibilityOptions:AccessibilityOptions = null with get,set
member val ClearingDetails:ClearingDetails = null with get,set
member val Acquiring:Acquiring = null with get,set
member val Subscriptions:IEnumerable<Subscription> = null with get,set
member val Children:IEnumerable<OrderPayload> = null with get,set
[<AllowNullLiteral>]
type Order() =
member val Meta:OrderMeta = null with get,set
member val Payload:OrderPayload = null with get,set
[<AllowNullLiteral>]
type IdentityVerificationDocuments() =
member val documentId:String = null with get,set
member val authenticity:String = null with get,set
[<AllowNullLiteral>]
type AllChecksOrderDataRequest() =
member val CorrelationId:String = null with get,set
member val OrderJson:Order = null with get,set
member val NapPartyId:String = null with get,set
member val LEID:String = null with get,set
member val OrderId:String = null with get,set
member val PartyIndividuals:ResizeArray<String> = new ResizeArray<String>() with get,set
member val IdentityVerificationDocuments:ResizeArray<IdentityVerificationDocuments> = new ResizeArray<IdentityVerificationDocuments>() with get,set
[<AllowNullLiteral>]
type Address() =
member val Address1:String = null with get,set
member val Address2:String = null with get,set
member val Address3:String = null with get,set
member val Postcode:String = null with get,set
member val City:String = null with get,set
member val State:String = null with get,set
member val CountryCode:String = null with get,set
F# 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: wpcdd-featuretest-ws.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 }