Ви знаходитеся тут: Головна / Подключение Money Transfer / XSD scheme / TransactionResponse

TransactionResponse

створив(ла) Igor Uleschenko Востаннє змінено: Вер 19, 2019 15:01

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
           xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
           version="1.0"
           elementFormDefault="qualified"
           attributeFormDefault="qualified">

    <xs:import namespace="http://www.w3.org/2000/09/xmldsig#"
               schemaLocation="classpath:schemas/xmldsig-core-schema.xsd"/>

    <xs:element name="TransactionResponse" type="transactionResponse"/>

    <xs:element name="tranCliche" type="tranCliche"/>

    <xs:element name="tranResult" type="tranResult"/>

    <xs:complexType name="transactionResponse">
        <xs:all>
            <xs:element name="TrackingId" type="trackingId"/>
            <xs:element name="Status" type="status"/>
            <xs:element name="FundingResult" type="tranResult" minOccurs="0"/>
            <xs:element name="PaymentResult" type="tranResult" minOccurs="0"/>
            <xs:element ref="ds:Signature" minOccurs="0"/>
        </xs:all>
    </xs:complexType>

    <xs:complexType name="status">
        <xs:all>
            <xs:element name="Code" type="xs:string"/>
            <xs:element name="Message" type="xs:string"/>
        </xs:all>
    </xs:complexType>

    <xs:complexType name="tranResult">
        <xs:sequence>
            <xs:element name="Date" type="xs:string"/>
            <xs:element name="CVResult" type="xs:string" minOccurs="0"/>
            <xs:element name="MerchantCliche" type="tranCliche" minOccurs="0"/>
            <xs:element name="ApprovalCode" type="xs:string"/>
            <xs:element name="AuthCode" type="xs:string"/>
            <xs:element name="RRN" type="xs:string"/>
            <xs:element name="Token" type="token" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="tranCliche">
        <xs:sequence>
            <xs:element name="MerchantId" type="xs:string"/>
            <xs:element name="TerminalId" type="xs:string"/>
            <xs:element name="MCC" type="xs:string"/>
        </xs:sequence>
    </xs:complexType>
    <xs:simpleType name="trackingId">
        <xs:restriction base="xs:string">
            <xs:pattern value="[A-Za-z0-9]{1,16}"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:complexType name="token">
        <xs:choice minOccurs="1" maxOccurs="1">
            <xs:element name="UPCToken" type="upcToken"/>
        </xs:choice>
    </xs:complexType>
    <xs:complexType name="upcToken">
        <xs:sequence>
            <xs:element name="TokenId" type="tokenId"/>
            <xs:element name="CardInfo" type="cardInfo" minOccurs="0"/>
            <xs:element name="ExpDate" type="xs:string"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="cardInfo">
        <xs:sequence>
            <xs:element name="Mask" type="maskedPAN"/>
            <xs:element name="ExpMonth" type="expMonth"/>
            <xs:element name="ExpYear" type="expYear"/>
            <xs:element name="Brand" type="brand"/>
        </xs:sequence>
    </xs:complexType>

    <xs:simpleType name="tokenId">
        <xs:restriction base="xs:string">
            <xs:pattern value="[a-fA-F0-9]{32}"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="maskedPAN">
        <xs:restriction base="xs:string">
            <xs:pattern value="[0-9]{0,6}[*]{4,12}[0-9]{4}"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="brand">
        <xs:restriction base="xs:string">
            <xs:pattern value="(VISA|MAST|MAES)"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="expYear">
        <xs:restriction base="xs:string">
            <xs:pattern value="[0-9]{4}"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="expMonth">
        <xs:restriction base="xs:string">
            <xs:pattern value="0?[1-9]|1[0-2]"/>
        </xs:restriction>
    </xs:simpleType>
</xs:schema>