XSD Schema iDEAL Merchant-Acquirer (without syntax highlighting)
Interface Merchant – Acquirer
<?
xml
version
=
"1.0"
encoding
=
"UTF-8"
?>
<!-- iDEAL Messages version 3.3.1: interface Merchant/Acquirer -->
<!-- Copyright © Currence iDEAL B.V. -->
<
xs:schema
xmlns:ds
=
"http://www.w3.org/2000/09/xmldsig#"
targetNamespace
=
"http://www.idealdesk.com/ideal/messages/mer-acq/3.3.1"
elementFormDefault
=
"qualified"
attributeFormDefault
=
"unqualified"
>
<
xs:import
namespace
=
"http://www.w3.org/2000/09/xmldsig#"
schemaLocation
=
"xmldsig-core-schema.xsd"
/>
<
xs:annotation
>
<
xs:documentation
>elements defined</
xs:documentation
>
</
xs:annotation
>
<
xs:element
name
=
"DirectoryReq"
>
<
xs:annotation
>
<
xs:documentation
>Directory Request (A)</
xs:documentation
>
</
xs:annotation
>
<
xs:complexType
>
<
xs:sequence
>
<
xs:element
name
=
"createDateTimestamp"
type
=
"iDEAL.dateTime"
/>
<
xs:element
name
=
"Merchant"
>
<
xs:complexType
>
<
xs:sequence
>
<
xs:element
name
=
"merchantID"
type
=
"Merchant.merchantID"
/>
<
xs:element
name
=
"subID"
type
=
"Merchant.subID"
/>
</
xs:sequence
>
</
xs:complexType
>
</
xs:element
>
<
xs:element
ref
=
"ds:Signature"
/>
</
xs:sequence
>
<
xs:attributeGroup
ref
=
"MessageAttributes"
/>
</
xs:complexType
>
</
xs:element
>
<
xs:element
name
=
"DirectoryRes"
>
<
xs:annotation
>
<
xs:documentation
>Directory Response (A')</
xs:documentation
>
</
xs:annotation
>
<
xs:complexType
>
<
xs:sequence
>
<
xs:element
name
=
"createDateTimestamp"
type
=
"iDEAL.dateTime"
/>
<
xs:element
name
=
"Acquirer"
>
<
xs:complexType
>
<
xs:sequence
>
<
xs:element
name
=
"acquirerID"
type
=
"Acquirer.acquirerID"
/>
</
xs:sequence
>
</
xs:complexType
>
</
xs:element
>
<
xs:element
name
=
"Directory"
>
<
xs:complexType
>
<
xs:sequence
>
<
xs:element
name
=
"directoryDateTimestamp"
type
=
"xs:dateTime"
/>
<
xs:element
name
=
"Country"
maxOccurs
=
"unbounded"
>
<
xs:complexType
>
<
xs:sequence
>
<
xs:element
name
=
"countryNames"
type
=
"Country.countryNames"
/>
<
xs:element
name
=
"Issuer"
maxOccurs
=
"unbounded"
>
<
xs:complexType
>
<
xs:sequence
>
<
xs:element
name
=
"issuerID"
type
=
"Issuer.issuerID"
/>
<
xs:element
name
=
"issuerName"
type
=
"Issuer.issuerName"
/>
</
xs:sequence
>
</
xs:complexType
>
</
xs:element
>
</
xs:sequence
>
</
xs:complexType
>
</
xs:element
>
</
xs:sequence
>
</
xs:complexType
>
</
xs:element
>
<
xs:element
ref
=
"ds:Signature"
/>
</
xs:sequence
>
<
xs:attributeGroup
ref
=
"MessageAttributes"
/>
</
xs:complexType
>
</
xs:element
>
<
xs:element
name
=
"AcquirerTrxReq"
>
<
xs:annotation
>
<
xs:documentation
>Acquirer Transaction Request (B)</
xs:documentation
>
</
xs:annotation
>
<
xs:complexType
>
<
xs:sequence
>
<
xs:element
name
=
"createDateTimestamp"
type
=
"iDEAL.dateTime"
/>
<
xs:element
name
=
"Issuer"
>
<
xs:complexType
>
<
xs:sequence
>
<
xs:element
name
=
"issuerID"
type
=
"Issuer.issuerID"
/>
</
xs:sequence
>
</
xs:complexType
>
</
xs:element
>
<
xs:element
name
=
"Merchant"
>
<
xs:complexType
>
<
xs:sequence
>
<
xs:element
name
=
"merchantID"
type
=
"Merchant.merchantID"
/>
<
xs:element
name
=
"subID"
type
=
"Merchant.subID"
/>
<
xs:element
name
=
"merchantReturnURL"
type
=
"iDEAL.url"
/>
</
xs:sequence
>
</
xs:complexType
>
</
xs:element
>
<
xs:element
name
=
"Transaction"
>
<
xs:complexType
>
<
xs:sequence
>
<
xs:element
name
=
"purchaseID"
type
=
"Transaction.purchaseID"
/>
<
xs:element
name
=
"amount"
type
=
"Transaction.amount"
/>
<
xs:element
name
=
"currency"
type
=
"Transaction.currency"
/>
<
xs:element
name
=
"expirationPeriod"
type
=
"Transaction.expirationPeriod"
minOccurs
=
"0"
/>
<
xs:element
name
=
"language"
type
=
"Transaction.language"
/>
<
xs:element
name
=
"description"
type
=
"Transaction.description"
/>
<
xs:element
name
=
"entranceCode"
type
=
"Transaction.entranceCode"
/>
</
xs:sequence
>
</
xs:complexType
>
</
xs:element
>
<
xs:element
ref
=
"ds:Signature"
/>
</
xs:sequence
>
<
xs:attributeGroup
ref
=
"MessageAttributes"
/>
</
xs:complexType
>
</
xs:element
>
<
xs:element
name
=
"AcquirerTrxRes"
>
<
xs:annotation
>
<
xs:documentation
>Acquirer Transaction Response (B')</
xs:documentation
>
</
xs:annotation
>
<
xs:complexType
>
<
xs:sequence
>
<
xs:element
name
=
"createDateTimestamp"
type
=
"iDEAL.dateTime"
/>
<
xs:element
name
=
"Acquirer"
>
<
xs:complexType
>
<
xs:sequence
>
<
xs:element
name
=
"acquirerID"
type
=
"Acquirer.acquirerID"
/>
</
xs:sequence
>
</
xs:complexType
>
</
xs:element
>
<
xs:element
name
=
"Issuer"
>
<
xs:complexType
>
<
xs:sequence
>
<
xs:element
name
=
"issuerAuthenticationURL"
type
=
"Issuer.issuerAuthenticationURL"
/>
</
xs:sequence
>
</
xs:complexType
>
</
xs:element
>
<
xs:element
name
=
"Transaction"
>
<
xs:complexType
>
<
xs:sequence
>
<
xs:element
name
=
"transactionID"
type
=
"Transaction.transactionID"
/>
<
xs:element
name
=
"transactionCreateDateTimestamp"
type
=
"iDEAL.dateTime"
/>
<
xs:element
name
=
"purchaseID"
type
=
"Transaction.purchaseID"
/>
</
xs:sequence
>
</
xs:complexType
>
</
xs:element
>
<
xs:element
ref
=
"ds:Signature"
/>
</
xs:sequence
>
<
xs:attributeGroup
ref
=
"MessageAttributes"
/>
</
xs:complexType
>
</
xs:element
>
<
xs:element
name
=
"AcquirerStatusReq"
>
<
xs:annotation
>
<
xs:documentation
>Acquirer Status Request (F)</
xs:documentation
>
</
xs:annotation
>
<
xs:complexType
>
<
xs:sequence
>
<
xs:element
name
=
"createDateTimestamp"
type
=
"iDEAL.dateTime"
/>
<
xs:element
name
=
"Merchant"
>
<
xs:complexType
>
<
xs:sequence
>
<
xs:element
name
=
"merchantID"
type
=
"Merchant.merchantID"
/>
<
xs:element
name
=
"subID"
type
=
"Merchant.subID"
/>
</
xs:sequence
>
</
xs:complexType
>
</
xs:element
>
<
xs:element
name
=
"Transaction"
>
<
xs:complexType
>
<
xs:sequence
>
<
xs:element
name
=
"transactionID"
type
=
"Transaction.transactionID"
/>
</
xs:sequence
>
</
xs:complexType
>
</
xs:element
>
<
xs:element
ref
=
"ds:Signature"
/>
</
xs:sequence
>
<
xs:attributeGroup
ref
=
"MessageAttributes"
/>
</
xs:complexType
>
</
xs:element
>
<
xs:element
name
=
"AcquirerStatusRes"
>
<
xs:annotation
>
<
xs:documentation
>Acquirer Status Response (F')</
xs:documentation
>
</
xs:annotation
>
<
xs:complexType
>
<
xs:sequence
>
<
xs:element
name
=
"createDateTimestamp"
type
=
"iDEAL.dateTime"
/>
<
xs:element
name
=
"Acquirer"
>
<
xs:complexType
>
<
xs:sequence
>
<
xs:element
name
=
"acquirerID"
type
=
"Acquirer.acquirerID"
/>
</
xs:sequence
>
</
xs:complexType
>
</
xs:element
>
<
xs:element
name
=
"Transaction"
>
<
xs:complexType
>
<
xs:sequence
>
<
xs:element
name
=
"transactionID"
type
=
"Transaction.transactionID"
/>
<
xs:element
name
=
"status"
type
=
"Transaction.status"
/>
<
xs:element
name
=
"statusDateTimestamp"
type
=
"iDEAL.dateTime"
minOccurs
=
"0"
/>
<
xs:sequence
minOccurs
=
"0"
>
<
xs:element
name
=
"consumerName"
type
=
"Transaction.consumerName"
minOccurs
=
"0"
/>
<
xs:element
name
=
"consumerIBAN"
type
=
"Transaction.consumerIBAN"
minOccurs
=
"0"
/>
<
xs:element
name
=
"consumerBIC"
type
=
"Transaction.consumerBIC"
minOccurs
=
"0"
/>
<
xs:element
name
=
"amount"
type
=
"Transaction.amount"
/>
<
xs:element
name
=
"currency"
type
=
"Transaction.currency"
/>
</
xs:sequence
>
</
xs:sequence
>
</
xs:complexType
>
</
xs:element
>
<
xs:element
ref
=
"ds:Signature"
/>
</
xs:sequence
>
<
xs:attributeGroup
ref
=
"MessageAttributes"
/>
</
xs:complexType
>
</
xs:element
>
<
xs:element
name
=
"AcquirerErrorRes"
>
<
xs:annotation
>
<
xs:documentation
>Acquirer Error Response (X')</
xs:documentation
>
</
xs:annotation
>
<
xs:complexType
>
<
xs:sequence
>
<
xs:element
name
=
"createDateTimestamp"
type
=
"xs:dateTime"
/>
<
xs:element
name
=
"Error"
>
<
xs:complexType
>
<
xs:sequence
>
<
xs:element
name
=
"errorCode"
type
=
"Error.errorCode"
/>
<
xs:element
name
=
"errorMessage"
type
=
"Error.errorMessage"
/>
<
xs:element
name
=
"errorDetail"
type
=
"Error.errorDetail"
minOccurs
=
"0"
/>
<
xs:element
name
=
"suggestedAction"
type
=
"Error.suggestedAction"
minOccurs
=
"0"
/>
<
xs:element
name
=
"consumerMessage"
type
=
"Error.consumerMessage"
minOccurs
=
"0"
/>
</
xs:sequence
>
</
xs:complexType
>
</
xs:element
>
<
xs:element
ref
=
"ds:Signature"
/>
</
xs:sequence
>
<
xs:attributeGroup
ref
=
"MessageAttributes"
/>
</
xs:complexType
>
</
xs:element
>
<
xs:annotation
>
<
xs:documentation
>simpleTypes defined</
xs:documentation
>
</
xs:annotation
>
<
xs:simpleType
name
=
"Acquirer.acquirerID"
>
<
xs:restriction
base
=
"xs:token"
>
<
xs:length
value
=
"4"
fixed
=
"true"
/>
<
xs:pattern
value
=
"[0-9]+"
/>
</
xs:restriction
>
</
xs:simpleType
>
<
xs:simpleType
name
=
"Country.countryNames"
>
<
xs:restriction
base
=
"xs:token"
>
<
xs:minLength
value
=
"1"
/>
<
xs:maxLength
value
=
"128"
/>
</
xs:restriction
>
</
xs:simpleType
>
<
xs:simpleType
name
=
"Error.consumerMessage"
>
<
xs:restriction
base
=
"xs:string"
>
<
xs:maxLength
value
=
"512"
fixed
=
"true"
/>
<
xs:minLength
value
=
"1"
fixed
=
"true"
/>
</
xs:restriction
>
</
xs:simpleType
>
<
xs:simpleType
name
=
"Error.errorCode"
>
<
xs:restriction
base
=
"xs:token"
>
<
xs:length
value
=
"6"
fixed
=
"true"
/>
<
xs:pattern
value
=
"[A-Z]{2}[0-9]{4}"
/>
</
xs:restriction
>
</
xs:simpleType
>
<
xs:simpleType
name
=
"Error.errorDetail"
>
<
xs:restriction
base
=
"xs:string"
>
<
xs:maxLength
value
=
"256"
fixed
=
"true"
/>
<
xs:minLength
value
=
"1"
fixed
=
"true"
/>
</
xs:restriction
>
</
xs:simpleType
>
<
xs:simpleType
name
=
"Error.errorMessage"
>
<
xs:restriction
base
=
"xs:string"
>
<
xs:minLength
value
=
"1"
/>
<
xs:maxLength
value
=
"128"
/>
</
xs:restriction
>
</
xs:simpleType
>
<
xs:simpleType
name
=
"Error.suggestedAction"
>
<
xs:restriction
base
=
"xs:string"
>
<
xs:maxLength
value
=
"512"
fixed
=
"true"
/>
<
xs:minLength
value
=
"1"
fixed
=
"true"
/>
</
xs:restriction
>
</
xs:simpleType
>
<
xs:simpleType
name
=
"Issuer.issuerAuthenticationURL"
>
<
xs:restriction
base
=
"iDEAL.url"
/>
</
xs:simpleType
>
<
xs:simpleType
name
=
"Issuer.issuerID"
>
<
xs:restriction
base
=
"iDEAL.BIC"
/>
</
xs:simpleType
>
<
xs:simpleType
name
=
"Issuer.issuerName"
>
<
xs:restriction
base
=
"xs:token"
>
<
xs:maxLength
value
=
"35"
fixed
=
"true"
/>
<
xs:minLength
value
=
"1"
fixed
=
"true"
/>
</
xs:restriction
>
</
xs:simpleType
>
<
xs:simpleType
name
=
"Merchant.merchantID"
>
<
xs:restriction
base
=
"xs:token"
>
<
xs:length
value
=
"9"
fixed
=
"true"
/>
<
xs:pattern
value
=
"[0-9]+"
/>
</
xs:restriction
>
</
xs:simpleType
>
<
xs:simpleType
name
=
"Merchant.merchantReturnURL"
>
<
xs:restriction
base
=
"iDEAL.url"
/>
</
xs:simpleType
>
<
xs:simpleType
name
=
"Merchant.subID"
>
<
xs:restriction
base
=
"xs:nonNegativeInteger"
>
<
xs:maxInclusive
value
=
"999999"
fixed
=
"true"
/>
</
xs:restriction
>
</
xs:simpleType
>
<
xs:simpleType
name
=
"Transaction.amount"
>
<
xs:restriction
base
=
"xs:decimal"
>
<
xs:totalDigits
value
=
"12"
/>
<
xs:fractionDigits
value
=
"2"
/>
<
xs:minExclusive
value
=
"0"
/>
</
xs:restriction
>
</
xs:simpleType
>
<
xs:simpleType
name
=
"Transaction.consumerBIC"
>
<
xs:restriction
base
=
"iDEAL.BIC"
/>
</
xs:simpleType
>
<
xs:simpleType
name
=
"Transaction.consumerIBAN"
>
<
xs:restriction
base
=
"iDEAL.IBAN"
/>
</
xs:simpleType
>
<
xs:simpleType
name
=
"Transaction.consumerName"
>
<
xs:restriction
base
=
"xs:token"
>
<
xs:minLength
value
=
"1"
/>
<
xs:maxLength
value
=
"70"
/>
</
xs:restriction
>
</
xs:simpleType
>
<
xs:simpleType
name
=
"Transaction.currency"
>
<
xs:restriction
base
=
"xs:token"
>
<
xs:length
value
=
"3"
fixed
=
"true"
/>
<
xs:pattern
value
=
"EUR"
/>
</
xs:restriction
>
</
xs:simpleType
>
<
xs:simpleType
name
=
"Transaction.description"
>
<
xs:restriction
base
=
"xs:token"
>
<
xs:minLength
value
=
"1"
fixed
=
"true"
/>
<
xs:maxLength
value
=
"35"
fixed
=
"true"
/>
</
xs:restriction
>
</
xs:simpleType
>
<
xs:simpleType
name
=
"Transaction.entranceCode"
>
<
xs:restriction
base
=
"xs:token"
>
<
xs:minLength
value
=
"1"
fixed
=
"true"
/>
<
xs:maxLength
value
=
"40"
fixed
=
"true"
/>
<
xs:pattern
value
=
"[a-zA-Z0-9]+"
/>
</
xs:restriction
>
</
xs:simpleType
>
<
xs:simpleType
name
=
"Transaction.expirationPeriod"
>
<
xs:restriction
base
=
"xs:duration"
>
<
xs:minInclusive
value
=
"PT1M"
fixed
=
"true"
/>
<
xs:maxInclusive
value
=
"PT1H"
fixed
=
"true"
/>
</
xs:restriction
>
</
xs:simpleType
>
<
xs:simpleType
name
=
"Transaction.language"
>
<
xs:restriction
base
=
"iDEAL.language"
/>
</
xs:simpleType
>
<
xs:simpleType
name
=
"Transaction.purchaseID"
>
<
xs:restriction
base
=
"xs:token"
>
<
xs:minLength
value
=
"1"
/>
<
xs:maxLength
value
=
"35"
/>
<
xs:pattern
value
=
"[a-zA-Z0-9]+"
/>
</
xs:restriction
>
</
xs:simpleType
>
<
xs:simpleType
name
=
"Transaction.status"
>
<
xs:restriction
base
=
"xs:token"
>
<
xs:pattern
value
=
"Open|Success|Failure|Expired|Cancelled"
/>
</
xs:restriction
>
</
xs:simpleType
>
<
xs:simpleType
name
=
"Transaction.transactionID"
>
<
xs:restriction
base
=
"xs:token"
>
<
xs:length
value
=
"16"
fixed
=
"true"
/>
<
xs:pattern
value
=
"[0-9]+"
/>
</
xs:restriction
>
</
xs:simpleType
>
<
xs:annotation
>
<
xs:documentation
>basic simpleTypes defined</
xs:documentation
>
</
xs:annotation
>
<
xs:simpleType
name
=
"iDEAL.BIC"
>
<
xs:restriction
base
=
"xs:token"
>
<
xs:pattern
value
=
"[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}"
/>
</
xs:restriction
>
</
xs:simpleType
>
<
xs:simpleType
name
=
"iDEAL.IBAN"
>
<
xs:restriction
base
=
"xs:token"
>
<
xs:pattern
value
=
"[a-zA-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}"
/>
</
xs:restriction
>
</
xs:simpleType
>
<
xs:simpleType
name
=
"iDEAL.dateTime"
>
<
xs:restriction
base
=
"xs:dateTime"
>
<
xs:pattern
value
=
".+Z"
/>
</
xs:restriction
>
</
xs:simpleType
>
<
xs:simpleType
name
=
"iDEAL.language"
>
<
xs:restriction
base
=
"xs:token"
>
<
xs:length
value
=
"2"
fixed
=
"true"
/>
<
xs:pattern
value
=
"[a-z]+"
/>
</
xs:restriction
>
</
xs:simpleType
>
<
xs:simpleType
name
=
"iDEAL.url"
>
<
xs:restriction
base
=
"xs:anyURI"
>
<
xs:maxLength
value
=
"512"
/>
</
xs:restriction
>
</
xs:simpleType
>
<
xs:simpleType
name
=
"iDEAL.version"
>
<
xs:restriction
base
=
"xs:string"
>
<
xs:pattern
value
=
"3\.3\.1"
/>
</
xs:restriction
>
</
xs:simpleType
>
<
xs:annotation
>
<
xs:documentation
>attributeGroups defined</
xs:documentation
>
</
xs:annotation
>
<
xs:attributeGroup
name
=
"MessageAttributes"
>
<
xs:annotation
>
<
xs:documentation
>attributes of each iDEAL message</
xs:documentation
>
</
xs:annotation
>
<
xs:attribute
name
=
"version"
type
=
"iDEAL.version"
use
=
"required"
/>
</
xs:attributeGroup
>
</
xs:schema
>
Copyright © Currence iDEAL B.V. All rights reserved.