poc-reports/es_elt/xsd/auditData/rpe/PaymentResponse.xsd
2026-01-27 14:48:39 +01:00

281 lines
14 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (C) Revenue Collection Systems France S.A.S. - 2018-2025 ALL RIGHTS RESERVED
-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:head="http://www.thales.dc/Headers"
xmlns:clr="http://www.thales.dc/PaymentStatus"
xmlns:pay="http://www.thales.dc/CustomerPaymentType"
xmlns="http://www.thales.dc/PaymentResponse"
targetNamespace="http://www.thales.dc/PaymentResponse"
version="1.4.1">
<!-- Import of xsd file -->
<xs:import namespace="http://www.thales.dc/Headers" schemaLocation="../../common/Headers.xsd"/>
<xs:import namespace="http://www.thales.dc/PaymentStatus" schemaLocation="../../common/PaymentStatus.xsd"/>
<xs:import namespace="http://www.thales.dc/CustomerPaymentType" schemaLocation="../../common/CustomerPaymentType.xsd"/>
<!-- Annotate all modification of the xsd file according to version -->
<xs:annotation>
<xs:documentation>-----------------------------------------------------------------------------------------------------------------------
</xs:documentation>
</xs:annotation>
<xs:annotation>
<xs:documentation>Version List</xs:documentation>
</xs:annotation>
<xs:annotation>
<xs:documentation>-----------------------------------------------------------------------------------------------------------------------
</xs:documentation>
</xs:annotation>
<xs:annotation>
<xs:documentation>04/11/2021 - Version 1.0.0</xs:documentation>
<xs:documentation>
1st part: Add the AuditMessages, AuditMessage, Headers and Payload element for the XML validation
2nd part: Add version to xsd schema
</xs:documentation>
</xs:annotation>
<xs:annotation>
<xs:documentation>-----------------------------------------------------------------------------------------------------------------------
</xs:documentation>
</xs:annotation>
<xs:annotation>
<xs:documentation>02/08/2022 - Version 1.1.0</xs:documentation>
<xs:documentation>
Add field PaymentSchemeIdentification
</xs:documentation>
</xs:annotation>
<xs:annotation>
<xs:documentation>-----------------------------------------------------------------------------------------------------------------------
</xs:documentation>
</xs:annotation>
<xs:annotation>
<xs:documentation>23/03/2023 - Version 1.2.0</xs:documentation>
<xs:documentation>
Modify field type for ResponseCode
</xs:documentation>
</xs:annotation>
<xs:annotation>
<xs:documentation>-----------------------------------------------------------------------------------------------------------------------
</xs:documentation>
</xs:annotation>
<xs:annotation>
<xs:documentation>23/08/2023 - Version 1.3.0</xs:documentation>
<xs:documentation>
Add field SequenceNumber
</xs:documentation>
</xs:annotation>
<xs:annotation>
<xs:documentation>12/09/2023 - Version 1.4.0</xs:documentation>
<xs:documentation>
Add auto-renewed contract data fields (OrderNumber, ProductCode, StartValidityDate, EndValidityDate, ContractExpiryDate)
</xs:documentation>
</xs:annotation>
<xs:annotation>
<xs:documentation>21/06/2024 - Version 1.4.1</xs:documentation>
<xs:documentation>
add operation id to identify the agent who trigger the reset payment
</xs:documentation>
</xs:annotation>
<xs:annotation>
<xs:documentation>-----------------------------------------------------------------------------------------------------------------------
</xs:documentation>
</xs:annotation>
<!-- Description of the PaymentStatus structure -->
<xs:element name="AuditMessages" type="AuditMessagesType"/>
<xs:complexType name="AuditMessagesType">
<xs:sequence>
<!-- List of AuditMessage -->
<xs:element name="AuditMessage" type="AuditMessageType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<!-- version of AuditMessages structure -->
<xs:attribute name="PaymentResponseXsdVersion" type="xs:string" fixed="1.1"/>
</xs:complexType>
<!-- Description of the AuditMessage structure -->
<xs:complexType name="AuditMessageType">
<xs:sequence>
<!-- Headers structure -->
<xs:element name="Headers" type="head:HeadersType" minOccurs="0"/>
<!-- Payload is a PaymentResponseAuditExchange structure -->
<xs:element name="Payload" type="PaymentResponseAuditExchange"/>
</xs:sequence>
</xs:complexType>
<!-- Description of the PaymentResponseAuditExchange structure -->
<xs:complexType name="PaymentResponseAuditExchange">
<xs:annotation>
<xs:documentation>rpe_media_settlement_post: This audit will be produced after the reception of the response from one PaymentRequest</xs:documentation>
<xs:documentation>rpe_media_payment_response: This audit will be produced after the reception of the response from one PaymentRequest</xs:documentation>
</xs:annotation>
<xs:all>
<xs:element name="Amount" type="xs:decimal" minOccurs="0"/>
<xs:element name="CustomerId" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>The unique identifier of the related customer account (may be null)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="MediaSerialNumber" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>
In case of PaymentRequest linked to travel, there will always be the MediaSerialNumber of the corresponding card.
The MediaSerialNumber can be empty if the PaymentRequest is linked to autorenew/autoreload or online shopping with a payment means.
In this case, the paymentMeansId will be specified.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="CurrencyCode" type="xs:int" minOccurs="0">
<xs:annotation>
<xs:documentation>Currency code according to ISO 4217.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="RequestId" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>Identifier of the request.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="DetailResponseCode" type="xs:int" minOccurs="0">
<xs:annotation>
<xs:documentation>Carries the Acquirer Bank Response Code(s)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="AuthorizationToken" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>Bank authorization reference number that can be used to discuss directly with bank. It can be display in IFS MMI of
payment history.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="AuthorizationType" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>Type of action to be performed.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="CapturePossible" type="xs:boolean" minOccurs="0">
<xs:annotation>
<xs:documentation>Capture possible provided by the Payment Gateway to define if payment is first ride risk eligible.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="MediaType" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>Media type e.g. EMV</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="IfsId" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>Identifier of the connected IFS system. Shall come from the request.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="MediaId" type="xs:string" minOccurs="0"/>
<xs:element name="OperatorId" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>OperatorId to identify the agent who trigger the reset payment.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="OccurrenceDate" type="xs:dateTime" minOccurs="0"/>
<xs:element name="PaymentSchemeIdentification" type="xs:string" minOccurs="0"/>
<xs:element name="PaymentId" type="xs:string" minOccurs="0"/>
<xs:element name="PaymentMeansId" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>If a payment means was used for this settlement, the paymentMeansId related</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="WasUnrecoverable" type="xs:boolean" minOccurs="0">
<xs:annotation>
<xs:documentation>if a payment was unrecoverable then we approved a cit/tap payment request for this payment</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="PaymentMeansType" type="xs:string" minOccurs="0"/>
<xs:element name="PaymentStatus" type="clr:PaymentStatus">
<xs:annotation>
<xs:documentation>Overall status of the payment resource. If the payment was divided in two phases (authorization and settlement),
both status are also present
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="AuthorizationStatus" type="clr:PaymentStatus" minOccurs="0">
<xs:annotation>
<xs:documentation>If the corresponding payment request contained an authorization, here is the status of the authorization
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="SettlementStatus" type="clr:PaymentStatus" minOccurs="0">
<xs:annotation>
<xs:documentation>If the corresponding payment request contained a settlement, here is the status of the settlement</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="PaymentType" type="pay:CustomerPaymentType" minOccurs="0"/>
<xs:element name="ReconciliationId" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>Id produced by the Payment gateway adaptor in order to allow reconciliation in reporting</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ApprovalCode" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>Approval Code used for reconciliation</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="AuthorizationCode" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>Authorisation Code used for reconciliation and debt recovery</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="SequenceNumber" type="xs:int" minOccurs="0">
<xs:annotation>
<xs:documentation>Sequence number for each response for tracking and mapping purposes</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ResponseReason" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>Response Reason from Payment Gateway</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ResponseCode" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>Code explaining the response from the Payment domain.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="AutoRenewedContract" type="AutoRenewedContract" minOccurs="0">
<xs:annotation>
<xs:documentation>auto-renewed contract data</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="SkippedPayment" type="xs:boolean" minOccurs="0">
<xs:annotation>
<xs:documentation>True when a payment was received after .</xs:documentation>
</xs:annotation>
</xs:element>
</xs:all>
</xs:complexType>
<xs:complexType name="AutoRenewedContract">
<xs:all>
<xs:element name="OrderNumber" type="xs:string" >
<xs:annotation>
<xs:documentation>auto renewed contract order number.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ProductCode" type="xs:int" >
<xs:annotation>
<xs:documentation>auto renewed contract product code</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="StartValidityDate" type="xs:dateTime" minOccurs="0">
<xs:annotation>
<xs:documentation>start date of the renewed contract</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="EndValidityDate" type="xs:dateTime" minOccurs="0">
<xs:annotation>
<xs:documentation>end date of the renewed contract</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ContractExpiryDate" type="xs:dateTime" minOccurs="0">
<xs:annotation>
<xs:documentation>expiry date of the old contract</xs:documentation>
</xs:annotation>
</xs:element>
</xs:all>
</xs:complexType>
</xs:schema>