/
XSD Schema iDEAL Merchant-Acquirer
XSD Schema iDEAL Merchant-Acquirer
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="http://www.idealdesk.com/ideal/messages/mer-acq/3.3.1"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
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>
, multiple selections available,
Related content
Example Messages iDEAL Merchant-Acquirer (with syntax highlighting)
Example Messages iDEAL Merchant-Acquirer (with syntax highlighting)
Read with this
XSD Schema iDEAL Merchant-Acquirer (without syntax highlighting)
XSD Schema iDEAL Merchant-Acquirer (without syntax highlighting)
More like this
iDEAL Merchant Integration Guide (EN) (to be deprecated)
iDEAL Merchant Integration Guide (EN) (to be deprecated)
Read with this
XSD Schema iDx Merchant Acquirer (without syntax highlighting)
XSD Schema iDx Merchant Acquirer (without syntax highlighting)
More like this
iDEAL DirectoryRes (A')
iDEAL DirectoryRes (A')
Read with this
XSD Schema iDx Merchant Acquirer (with syntax highlighting)
XSD Schema iDx Merchant Acquirer (with syntax highlighting)
More like this
Copyright © Currence iDEAL B.V. All rights reserved.