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>



Copyright © Currence iDEAL B.V. All rights reserved.