<?xml version="1.0" encoding="utf-8"?>
<!-- eCentric Switch Payment Gateway API Version 1.1.3 -->
<definitions  name="EcentricSwitchPaymentGateway"
              targetNamespace="http://www.ecentricswitch.co.za/paymentgateway/v1"
              xmlns="http://schemas.xmlsoap.org/wsdl/"
              xmlns:tns="http://www.ecentricswitch.co.za/paymentgateway/v1"
              xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"
              xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
	<types>
		<schema xmlns="http://www.w3.org/2001/XMLSchema"
				attributeFormDefault="qualified"
				elementFormDefault="qualified"
				targetNamespace="http://www.ecentricswitch.co.za/paymentgateway/v1">
			<!-- Simple Types -->
			<simpleType name="char">
				<restriction base="int" />
			</simpleType>
			<simpleType name="guid">
				<annotation>
					<documentation xml:lang="en">
						The representation of a GUID, generally the id of an element.
					</documentation>
				</annotation>
				<restriction base="string">
					<pattern value="\{[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}\}"/>
				</restriction>
			</simpleType>
			<simpleType name="BankCardType">
				<annotation>
					<documentation>The bank card types.</documentation>
				</annotation>
				<restriction base="string">
					<enumeration value="Credit">
						<annotation>
							<documentation>Credit card</documentation>
						</annotation>
					</enumeration>
					<enumeration value="Debit">
						<annotation>
							<documentation>Debit card</documentation>
						</annotation>
					</enumeration>
				</restriction>
			</simpleType>
			<simpleType name="BankAccountType">
				<annotation>
					<documentation>The bank account type.</documentation>
				</annotation>
				<restriction base="string">
					<enumeration value="Credit">
						<annotation>
							<documentation>A credit card.</documentation>
						</annotation>
					</enumeration>
					<enumeration value="Debit">
						<annotation>
							<documentation>A debit (cheque or savings) card.</documentation>
						</annotation>
					</enumeration>
				</restriction>
			</simpleType>
			<simpleType name="PaymentServiceType">
				<annotation>
					<documentation>The supported payment services.</documentation>
				</annotation>
				<restriction base="string">
					<enumeration value="CardNotPresent">
						<annotation>
							<documentation>A real-time card not present transaction.</documentation>
						</annotation>
					</enumeration>
					<enumeration value="CardNotPresentRecurring">
						<annotation>
							<documentation>A real-time card not present transaction.</documentation>
						</annotation>
					</enumeration>
					<enumeration value="CardNotPresentMoto">
						<annotation>
							<documentation>A mail order / telephone order transaction.</documentation>
						</annotation>
					</enumeration>
					<enumeration value="CardNotPresentMotoRecurring">
						<annotation>
							<documentation>A recurring mail order / telephone order transaction.</documentation>
						</annotation>
					</enumeration>
					<enumeration value="CardNotPresentBatch">
						<annotation>
							<documentation>A batch card not present transaction.</documentation>
						</annotation>
					</enumeration>
					<enumeration value="PayD">
						<annotation>
							<documentation>A payD mobile payment transaction.</documentation>
						</annotation>
					</enumeration>
					<enumeration value="MasterPass">
						<annotation>
							<documentation>A MasterPass payment transaction.</documentation>
						</annotation>
					</enumeration>
					<enumeration value="WiCode">
						<annotation>
							<documentation>A WiCode payment transaction.</documentation>
						</annotation>
					</enumeration>
					<enumeration value="Sid">
						<annotation>
							<documentation>A Sid payment transaction.</documentation>
						</annotation>
					</enumeration>
					<enumeration value="SnapScan">
						<annotation>
							<documentation>A SnapScan payment transaction.</documentation>
						</annotation>
					</enumeration>
					<enumeration value="EftSecure">
						<annotation>
							<documentation>A EftSecure payment transaction.</documentation>
						</annotation>
					</enumeration>
					<enumeration value="Zapper">
						<annotation>
							<documentation>A Zapper payment transaction.</documentation>
						</annotation>
					</enumeration>
					<enumeration value="MPGS">
						<annotation>
							<documentation>An MPGS real time payment transaction.</documentation>
						</annotation>
					</enumeration>
					<enumeration value="MPGSRecurring">
						<annotation>
							<documentation>An MPGS payment transaction.</documentation>
						</annotation>
					</enumeration>
					<enumeration value="MPGSMoto">
						<annotation>
							<documentation>An MPGS payment transaction with no 3DS.</documentation>
						</annotation>
					</enumeration>
					<enumeration value="MPGSMotoRecurring">
						<annotation>
							<documentation>An recurring MPGS payment transaction with no 3DS.</documentation>
						</annotation>
					</enumeration>
					<enumeration value="MPRAPI">
						<annotation>
							<documentation>A Masterpass Remote API transaction.</documentation>
						</annotation>
					</enumeration>
					<enumeration value="Electrum">
						<annotation>
							<documentation>An Electrum Remote API transaction.</documentation>
						</annotation>
					</enumeration>
					<enumeration value="CardVerification">
						<annotation>
							<documentation>A card verification transaction.</documentation>
						</annotation>
					</enumeration>
					<enumeration value="eBucks">
						<annotation>
							<documentation>An eBucks payment transaction.</documentation>
						</annotation>
					</enumeration>
					<enumeration value="GooglePay">
						<annotation>
							<documentation>A digital wallet Google Pay transaction.</documentation>
						</annotation>
					</enumeration>
					<enumeration value="GooglePayRecurring">
						<annotation>
							<documentation>A digital wallet Google Pay recurring transaction.</documentation>
						</annotation>
					</enumeration>
					<enumeration value="ApplePay">
						<annotation>
							<documentation>A digital wallet Apple Pay transaction.</documentation>
						</annotation>
					</enumeration>
					<enumeration value="ApplePayRecurring">
						<annotation>
							<documentation>A digital wallet Apple Pay recurring transaction.</documentation>
						</annotation>
					</enumeration>
					<enumeration value="SamsungPay">
						<annotation>
							<documentation>A digital wallet Samnsung Pay transaction.</documentation>
						</annotation>
					</enumeration>
					<enumeration value="SamsungPayRecurring">
						<annotation>
							<documentation>A digital wallet Samsung Pay recurring transaction.</documentation>
						</annotation>
					</enumeration>
				</restriction>
			</simpleType>
			<simpleType name="TransactionStatusType">
				<annotation>
					<documentation>The transaction status types.</documentation>
				</annotation>
				<restriction base="string">
					<enumeration value="Success">
						<annotation>
							<documentation>The transaction was success.</documentation>
						</annotation>
					</enumeration>
					<enumeration value="Failure">
						<annotation>
							<documentation>The transaction failed. Please see the ResponseDetail element for more detail.</documentation>
						</annotation>
					</enumeration>

				</restriction>
			</simpleType>
			<simpleType name="VerificationActionType">
				<annotation>
					<documentation>The merchant verification action.</documentation>
				</annotation>
				<restriction base="string">
					<enumeration value="PaymentAuthentication">
						<annotation>
							<documentation>A Full Authentication processes both 3D request to Bankserv and the authorize request to the acquirer</documentation>
						</annotation>
					</enumeration>
					<enumeration value="NonPaymentAuthentication">
						<annotation>
							<documentation>A Non-Payment Authentication does not process the authorize request to the acquirer,it turns it around within the gateway and returns result to merchant.</documentation>
						</annotation>
					</enumeration>
					<enumeration value="Payment">
						<annotation>
							<documentation>A Payment Authentication only processes an authorization to the acquirer</documentation>
						</annotation>
					</enumeration>
				</restriction>
			</simpleType>
			<simpleType name="NetworkTokenStateType">
				<annotation>
					<documentation>The network token status.</documentation>
				</annotation>
				<restriction base="string">
					<enumeration value="NotApplicable">
						<annotation>
							<documentation>The network token status is not applicable i.e this token does not have a status</documentation>
						</annotation>
					</enumeration>
					<enumeration value="Tokenized">
						<annotation>
							<documentation>The PAN was successfully tokenized</documentation>
						</annotation>
					</enumeration>
					<enumeration value="FailedTokenization">
						<annotation>
							<documentation>The PAN failed tokenization</documentation>
						</annotation>
					</enumeration>
				</restriction>
			</simpleType>

			<!-- Complex Types -->
			<complexType name="AccountDetail">
				<annotation>
					<documentation>A bank account definition.</documentation>
				</annotation>
				<sequence>
					<element minOccurs="0" name="Bank" nillable="true" >
						<annotation>
							<documentation>The acquiring bank.</documentation>
						</annotation>
						<simpleType>
							<restriction base="string">
								<minLength value="0" />
								<maxLength value="50" />
							</restriction>
						</simpleType>
					</element>
					<element minOccurs="0" name="AccountholderName" nillable="true">
						<annotation>
							<documentation>The accountholder name.</documentation>
						</annotation>
						<simpleType>
							<restriction base="string">
								<minLength value="0" />
								<maxLength value="50" />
							</restriction>
						</simpleType>
					</element>
					<element minOccurs="0" name="BranchCode" nillable="true">
						<annotation>
							<documentation>The Branch Code.</documentation>
						</annotation>
						<simpleType>
							<restriction base="string">
								<minLength value="0" />
								<maxLength value="50" />
							</restriction>
						</simpleType>
					</element>
					<element minOccurs="0" name="AccountNumber" nillable="true">
						<annotation>
							<documentation>The Account Number.</documentation>
						</annotation>
						<simpleType>
							<restriction base="string">
								<minLength value="0" />
								<maxLength value="50" />
							</restriction>
						</simpleType>
					</element>
					<element minOccurs="0" name="AccountType" nillable="true">
						<annotation>
							<documentation>The Account Type.</documentation>
						</annotation>
						<simpleType>
							<restriction base="string">
								<minLength value="0" />
								<maxLength value="50" />
							</restriction>
						</simpleType>
					</element>
				</sequence>
			</complexType>
			<complexType name="Address">
				<annotation>
					<documentation>An address definition.</documentation>
				</annotation>
				<sequence>
					<element minOccurs="0" name="AddressLine1" nillable="true">
						<annotation>
							<documentation>The first address line. Typically a business or apartment complex name.</documentation>
						</annotation>
						<simpleType>
							<restriction base="string">
								<minLength value="0" />
								<maxLength value="50" />
							</restriction>
						</simpleType>
					</element>
					<element minOccurs="0" name="AddressLine2" nillable="true">
						<annotation>
							<documentation>The second address line. Typically a street name and number.</documentation>
						</annotation>
						<simpleType>
							<restriction base="string">
								<minLength value="0" />
								<maxLength value="50" />
							</restriction>
						</simpleType>
					</element>
					<element minOccurs="0" name="City" nillable="true">
						<annotation>
							<documentation>The city name.</documentation>
						</annotation>
						<simpleType>
							<restriction base="string">
								<minLength value="0" />
								<maxLength value="50" />
							</restriction>
						</simpleType>
					</element>
					<element minOccurs="0" name="Neighbourhood" nillable="true">
						<annotation>
							<documentation>The address neighbourhood.</documentation>
						</annotation>
						<simpleType>
							<restriction base="string">
								<minLength value="0" />
								<maxLength value="50" />
							</restriction>
						</simpleType>
					</element>
					<element minOccurs="0" name="PostCode" nillable="true">
						<annotation>
							<documentation>The post or zip code.</documentation>
						</annotation>
						<simpleType>
							<restriction base="string">
								<minLength value="0" />
								<maxLength value="10" />
							</restriction>
						</simpleType>
					</element>
					<element minOccurs="0" name="Region" nillable="true">
						<annotation>
							<documentation>The province or state.</documentation>
						</annotation>
						<simpleType>
							<restriction base="string">
								<minLength value="0" />
								<maxLength value="50" />
							</restriction>
						</simpleType>
					</element>
					<element minOccurs="0" name="CountryCode" nillable="true">
						<annotation>
							<documentation>The country numeric code according to the ISO 3166-1 standard.</documentation>
						</annotation>
						<simpleType>
							<restriction base="string">
								<minLength value="0" />
								<maxLength value="3" />
							</restriction>
						</simpleType>
					</element>
				</sequence>
			</complexType>
			<complexType name="BankCard">
				<annotation>
					<documentation>A bank card definition.</documentation>
				</annotation>
				<sequence>
					<element minOccurs="0" name="Token" nillable="true">
						<annotation>
							<documentation>A token that can be used to identify the captured card in subsequent transactions.</documentation>
						</annotation>
						<simpleType>
							<restriction base="string">
								<minLength value="10" />
								<maxLength value="50" />
							</restriction>
						</simpleType>
					</element>
					<element minOccurs="0" name="CardAssociation" nillable="true">
						<annotation>
							<documentation>The card association.</documentation>
						</annotation>
						<simpleType>
							<restriction base="string">
								<minLength value="0" />
								<maxLength value="50" />
							</restriction>
						</simpleType>
					</element>
					<element minOccurs="0" name="CardType" nillable="true" type="tns:BankCardType">
						<annotation>
							<documentation>The type of bank card (debit or credit).</documentation>
						</annotation>
					</element>
					<element minOccurs="0" name="CardholderName" nillable="true">
						<annotation>
							<documentation>The cardholder name printed on the card.</documentation>
						</annotation>
						<simpleType>
							<restriction base="string">
								<minLength value="0" />
								<maxLength value="50" />
							</restriction>
						</simpleType>
					</element>
					<element minOccurs="0" name="CardNumber" nillable="true">
						<annotation>
							<documentation>The bank card number.</documentation>
						</annotation>
						<simpleType>
							<restriction base="string">
								<minLength value="10" />
								<maxLength value="19" />
							</restriction>
						</simpleType>
					</element>
					<element minOccurs="0" name="ExpiryMonth" nillable="true">
						<annotation>
							<documentation>The card expiry month.</documentation>
						</annotation>
						<simpleType>
							<restriction base="int">
								<minInclusive value="0" />
								<maxInclusive value="12" />
							</restriction>
						</simpleType>
					</element>
					<element minOccurs="0" name="ExpiryYear" nillable="true">
						<annotation>
							<documentation>The card expiry year.</documentation>
						</annotation>
						<simpleType>
							<restriction base="int">
								<minInclusive value="0" />
								<maxInclusive value="99" />
							</restriction>
						</simpleType>
					</element>
					<element minOccurs="0" name="SecurityCode" nillable="true">
						<annotation>
							<documentation>The card security code (CSC / CVV / CVD).</documentation>
						</annotation>
						<simpleType>
							<restriction base="string">
								<minLength value="3" />
								<maxLength value="4" />
							</restriction>
						</simpleType>
					</element>
					<element minOccurs="0" name="TokenCryptogram" nillable="true">
						<annotation>
							<documentation>Field for token Cryptogram.</documentation>
						</annotation>
						<simpleType>
							<restriction base="string">
								<minLength value="0" />
								<maxLength value="32" />
							</restriction>
						</simpleType>
					</element>
				</sequence>
			</complexType>
			<complexType name="ResponseDetail">
				<annotation>
					<documentation>A collection of additional information regarding the method response.</documentation>
				</annotation>
				<sequence>
					<element minOccurs="1" name="Source">
						<annotation>
							<documentation>The service that generated the transact result code.</documentation>
						</annotation>
						<simpleType>
							<restriction base="string">
								<minLength value="1" />
								<maxLength value="50" />
							</restriction>
						</simpleType>
					</element>
					<element minOccurs="1" name="Code">
						<annotation>
							<documentation>The transaction result code.</documentation>
						</annotation>
						<simpleType>
							<restriction base="string">
								<minLength value="1" />
								<maxLength value="100" />
							</restriction>
						</simpleType>
					</element>
					<element minOccurs="1" name="Description">
						<annotation>
							<documentation>The transaction result description.</documentation>
						</annotation>
						<simpleType>
							<restriction base="string">
								<minLength value="0" />
								<maxLength value="500" />
							</restriction>
						</simpleType>
					</element>
					<element minOccurs="1" name="ClientMessage">
						<annotation>
							<documentation>A user-friendly message that can be relayed to the end-user.</documentation>
						</annotation>
						<simpleType>
							<restriction base="string">
								<minLength value="0" />
								<maxLength value="200" />
							</restriction>
						</simpleType>
					</element>
				</sequence>
			</complexType>
			<complexType name="UserCard">
				<sequence minOccurs="0">
					<element minOccurs="1" name="Token" type="tns:guid">
						<annotation>
							<documentation>A unique identifier to identify the stored card details</documentation>
						</annotation>
					</element>
					<element minOccurs="1" name="CardholderName" nillable="false">
						<annotation>
							<documentation>The cardholder name printed on the card.</documentation>
						</annotation>
						<simpleType>
							<restriction base="string">
								<minLength value="0" />
								<maxLength value="50" />
							</restriction>
						</simpleType>
					</element>
					<element minOccurs="1" name="MaskedCardNumber" nillable="true">
						<annotation>
							<documentation>The masked bank card number.</documentation>
						</annotation>
						<simpleType>
							<restriction base="string">
								<minLength value="10" />
								<maxLength value="19" />
							</restriction>
						</simpleType>
					</element>
					<element minOccurs="1" name="ExpiryMonth" nillable="false">
						<annotation>
							<documentation>The card expiry month.</documentation>
						</annotation>
						<simpleType>
							<restriction base="int">
								<minInclusive value="0" />
								<maxInclusive value="12" />
							</restriction>
						</simpleType>
					</element>
					<element minOccurs="1" name="ExpiryYear" nillable="false">
						<annotation>
							<documentation>The card expiry year.</documentation>
						</annotation>
						<simpleType>
							<restriction base="int">
								<minInclusive value="0" />
								<maxInclusive value="99" />
							</restriction>
						</simpleType>
					</element>
					<element minOccurs="1" name="CardVerification" nillable="false">
						<annotation>
							<documentation>An identifier for whether the token has been verified previously.</documentation>
						</annotation>
						<simpleType>
							<restriction base="string">
								<minLength value="0" />
								<maxLength value="40" />
							</restriction>
						</simpleType>
					</element>
					<element minOccurs="0" name="NetworkTokenStatus" nillable="true" type="tns:NetworkTokenStateType">
						<annotation>
							<documentation>This field indicates the Visa tokenization status of a card. e.g. If a card has been successfully tokenized by Visa, if the tokenization failed or if the tokenization is not applicable.</documentation>
						</annotation>
					</element>
					<element minOccurs="0" name="NetworkTokenizationFailureReason" nillable="true">
						<annotation>
							<documentation>The network token failure reason.</documentation>
						</annotation>
						<simpleType>
							<restriction base="string">
								<minLength value="0" />
								<maxLength value="100" />
							</restriction>
						</simpleType>
					</element>
					<element minOccurs="0" name="NetworkTokenizationFailureMessage" nillable="true">
						<annotation>
							<documentation>The network token failure Message.</documentation>
						</annotation>
						<simpleType>
							<restriction base="string">
								<minLength value="0" />
								<maxLength value="200" />
							</restriction>
						</simpleType>
					</element>
				</sequence>
			</complexType>
			<complexType name="MerchantUserCard">
				<sequence minOccurs="0">
					<element minOccurs="1" name="MerchantUserID">
						<annotation>
							<documentation>The merchant's identifier for the user</documentation>
						</annotation>
						<simpleType>
							<restriction base="string">
								<maxLength value="50"/>
							</restriction>
						</simpleType>
					</element>
					<element minOccurs="1" name="CardholderName" nillable="false">
						<annotation>
							<documentation>The cardholder name printed on the card.</documentation>
						</annotation>
						<simpleType>
							<restriction base="string">
								<minLength value="0" />
								<maxLength value="50" />
							</restriction>
						</simpleType>
					</element>
					<element minOccurs="1" name="MaskedCardNumber" nillable="false">
						<annotation>
							<documentation>The masked bank card number.</documentation>
						</annotation>
						<simpleType>
							<restriction base="string">
								<minLength value="10" />
								<maxLength value="19" />
							</restriction>
						</simpleType>
					</element>
					<element minOccurs="1" name="ExpiryMonth" nillable="false">
						<annotation>
							<documentation>The card expiry month.</documentation>
						</annotation>
						<simpleType>
							<restriction base="int">
								<minInclusive value="0" />
								<maxInclusive value="12" />
							</restriction>
						</simpleType>
					</element>
					<element minOccurs="1" name="ExpiryYear" nillable="false">
						<annotation>
							<documentation>The card expiry year.</documentation>
						</annotation>
						<simpleType>
							<restriction base="int">
								<minInclusive value="0" />
								<maxInclusive value="99" />
							</restriction>
						</simpleType>
					</element>
					<element minOccurs="1" name="CardVerification" nillable="false">
						<annotation>
							<documentation>An identifier for whether the token has been verified previously.</documentation>
						</annotation>
						<simpleType>
							<restriction base="string">
								<minLength value="0" />
								<maxLength value="40" />
							</restriction>
						</simpleType>
					</element>
				</sequence>
			</complexType>
			<complexType name="Secure3DData">
				<annotation>
					<documentation>Secure 3D Data definition.</documentation>
				</annotation>
				<sequence>
					<element minOccurs="0" name="Cavv" nillable="true">
						<annotation>
							<documentation>The Cardholder Authentication Verification Value. It is a Visa Secure-specific cryptographic value that is created by an Issuer ACS during Visa Secure authentication.</documentation>
						</annotation>
						<simpleType>
							<restriction base="string">
								<minLength value="0" />
								<maxLength value="50" />
							</restriction>
						</simpleType>
					</element>
					<element minOccurs="0" name="Eci" nillable="true">
						<annotation>
							<documentation>Electronic Commerce Indicator is a value returned by Directory Servers (namely Visa, MasterCard, JCB, and American Express) indicating the outcome of authentication attempted on transactions enforced by 3DS.</documentation>
						</annotation>
						<simpleType>
							<restriction base="string">
								<minLength value="0" />
								<maxLength value="50" />
							</restriction>
						</simpleType>
					</element>
					<element minOccurs="0" name="MdStatus" nillable="true">
						<annotation>
							<documentation>Indicates the 3D Secure authentication result for the transaction. MdStatus tells whether the cardholder was successfully authenticated, an authentication attempt was made, or authentication failed/was not completed</documentation>
						</annotation>
						<simpleType>
							<restriction base="string">
								<minLength value="0" />
								<maxLength value="10" />
							</restriction>
						</simpleType>
					</element>
					<element minOccurs="0" name="Enrolled" nillable="true">
						<annotation>
							<documentation>The flag to indicate the transaction enrolment status.</documentation>
						</annotation>
						<simpleType>
							<restriction base="string">
								<minLength value="0" />
								<maxLength value="1" />
							</restriction>
						</simpleType>
					</element>
					<element minOccurs="0" name="ParesStatus" nillable="true">
						<annotation>
							<documentation>The flag to indicate Payer Authentication Response.</documentation>
						</annotation>
						<simpleType>
							<restriction base="string">
								<minLength value="0" />
								<maxLength value="1" />
							</restriction>
						</simpleType>
					</element>
					<element minOccurs="0" name="Xid" nillable="true">
						<annotation>
							<documentation>The transaction ID from the 3D Secure provider.</documentation>
						</annotation>
						<simpleType>
							<restriction base="string">
								<minLength value="0" />
								<maxLength value="50" />
							</restriction>
						</simpleType>
					</element>
					<element minOccurs="0" name="Secure3DVersion" nillable="true">
						<annotation>
							<documentation>The value to determine the 3D secure version to used or to be used for Authentication.</documentation>
						</annotation>
						<simpleType>
							<restriction base="string">
								<minLength value="0" />
								<maxLength value="9" />
							</restriction>
						</simpleType>
					</element>
					<element minOccurs="0" name="Secure3DDirectoryServerTransId" nillable="true">
						<annotation>
							<documentation>The Directory Server Transaction ID from the 3D Secure provider. This is commonly a string in UUID format.</documentation>
						</annotation>
						<simpleType>
							<restriction base="string">
								<minLength value="0" />
								<maxLength value="50" />
							</restriction>
						</simpleType>
					</element>
					<element minOccurs="0" name="Secure3DAuthenticationType" nillable="true">
						<annotation>
							<documentation>The value determining the Authntication type of the transaction.</documentation>
						</annotation>
						<simpleType>
							<restriction base="string">
								<minLength value="0" />
								<maxLength value="2" />
							</restriction>
						</simpleType>
					</element>
				</sequence>
			</complexType>

			<!-- Elements: Generic -->
			<element name="Account" nillable="true" type="tns:AccountDetail" />
			<element name="Address" nillable="true" type="tns:Address" />
			<element name="BankAccountType" nillable="true" type="tns:BankAccountType" />
			<element name="BankCard" nillable="true" type="tns:BankCard" />
			<element name="BankCardType" nillable="true" type="tns:BankCardType" />
			<element name="MessageDateTime" type="dateTime" nillable="true" />
			<element name="MessageID" type="string" />
			<element name="PaymentServiceType" nillable="true" type="tns:PaymentServiceType" />
			<element name="TransactionStatusType" nillable="true" type="tns:TransactionStatusType" />
			<element name="ResponseDetail" type="tns:ResponseDetail" />
			<element name="VerificationActionType" type="tns:VerificationActionType" />
			<element name="Secure3DData" type="tns:Secure3DData" />
			<element name="NetworkTokenStateType" nillable="true" type="tns:NetworkTokenStateType" />

			<!-- Elements: Messages -->
			<element name="CreateMasterPassTransactionRequest">
				<complexType>
					<sequence>
						<element minOccurs="1" name="MerchantID">
							<annotation>
								<documentation>A unique identifier to identify the merchant's payment profile.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="TransactionID" nillable="false">
							<annotation>
								<documentation>A unique identifier to identify the transaction.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="TransactionDateTime" nillable="true" type="dateTime">
							<annotation>
								<documentation>The transaction timestamp.</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="SaleReconID" nillable="false">
							<annotation>
								<documentation>A unique sale identifier for reconciliation purposes.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="100" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="ReconID" nillable="false">
							<annotation>
								<documentation>A unique identifier for reconciliation purposes.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="Amount" nillable="true">
							<annotation>
								<documentation>The authorization amount in the lowest monetary unit.</documentation>
							</annotation>
							<simpleType>
								<restriction base="long">
									<minInclusive value="0" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="CurrencyCode" nillable="true">
							<annotation>
								<documentation>The currency code according to the ISO 4217 standard.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<minLength value="1" />
									<maxLength value="3" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="OrderNumber" nillable="true">
							<annotation>
								<documentation>The transaction order or reference number.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<minLength value="1" />
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="CallbackUrl" nillable="true">
							<annotation>
								<documentation>The URL that the consumer will be redirected to once the transaction is complete.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="150" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="Description" nillable="true">
							<annotation>
								<documentation>A description of the transaction being performed or goods being purchased.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="45" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="CartItems" nillable="true">
							<annotation>
								<documentation>The cart items being purchased.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="1000" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="Origination" nillable="true">
							<annotation>
								<documentation>The channel via which the purchase is being performed. Accepts values of app, web or mobi.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="4" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="RequestShipping" nillable="true" type="boolean">
							<annotation>
								<documentation>Whether shipping is requested or not.</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="Network" nillable="true">
							<annotation>
								<documentation>The mobile network of the customer performing the Network purchase.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="20" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="MobilePhone" nillable="true">
							<annotation>
								<documentation>The mobile phone number of the customer performing the Network purchase.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="18" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="QRCode" nillable="true">
							<annotation>
								<documentation>The QR Code being used for the Network Code purchase.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
					</sequence>
				</complexType>
			</element>
			<element name="CreateMasterPassTransactionResponse">
				<complexType>
					<sequence>
						<element minOccurs="1" name="TransactionID" nillable="false">
							<annotation>
								<documentation>A unique identifier to identify the transaction.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="TransactionDateTime" nillable="true" type="dateTime">
							<annotation>
								<documentation>The transaction timestamp.</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="SaleReconID" nillable="true">
							<annotation>
								<documentation>A unique sale identifier for reconciliation purposes.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="100" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="ReconID" nillable="true">
							<annotation>
								<documentation>A unique identifier for reconciliation purposes.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="RedirectUrl" nillable="true">
							<annotation>
								<documentation>The MasterPass redirect URL</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="255" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="TransactionStatus" type="tns:TransactionStatusType">
							<annotation>
								<documentation>The transaction status (Success or Fail)</documentation>
							</annotation>
						</element>
						<element minOccurs="1" name="ResponseDetail" type="tns:ResponseDetail">
							<annotation>
								<documentation>The transaction result code.</documentation>
							</annotation>
						</element>
					</sequence>
				</complexType>
			</element>
			<element name="AddCardRequest">
				<complexType>
					<sequence>
						<element minOccurs="1" name="MerchantID">
							<annotation>
								<documentation>A unique identifier to identify the merchant's payment profile.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="MerchantUserID">
							<annotation>
								<documentation>The merchant's identifier for the user</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50"/>
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="Card" nillable="false" type="tns:BankCard">
							<annotation>
								<documentation>The card details.</documentation>
							</annotation>
						</element>
					</sequence>
				</complexType>
			</element>
			<element name="AddCardResponse">
				<complexType>
					<sequence>
						<element minOccurs="1" name="Token" nillable="false" type="tns:guid">
							<annotation>
								<documentation>A unique identifier to identify the stored card details</documentation>
							</annotation>
						</element>
						<element minOccurs="1" name="TransactionStatus" type="tns:TransactionStatusType">
							<annotation>
								<documentation>The transaction status (Success or Fail)</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="NetworkTokenStatus" nillable="true"  type="tns:NetworkTokenStateType">
							<annotation>
								<documentation>This field indicates the Visa tokenization status of a card. e.g. If a card has been successfully tokenized by Visa, if the tokenization failed or if the tokenization is not applicable.</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="NetworkTokenizationFailureReason" nillable="true">
							<annotation>
								<documentation>The network token failure reason.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="NetworkTokenizationFailureMessage" nillable="true">
							<annotation>
								<documentation>The network token failure Message.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="100" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="ResponseDetail" type="tns:ResponseDetail">
							<annotation>
								<documentation>The transaction result code.</documentation>
							</annotation>
						</element>
					</sequence>
				</complexType>
			</element>
			<element name="ListUserCardsRequest">
				<complexType>
					<sequence>
						<element minOccurs="1" name="MerchantID">
							<annotation>
								<documentation>A unique identifier to identify the merchant's payment profile.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="MerchantUserID">
							<annotation>
								<documentation>The merchant's identifier for the user</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50"/>
								</restriction>
							</simpleType>
						</element>
					</sequence>
				</complexType>
			</element>
			<element name="ListUserCardsResponse">
				<complexType>
					<sequence>
						<element name="UserCard" type="tns:UserCard" minOccurs="0" maxOccurs="unbounded" />
					</sequence>
				</complexType>
			</element>
			<element name="ListMerchantCardsRequest">
				<complexType>
					<sequence>
						<element minOccurs="1" name="MerchantID">
							<annotation>
								<documentation>A unique identifier to identify the merchant's payment profile.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
					</sequence>
				</complexType>
			</element>
			<element name="ListMerchantCardsResponse">
				<complexType>
					<sequence>
						<element name="MerchantUserCard" type="tns:MerchantUserCard" minOccurs="0" maxOccurs="unbounded" />
					</sequence>
				</complexType>
			</element>
			<element name="DeleteCardRequest">
				<complexType>
					<sequence>
						<element minOccurs="1" name="MerchantID">
							<annotation>
								<documentation>A unique identifier to identify the merchant's payment profile.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="MerchantUserID">
							<annotation>
								<documentation>The merchant's identifier for the user</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50"/>
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="Card" nillable="false" type="tns:BankCard">
							<annotation>
								<documentation>The card details.</documentation>
							</annotation>
						</element>
					</sequence>
				</complexType>
			</element>
			<element name="DeleteCardResponse">
				<complexType>
					<sequence>
						<element minOccurs="1" name="TransactionStatus" type="tns:TransactionStatusType">
							<annotation>
								<documentation>The transaction status (Success or Fail)</documentation>
							</annotation>
						</element>
						<element minOccurs="1" name="ResponseDetail" type="tns:ResponseDetail">
							<annotation>
								<documentation>The transaction result code.</documentation>
							</annotation>
						</element>
					</sequence>
				</complexType>
			</element>
			<element name="AuthorizeRequest">
				<complexType>
					<sequence>
						<element minOccurs="1" name="MerchantID">
							<annotation>
								<documentation>A unique identifier to identify the merchant's payment profile.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="TransactionID" nillable="false">
							<annotation>
								<documentation>A unique identifier to identify the transaction.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="PaymentTransactionID" nillable="true">
							<annotation>
								<documentation>A unique identifier to link split payments</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="PreviousTransactionID" nillable="false">
							<annotation>
								<documentation>A unique identifier to identify a preceding transaction.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="TransactionDateTime" nillable="true" type="dateTime">
							<annotation>
								<documentation>The transaction timestamp.</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="SaleReconID" nillable="true">
							<annotation>
								<documentation>A unique sale identifier for reconciliation purposes.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="100" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="ReconID" nillable="true">
							<annotation>
								<documentation>A unique identifier for reconciliation purposes.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="Amount">
							<annotation>
								<documentation>The authorization amount in the lowest monetary unit.</documentation>
							</annotation>
							<simpleType>
								<restriction base="long">
									<minInclusive value="0" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="CurrencyCode" nillable="true">
							<annotation>
								<documentation>The currency code according to the ISO 4217 standard.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<minLength value="1" />
									<maxLength value="3" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="BudgetPeriod" nillable="true">
							<annotation>
								<documentation>The payment payback period. Available for bank cards with a budget facility.</documentation>
							</annotation>
							<simpleType>
								<restriction base="int">
									<minInclusive value="0" />
									<maxInclusive value="99" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="OrderNumber" nillable="true">
							<annotation>
								<documentation>The transaction order or reference number.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<minLength value="1" />
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="AuthCode" nillable="true">
							<annotation>
								<documentation>The authorization code received from the payment service.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="PaymentService" type="tns:PaymentServiceType">
							<annotation>
								<documentation>The target payment service.</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="Card" nillable="true" type="tns:BankCard">
							<annotation>
								<documentation>The card details.</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="BankAccount" nillable="true" type="tns:BankAccountType">
							<annotation>
								<documentation>The card bank account type.</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="FirstName" nillable="true">
							<annotation>
								<documentation>The customer first name.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="LastName" nillable="true">
							<annotation>
								<documentation>The customer last name.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="BillingAddress" nillable="true" type="tns:Address">
							<annotation>
								<documentation>The billing address.</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="ShippingAddress" nillable="true" type="tns:Address">
							<annotation>
								<documentation>The shipping address.</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="MerchantAddress" nillable="true" type="tns:Address">
							<annotation>
								<documentation>The merchant address.</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="Email" nillable="true">
							<annotation>
								<documentation>The customer email.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="254" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="MobilePhone" nillable="true">
							<annotation>
								<documentation>The customer mobile phone number.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="20" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="HomePhone" nillable="true">
							<annotation>
								<documentation>The customer home phone number.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="20" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="WorkPhone" nillable="true">
							<annotation>
								<documentation>The customer work phone number.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="20" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="PAResPayload" nillable="true" type="string">
							<annotation>
								<documentation>The PARes Payload obtained through the 3D Secure authentication process.</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="Cres" nillable="true" type="string">
							<annotation>
								<documentation>The ACS response to the CReq message. It can indicate the result of the Cardholder authentication or, in case of an App-based model, also signal that further Cardholder interaction is required to complete the authentication</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="TerminalID" nillable="true">
							<annotation>
								<documentation>The TerminalID to be passed in Postilion field 41 for Card transactions. If left blank, the configured value will be used.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="8" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="CardAcceptorName" nillable="true">
							<annotation>
								<documentation>The CardAcceptorName to be passed in Postilion field 43 for Card transactions. If left blank, the configured value will be used.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="40" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="SaveToWallet" nillable="true" type="boolean">
							<annotation>
								<documentation>Flag to indicate that the card is going to be tokenized, used to indicate a initial recurring payment</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="TrialSubscription" nillable="true" type="boolean">
							<annotation>
								<documentation>Flag to indicate that the transaction is as part of a trial subscription</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="MerchantCategoryCode" nillable="true">
							<annotation>
								<documentation>The MerchantCategoryCode to be passed in Postilion field 18 for Card transactions. If left blank, the configured value will be used.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="4" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="CardOnFileScenario" nillable="true">
							<annotation>
								<documentation>An identifier allowing a merchant to indicate which specific CIT i.e. customer initiated or MIT i.e. merchant initiated transaction is being performed</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="10" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="VerificationAction" nillable="true" type="tns:VerificationActionType">
							<annotation>
								<documentation>The merchant verification action.</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="MerchantPhone" nillable="true">
							<annotation>
								<documentation>The merchant phone number. If left blank, the configured merchant phone number value will be used.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="16" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="MerchantURL" nillable="true">
							<annotation>
								<documentation>The merchant website URL. If left blank, the configured merchant website URL value will be used.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="255" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="SubMerchantID" nillable="true">
							<annotation>
								<documentation>The Submerchant ID uique to provide for merchant aggregation.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="15" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="Secure3DData" nillable="true" type="tns:Secure3DData">
							<annotation>
								<documentation>The Secure 3D Data for merchant transaction.</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="DigitalWalletMerchantID" nillable="true">
							<annotation>
								<documentation>A unique identifier to identify the merchant digital wallet payment profile.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="DigitalWalletPayload" nillable="true">
							<annotation>
								<documentation>Base64-encoded digital wallet payload (decoded bytes limited to 8192).</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="8192" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="MerchantCustomerServicePhone" nillable="true">
							<annotation>
								<documentation>The merchant customer service phone number is the hotline of the merchant, can be blank.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="16" />
								</restriction>
							</simpleType>
						</element>
					</sequence>
				</complexType>
			</element>
			<element name="AuthorizeResponse">
				<complexType>
					<sequence>
						<element minOccurs="1" name="TransactionID" nillable="false">
							<annotation>
								<documentation>A unique identifier to identify the transaction.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="PaymentTransactionID" nillable="false">
							<annotation>
								<documentation>A unique identifier to link split payments</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="TransactionDateTime" nillable="true" type="dateTime">
							<annotation>
								<documentation>The transaction timestamp.</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="SaleReconID" nillable="true">
							<annotation>
								<documentation>A unique sale identifier for reconciliation purposes.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="100" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="ReconID" nillable="true">
							<annotation>
								<documentation>A unique identifier for reconciliation purposes.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="AuthCode" nillable="true">
							<annotation>
								<documentation>The authorization code received from the payment service.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="TransactionStatus" type="tns:TransactionStatusType">
							<annotation>
								<documentation>The transaction status (Success or Fail)</documentation>
							</annotation>
						</element>
						<element minOccurs="1" name="ResponseDetail" type="tns:ResponseDetail">
							<annotation>
								<documentation>The transaction result code.</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="AuthAmount" nillable="true">
							<annotation>
								<documentation>The amount authorized by the bank.</documentation>
							</annotation>
							<simpleType>
								<restriction base="long">
									<minInclusive value="0" />
								</restriction>
							</simpleType>
						</element>
					</sequence>
				</complexType>
			</element>
			<element name="PreAuthorizeRequest">
				<complexType>
					<sequence>
						<element minOccurs="1" name="MerchantID">
							<annotation>
								<documentation>A unique identifier to identify the merchant's payment profile.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="TransactionID" nillable="false">
							<annotation>
								<documentation>A unique identifier to identify the transaction.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="PaymentTransactionID" nillable="true">
							<annotation>
								<documentation>A unique identifier to link split payments</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="PreviousTransactionID" nillable="false">
							<annotation>
								<documentation>A unique identifier to identify a preceding transaction.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="TransactionDateTime" nillable="true" type="dateTime">
							<annotation>
								<documentation>The transaction timestamp.</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="SaleReconID" nillable="true">
							<annotation>
								<documentation>A unique sale identifier for reconciliation purposes.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="100" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="ReconID" nillable="true">
							<annotation>
								<documentation>A unique identifier for reconciliation purposes.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="Amount">
							<annotation>
								<documentation>The initial authorization amount or the amount to be added to the initial authorization if the InitialAuthRef is provided (in the lowest monetary unit).</documentation>
							</annotation>
							<simpleType>
								<restriction base="long">
									<minInclusive value="0" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="CurrencyCode" nillable="true">
							<annotation>
								<documentation>The currency code according to the ISO 4217 standard.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<minLength value="1" />
									<maxLength value="3" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="BudgetPeriod" nillable="true">
							<annotation>
								<documentation>The payment payback period. Available for bank cards with a budget facility.</documentation>
							</annotation>
							<simpleType>
								<restriction base="int">
									<minInclusive value="0" />
									<maxInclusive value="99" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="OrderNumber" nillable="true">
							<annotation>
								<documentation>The transaction order or reference number.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<minLength value="1" />
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="AuthCode" nillable="true">
							<annotation>
								<documentation>The authorization code received from the payment service.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>

						<element minOccurs="0" name="InitialAuthRef" nillable="true">
							<annotation>
								<documentation>The Initial Authorization Reference received from the payment service.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>

						<element minOccurs="1" name="PaymentService" type="tns:PaymentServiceType">
							<annotation>
								<documentation>The target payment service.</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="Card" nillable="true" type="tns:BankCard">
							<annotation>
								<documentation>The card details.</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="BankAccount" nillable="true" type="tns:BankAccountType">
							<annotation>
								<documentation>The card bank account type.</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="FirstName" nillable="true">
							<annotation>
								<documentation>The customer first name.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="LastName" nillable="true">
							<annotation>
								<documentation>The customer last name.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="BillingAddress" nillable="true" type="tns:Address">
							<annotation>
								<documentation>The billing address.</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="ShippingAddress" nillable="true" type="tns:Address">
							<annotation>
								<documentation>The shipping address.</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="MerchantAddress" nillable="true" type="tns:Address">
							<annotation>
								<documentation>The merchant address.</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="Email" nillable="true">
							<annotation>
								<documentation>The customer email.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="254" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="MobilePhone" nillable="true">
							<annotation>
								<documentation>The customer mobile phone number.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="20" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="HomePhone" nillable="true">
							<annotation>
								<documentation>The customer home phone number.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="20" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="WorkPhone" nillable="true">
							<annotation>
								<documentation>The customer work phone number.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="20" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="PAResPayload" nillable="true" type="string">
							<annotation>
								<documentation>The PARes Payload obtained through the 3D Secure authentication process.</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="Cres" nillable="true" type="string">
							<annotation>
								<documentation>The ACS response to the CReq message. It can indicate the result of the Cardholder authentication or, in case of an App-based model, also signal that further Cardholder interaction is required to complete the authentication</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="TerminalID" nillable="true">
							<annotation>
								<documentation>The TerminalID to be passed in Postilion field 41 for Card transactions. If left blank, the configured value will be used.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="8" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="CardAcceptorName" nillable="true">
							<annotation>
								<documentation>The CardAcceptorName to be passed in Postilion field 43 for Card transactions. If left blank, the configured value will be used.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="40" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="SaveToWallet" nillable="true" type="boolean">
							<annotation>
								<documentation>Flag to indicate that the card is going to be tokenized, used to indicate a initial recurring payment</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="TrialSubscription" nillable="true" type="boolean">
							<annotation>
								<documentation>Flag to indicate that the transaction is as part of a trial subscription</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="MerchantCategoryCode" nillable="true">
							<annotation>
								<documentation>The MerchantCategoryCode to be passed in Postilion field 18 for Card transactions. If left blank, the configured value will be used.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="4" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="CardOnFileScenario" nillable="true">
							<annotation>
								<documentation>An identifier allowing a merchant to indicate which specific CIT i.e. customer initiated or MIT i.e. merchant initiated transaction is being performed</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="10" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="MerchantPhone" nillable="true">
							<annotation>
								<documentation>The merchant phone number. If left blank, the configured merchant phone number value will be used.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="16" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="MerchantURL" nillable="true">
							<annotation>
								<documentation>The merchant website URL. If left blank, the configured merchant website URL value will be used.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="255" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="SubMerchantID" nillable="true">
							<annotation>
								<documentation>The Submerchant ID uique to provide for merchant aggregation.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="15" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="Secure3DData" nillable="true" type="tns:Secure3DData">
							<annotation>
								<documentation>The Secure 3D Data for merchant transaction.</documentation>
							</annotation>
						</element>
					</sequence>
				</complexType>
			</element>
			<element name="PreAuthorizeResponse">
				<complexType>
					<sequence>
						<element minOccurs="1" name="TransactionID" nillable="false">
							<annotation>
								<documentation>A unique identifier to identify the transaction.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="PaymentTransactionID" nillable="false">
							<annotation>
								<documentation>A unique identifier to link split payments</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="TransactionDateTime" nillable="true" type="dateTime">
							<annotation>
								<documentation>The transaction timestamp.</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="SaleReconID" nillable="true">
							<annotation>
								<documentation>A unique sale identifier for reconciliation purposes.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="100" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="ReconID" nillable="true">
							<annotation>
								<documentation>A unique identifier for reconciliation purposes.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="AuthCode" nillable="true">
							<annotation>
								<documentation>The authorization code received from the payment service.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>

						<element minOccurs="0" name="InitialAuthRef" nillable="true">
							<annotation>
								<documentation>The Initial Authorization Reference received from the payment service.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>


						<element minOccurs="1" name="TransactionStatus" type="tns:TransactionStatusType">
							<annotation>
								<documentation>The transaction status (Success or Fail)</documentation>
							</annotation>
						</element>
						<element minOccurs="1" name="ResponseDetail" type="tns:ResponseDetail">
							<annotation>
								<documentation>The transaction result code.</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="AuthAmount" nillable="true">
							<annotation>
								<documentation>The amount authorized by the bank.</documentation>
							</annotation>
							<simpleType>
								<restriction base="long">
									<minInclusive value="0" />
								</restriction>
							</simpleType>
						</element>
					</sequence>
				</complexType>
			</element>

			<element name="CaptureRequest">
				<complexType>
					<sequence>
						<element minOccurs="1" name="MerchantID">
							<annotation>
								<documentation>A unique identifier to identify the merchant's payment profile.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="TransactionID" nillable="false">
							<annotation>
								<documentation>A unique identifier to identify the transaction.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="PaymentTransactionID" nillable="true">
							<annotation>
								<documentation>A unique identifier to link split payments</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="PreviousTransactionID" nillable="false">
							<annotation>
								<documentation>A unique identifier to identify a preceding transaction.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="TransactionDateTime" nillable="true" type="dateTime">
							<annotation>
								<documentation>The transaction timestamp.</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="SaleReconID" nillable="true">
							<annotation>
								<documentation>A unique sale identifier for reconciliation purposes.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="100" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="ReconID" nillable="true">
							<annotation>
								<documentation>A unique identifier for reconciliation purposes.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="Amount">
							<annotation>
								<documentation>The authorization amount in the lowest monetary unit.</documentation>
							</annotation>
							<simpleType>
								<restriction base="long">
									<minInclusive value="0" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="eBucksToken" nillable="true">
							<annotation>
								<documentation>The unique eBucks token relating to this payment.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="64" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="CurrencyCode" nillable="true">
							<annotation>
								<documentation>The currency code according to the ISO 4217 standard.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<minLength value="1" />
									<maxLength value="3" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="OrderNumber" nillable="true">
							<annotation>
								<documentation>The transaction order or reference number.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<minLength value="1" />
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="PaymentService" type="tns:PaymentServiceType">
							<annotation>
								<documentation>The target payment service.</documentation>
							</annotation>
						</element>
					</sequence>
				</complexType>
			</element>
			<element name="CaptureResponse">
				<complexType>
					<sequence>
						<element minOccurs="1" name="TransactionID" nillable="false">
							<annotation>
								<documentation>A unique identifier to identify the transaction.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="PaymentTransactionID" nillable="false">
							<annotation>
								<documentation>A unique identifier to link split payments</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="TransactionDateTime" nillable="true" type="dateTime">
							<annotation>
								<documentation>The transaction timestamp.</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="SaleReconID" nillable="true">
							<annotation>
								<documentation>A unique sale identifier for reconciliation purposes.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="100" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="ReconID" nillable="true">
							<annotation>
								<documentation>A unique identifier for reconciliation purposes.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="AuthCode" nillable="true">
							<annotation>
								<documentation>The authorization code received from the payment service.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="TransactionStatus" type="tns:TransactionStatusType">
							<annotation>
								<documentation>The transaction status (Success or Fail)</documentation>
							</annotation>
						</element>
						<element minOccurs="1" name="ResponseDetail" type="tns:ResponseDetail">
							<annotation>
								<documentation>The transaction result code.</documentation>
							</annotation>
						</element>
					</sequence>
				</complexType>
			</element>
			<element name="MessageHeader">
				<complexType>
					<sequence>
						<element minOccurs="0" name="MessageDateTime" nillable="true" type="dateTime">
							<annotation>
								<documentation>The message timestamp.</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="MessageID" nillable="true">
							<annotation>
								<documentation>A unique identifier to identify the message.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="Channel" nillable="true">
							<annotation>
								<documentation>A identifier to identify the source of the message.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
					</sequence>
				</complexType>
			</element>
			<element name="PaymentRequest">
				<complexType>
					<sequence>
						<element minOccurs="1" name="MerchantID">
							<annotation>
								<documentation>A unique identifier to identify the merchant's payment profile.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="TransactionID" nillable="false">
							<annotation>
								<documentation>A unique identifier to identify the transaction.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="PaymentTransactionID" nillable="true">
							<annotation>
								<documentation>A unique identifier to link split payments</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="PreviousTransactionID" nillable="false">
							<annotation>
								<documentation>A unique identifier to identify a preceding transaction.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="TransactionDateTime" nillable="true" type="dateTime">
							<annotation>
								<documentation>The transaction timestamp.</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="SaleReconID" nillable="true">
							<annotation>
								<documentation>A unique sale identifier for reconciliation purposes.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="100" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="ReconID" nillable="true">
							<annotation>
								<documentation>A unique identifier for reconciliation purposes.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="Amount">
							<annotation>
								<documentation>The authorization amount in the lowest monetary unit.</documentation>
							</annotation>
							<simpleType>
								<restriction base="long">
									<minInclusive value="0" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="CurrencyCode" nillable="true">
							<annotation>
								<documentation>The currency code according to the ISO 4217 standard.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<minLength value="1" />
									<maxLength value="3" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="BudgetPeriod" nillable="true">
							<annotation>
								<documentation>The payment payback period. Available for bank cards with a budget facility.</documentation>
							</annotation>
							<simpleType>
								<restriction base="int">
									<minInclusive value="0" />
									<maxInclusive value="99" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="OrderNumber" nillable="true">
							<annotation>
								<documentation>The transaction order or reference number.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<minLength value="1" />
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="AuthCode" nillable="true">
							<annotation>
								<documentation>The authorization code received from the payment service.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="PaymentService" type="tns:PaymentServiceType">
							<annotation>
								<documentation>The target payment service.</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="Card" nillable="true" type="tns:BankCard">
							<annotation>
								<documentation>The card details.</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="BankAccount" nillable="true" type="tns:BankAccountType">
							<annotation>
								<documentation>The card bank account type.</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="FirstName" nillable="true">
							<annotation>
								<documentation>The customer first name.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="LastName" nillable="true">
							<annotation>
								<documentation>The customer last name.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="BillingAddress" nillable="true" type="tns:Address">
							<annotation>
								<documentation>The billing address.</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="ShippingAddress" nillable="true" type="tns:Address">
							<annotation>
								<documentation>The shipping address.</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="MerchantAddress" nillable="true" type="tns:Address">
							<annotation>
								<documentation>The merchant address.</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="Email" nillable="true">
							<annotation>
								<documentation>The customer email.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="254" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="MobilePhone" nillable="true">
							<annotation>
								<documentation>The customer mobile phone number.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="20" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="HomePhone" nillable="true">
							<annotation>
								<documentation>The customer home phone number.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="20" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="WorkPhone" nillable="true">
							<annotation>
								<documentation>The customer work phone number.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="20" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="PAResPayload" nillable="true" type="string">
							<annotation>
								<documentation>The PARes Payload obtained from the 3D Secure authentication process.</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="Cres" nillable="true" type="string">
							<annotation>
								<documentation>The ACS response to the CReq message. It can indicate the result of the Cardholder authentication or, in case of an App-based model, also signal that further Cardholder interaction is required to complete the authentication</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="TerminalID" nillable="true">
							<annotation>
								<documentation>The TerminalID to be passed in Postilion field 41 for Card transactions. If left blank, the configured value will be used.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="8" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="CardAcceptorName" nillable="true">
							<annotation>
								<documentation>The CardAcceptorName to be passed in Postilion field 43 for Card transactions. If left blank, the configured value will be used.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="40" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="SaveToWallet" nillable="true" type="boolean">
							<annotation>
								<documentation>Flag to indicate that the card is going to be tokenized, used to indicate a initial recurring payment</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="TrialSubscription" nillable="true" type="boolean">
							<annotation>
								<documentation>Flag to indicate that the transaction is as part of a trial subscription</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="MerchantCategoryCode" nillable="true">
							<annotation>
								<documentation>The MerchantCategoryCode to be passed in Postilion field 18 for Card transactions. If left blank, the configured value will be used.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="4" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="CardOnFileScenario" nillable="true">
							<annotation>
								<documentation>An identifier allowing a merchant to indicate which specific CIT i.e. customer initiated or MIT i.e. merchant initiated transaction is being performed</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="10" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="VerificationAction" nillable="true" type="tns:VerificationActionType">
							<annotation>
								<documentation>The merchant verification action.PaymentAuthentication,NonPaymentAuthentication or Payment</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="MerchantPhone" nillable="true">
							<annotation>
								<documentation>The merchant phone number. If left blank, the configured merchant phone number value will be used.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="16" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="MerchantURL" nillable="true">
							<annotation>
								<documentation>The merchant website URL. If left blank, the configured merchant website URL value will be used.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="255" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="SubMerchantID" nillable="true">
							<annotation>
								<documentation>The Submerchant ID uique to provide for merchant aggregation.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="15" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="Secure3DData" nillable="true" type="tns:Secure3DData">
							<annotation>
								<documentation>The Secure 3D Data for merchant transaction.</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="DigitalWalletMerchantID" nillable="true">
							<annotation>
								<documentation>A unique identifier to identify the merchant digital wallet payment profile.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="DigitalWalletPayload" nillable="true">
							<annotation>
								<documentation>Base64-encoded digital wallet payload (decoded bytes limited to 8192).</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="8192" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="MerchantCustomerServicePhone" nillable="true">
							<annotation>
								<documentation>The merchant customer service phone number is the hotline of the merchant, can be blank.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="16" />
								</restriction>
							</simpleType>
						</element>
					</sequence>
				</complexType>
			</element>
			<element name="PaymentResponse">
				<complexType>
					<sequence>
						<element minOccurs="1" name="TransactionID" nillable="false">
							<annotation>
								<documentation>A unique identifier to identify the transaction.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="PaymentTransactionID" nillable="false">
							<annotation>
								<documentation>A unique identifier to link split payments</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="TransactionDateTime" nillable="true" type="dateTime">
							<annotation>
								<documentation>The transaction timestamp.</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="SaleReconID" nillable="true">
							<annotation>
								<documentation>A unique sale identifier for reconciliation purposes.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="100" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="ReconID" nillable="true">
							<annotation>
								<documentation>A unique identifier for reconciliation purposes.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="AuthCode" nillable="true">
							<annotation>
								<documentation>The authorization code received from the payment service.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="TransactionStatus" type="tns:TransactionStatusType">
							<annotation>
								<documentation>The transaction status (Success or Fail)</documentation>
							</annotation>
						</element>
						<element minOccurs="1" name="ResponseDetail" type="tns:ResponseDetail">
							<annotation>
								<documentation>The transaction result code.</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="AuthAmount" nillable="true">
							<annotation>
								<documentation>The amount authorized by the bank.</documentation>
							</annotation>
							<simpleType>
								<restriction base="long">
									<minInclusive value="0" />
								</restriction>
							</simpleType>
						</element>
					</sequence>
				</complexType>
			</element>
			<element name="RefundRequest">
				<complexType>
					<sequence>
						<element minOccurs="1" name="MerchantID">
							<annotation>
								<documentation>A unique identifier to identify the merchant's payment profile.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="TransactionID" nillable="false">
							<annotation>
								<documentation>A unique identifier to identify the transaction.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="PreviousTransactionID" nillable="false">
							<annotation>
								<documentation>A unique identifier to identify a preceding transaction.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="PaymentTransactionID" nillable="true">
							<annotation>
								<documentation>An identifier to link payments ie split payments and refunds.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="TransactionDateTime" nillable="true" type="dateTime">
							<annotation>
								<documentation>The transaction timestamp.</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="SaleReconID" nillable="true">
							<annotation>
								<documentation>A unique sale identifier for reconciliation purposes.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="100" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="ReconID" nillable="true">
							<annotation>
								<documentation>A unique identifier for reconciliation purposes.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="Amount">
							<annotation>
								<documentation>The authorization amount in the lowest monetary unit.</documentation>
							</annotation>
							<simpleType>
								<restriction base="long">
									<minInclusive value="0" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="CurrencyCode" nillable="true">
							<annotation>
								<documentation>The currency code according to the ISO 4217 standard.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<minLength value="1" />
									<maxLength value="3" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="OrderNumber" nillable="true">
							<annotation>
								<documentation>The transaction order or reference number.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<minLength value="1" />
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="PaymentService" type="tns:PaymentServiceType">
							<annotation>
								<documentation>The target payment service.</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="eBucksToken" nillable="true">
							<annotation>
								<documentation>The unique eBucks token relating to this payment.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="64" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="Card" nillable="true" type="tns:BankCard">
							<annotation>
								<documentation>The card details.</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="Account" nillable="true" type="tns:AccountDetail">
							<annotation>
								<documentation>The bank account details.</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="BankAccount" nillable="true" type="tns:BankAccountType">
							<annotation>
								<documentation>The card bank account type.</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="FirstName" nillable="true">
							<annotation>
								<documentation>The customer first name.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="LastName" nillable="true">
							<annotation>
								<documentation>The customer last name.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="BillingAddress" nillable="true" type="tns:Address">
							<annotation>
								<documentation>The billing address.</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="ShippingAddress" nillable="true" type="tns:Address">
							<annotation>
								<documentation>The shipping address.</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="MerchantAddress" nillable="true" type="tns:Address">
							<annotation>
								<documentation>The merchant address.</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="Email" nillable="true">
							<annotation>
								<documentation>The customer email.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="254" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="MobilePhone" nillable="true">
							<annotation>
								<documentation>The customer mobile phone number.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="20" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="HomePhone" nillable="true">
							<annotation>
								<documentation>The customer home phone number.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="20" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="WorkPhone" nillable="true">
							<annotation>
								<documentation>The customer work phone number.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="20" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="TerminalID" nillable="true">
							<annotation>
								<documentation>The TerminalID to be passed in Postilion field 41 for Card transactions. If left blank, the configured value will be used.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="8" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="CardAcceptorName" nillable="true">
							<annotation>
								<documentation>The CardAcceptorName to be passed in Postilion field 43 for Card transactions. If left blank, the configured value will be used.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="40" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="MerchantCategoryCode" nillable="true">
							<annotation>
								<documentation>The MerchantCategoryCode to be passed in Postilion field 18 for Card transactions. If left blank, the configured value will be used.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="4" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="CardOnFileScenario" nillable="true">
							<annotation>
								<documentation>An identifier allowing a merchant to indicate which specific CIT i.e. customer initiated or MIT i.e. merchant initiated transaction is being performed</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="10" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="SubMerchantID" nillable="true">
							<annotation>
								<documentation>The Submerchant ID uique to provide for merchant aggregation.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="15" />
								</restriction>
							</simpleType>
						</element>
					</sequence>
				</complexType>
			</element>
			<element name="RefundResponse">
				<complexType>
					<sequence>
						<element minOccurs="1" name="TransactionID" nillable="false">
							<annotation>
								<documentation>A unique identifier to identify the transaction.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="TransactionDateTime" nillable="true" type="dateTime">
							<annotation>
								<documentation>The transaction timestamp.</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="SaleReconID" nillable="true">
							<annotation>
								<documentation>A unique sale identifier for reconciliation purposes.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="100" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="ReconID" nillable="true">
							<annotation>
								<documentation>A unique identifier for reconciliation purposes.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="AuthCode" nillable="true">
							<annotation>
								<documentation>The authorization code received from the payment service.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="TransactionStatus" type="tns:TransactionStatusType">
							<annotation>
								<documentation>The transaction status (Success or Fail)</documentation>
							</annotation>
						</element>
						<element minOccurs="1" name="ResponseDetail" type="tns:ResponseDetail">
							<annotation>
								<documentation>The transaction result code.</documentation>
							</annotation>
						</element>
					</sequence>
				</complexType>
			</element>
			<element name="Secure3DLookupRequest">
				<complexType>
					<sequence>
						<element minOccurs="1" name="MerchantID">
							<annotation>
								<documentation>A unique identifier to identify the merchant's payment profile.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="TransactionID" nillable="false">
							<annotation>
								<documentation>A unique identifier to identify the transaction.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="PreviousTransactionID" nillable="false">
							<annotation>
								<documentation>A unique identifier to identify a preceding lookup transaction.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="TransactionDateTime" nillable="true" type="dateTime">
							<annotation>
								<documentation>The transaction timestamp.</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="SaleReconID" nillable="true">
							<annotation>
								<documentation>A unique sale identifier for reconciliation purposes.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="100" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="ReconID" nillable="true">
							<annotation>
								<documentation>A unique identifier for reconciliation purposes.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="Amount">
							<annotation>
								<documentation>The authorization amount in the lowest monetary unit.</documentation>
							</annotation>
							<simpleType>
								<restriction base="long">
									<minInclusive value="0" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="CurrencyCode" nillable="true">
							<annotation>
								<documentation>The currency code according to the ISO 4217 standard.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<minLength value="1" />
									<maxLength value="3" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="OrderNumber" nillable="true">
							<annotation>
								<documentation>The transaction order or reference number.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<minLength value="1" />
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="MPRAPITransactionId" nillable="true">
							<annotation>
								<documentation>The Master Pass Remote API transaction id that was returned on the generateTransactionId request (Mandatory parameter for MPRAPI PaymentService)</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<minLength value="1" />
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="Card" nillable="true" type="tns:BankCard">
							<annotation>
								<documentation>The card details.</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="VerificationAction" nillable="true" type="tns:VerificationActionType">
							<annotation>
								<documentation>The merchant verification action.</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="PaymentService" type="tns:PaymentServiceType">
							<annotation>
								<documentation>The target payment service.</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="TermUrl" type="string">
							<annotation>
								<documentation>Term Url for MPGS authentication redirect</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="TxId" nillable="true" >
							<annotation>
								<documentation>3DS Server internal transaction id</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="BrowserIP" nillable="true" >
							<annotation>
								<documentation>The v4 or v6 customer IP address of the of the machine where the browser is running on.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<minLength value="1" />
									<maxLength value="45" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="ScreenHeight" nillable="true" >
							<annotation>
								<documentation>The screen height in pixels of the customers browser.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<minLength value="1" />
									<maxLength value="6" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="ScreenWidth" nillable="true" >
							<annotation>
								<documentation>The screen width in pixels of the customers browser.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<minLength value="1" />
									<maxLength value="6" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="Secure3DData" nillable="true" type="tns:Secure3DData">
							<annotation>
								<documentation>The Secure 3D Data for merchant transaction.</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="DigitalWalletMerchantID" nillable="true">
							<annotation>
								<documentation>A unique identifier to identify the merchant digital wallet payment profile.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="DigitalWalletPayload" nillable="true">
							<annotation>
								<documentation>Base64-encoded digital wallet payload (decoded bytes limited to 8192).</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="8192" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="ThreeDSCompInd" nillable="true">
							<annotation>
								<documentation>It indicates if the 3DS Method (a script that collects browser/device data for frictionless authentication) finished successfully.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="1" />
								</restriction>
							</simpleType>
						</element>
					</sequence>
				</complexType>
			</element>
			<element name="Secure3DLookupResponse">
				<complexType>
					<sequence>
						<element minOccurs="1" name="TransactionID" nillable="false">
							<annotation>
								<documentation>A unique identifier to identify the transaction.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="TransactionDateTime" nillable="true" type="dateTime">
							<annotation>
								<documentation>The transaction timestamp.</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="SaleReconID" nillable="true">
							<annotation>
								<documentation>A unique sale identifier for reconciliation purposes.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="100" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="ReconID" nillable="true">
							<annotation>
								<documentation>A unique identifier for reconciliation purposes.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="TransactionStatus" type="tns:TransactionStatusType">
							<annotation>
								<documentation>The transaction status (Success or Fail)</documentation>
							</annotation>
						</element>
						<element minOccurs="1" name="ResponseDetail" type="tns:ResponseDetail">
							<annotation>
								<documentation>The transaction result code.</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="Enrolled" type="boolean">
							<annotation>
								<documentation>Indicates whether the cardholder is enrolled for 3D Secure.</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="AcsUrl" nillable="true" type="string">
							<annotation>
								<documentation>The fully qualified Issuer ACS URL. This is used by the merchant to redirect the cardholder. Returned if the cardholder is enrolled.</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="PAReqPayload" nillable="true" type="string">
							<annotation>
								<documentation>The encoded PAReq generated by MAPS. Returned if the cardholder is enrolled.</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="SecureCodeId" nillable="true" type="string">
							<annotation>
								<documentation>The Masterpass secure code identifier value that must be used on the purchaseTransactionId request to complete the purchase when the authentication type is 3D-Secure</documentation>
							</annotation>
						</element>

						<element minOccurs="0" name="MdStatus" nillable="true" type="int">
							<annotation>
								<documentation>End status of the transaction mdStatus field provides all the information that is needed to determine how to manage the transaction in the merchant system.</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="TxId" nillable="true" >
							<annotation>
								<documentation>3DS Server internal transaction id</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="TDSMethodContent" nillable="true" type="string">
							<annotation>
								<documentation>A complete html fragment that needs to be rendered in user browser when mdStatus=50</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="RedirectToACSForm" nillable="true" type="string">
							<annotation>
								<documentation>ACS redirect form raw HTML, containing all the required parameters to be posted to ACS or SecurePlus. PAReq, termURL, MD and ACS url itself. Form should be presented to user as is.</documentation>
							</annotation>
						</element>

					</sequence>
				</complexType>
			</element>
			<element name="VoidRequest">
				<complexType>
					<sequence>
						<element minOccurs="1" name="MerchantID">
							<annotation>
								<documentation>A unique identifier to identify the merchant's payment profile.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="TransactionID" nillable="false">
							<annotation>
								<documentation>A unique identifier to identify the transaction.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="PreviousTransactionID" nillable="false">
							<annotation>
								<documentation>A unique identifier to identify a preceding transaction.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="TransactionDateTime" nillable="true" type="dateTime">
							<annotation>
								<documentation>The transaction timestamp.</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="SaleReconID" nillable="true">
							<annotation>
								<documentation>A unique sale identifier for reconciliation purposes.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="100" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="ReconID" nillable="true">
							<annotation>
								<documentation>A unique identifier for reconciliation purposes.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="OrderNumber" nillable="true">
							<annotation>
								<documentation>The transaction order or reference number.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<minLength value="1" />
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="MPRAPITransactionId" nillable="true">
							<annotation>
								<documentation>The Master Pass Remote API transaction id that was returned on the generateTransactionId request (Mandatory parameter for MPRAPI PaymentService)</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<minLength value="1" />
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="eBucksToken" nillable="true">
							<annotation>
								<documentation>The unique eBucks token relating to this payment.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="64" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="ReplacementAmount" nillable="true">
							<annotation>
								<documentation>Partial voiding of the incremental Authorization by revising the amount, needs to be accompliced with the InitialAuthRef to link it to the pre authorization. The amount here must be the Revised (lower) value for the authorization . Example: if the initial estimated transaction amount is 1000 cent and the merchant wants to decrease the estimated amount by 200 cent before sending a completion/clearing transaction. Then, the value for this field should be 800.</documentation>
							</annotation>
							<simpleType>
								<restriction base="long">
									<minInclusive value="0" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="InitialAuthRef" nillable="true">
							<annotation>
								<documentation>The Initial Authorization Reference received from the payment service.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="PaymentService" type="tns:PaymentServiceType">
							<annotation>
								<documentation>The target payment service.</documentation>
							</annotation>
						</element>
					</sequence>
				</complexType>
			</element>
			<element name="VoidResponse">
				<complexType>
					<sequence>
						<element minOccurs="1" name="TransactionID" nillable="false">
							<annotation>
								<documentation>A unique identifier to identify the transaction.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="TransactionDateTime" nillable="true" type="dateTime">
							<annotation>
								<documentation>The transaction timestamp.</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="SaleReconID" nillable="true">
							<annotation>
								<documentation>A unique sale identifier for reconciliation purposes.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="100" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="ReconID" nillable="true">
							<annotation>
								<documentation>A unique identifier for reconciliation purposes.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="TransactionStatus" type="tns:TransactionStatusType">
							<annotation>
								<documentation>The transaction status (Success or Fail)</documentation>
							</annotation>
						</element>
						<element minOccurs="1" name="ResponseDetail" type="tns:ResponseDetail">
							<annotation>
								<documentation>The transaction result code.</documentation>
							</annotation>
						</element>
					</sequence>
				</complexType>
			</element>

			<element name="PreAuthVoidRequest">
				<complexType>
					<sequence>
						<element minOccurs="1" name="MerchantID">
							<annotation>
								<documentation>A unique identifier to identify the merchant's payment profile.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="TransactionID" nillable="false">
							<annotation>
								<documentation>A unique identifier to identify the transaction.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="PreviousTransactionID" nillable="false">
							<annotation>
								<documentation>A unique identifier to identify a preceding transaction.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="TransactionDateTime" nillable="true" type="dateTime">
							<annotation>
								<documentation>The transaction timestamp.</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="SaleReconID" nillable="true">
							<annotation>
								<documentation>A unique sale identifier for reconciliation purposes.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="100" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="ReconID" nillable="true">
							<annotation>
								<documentation>A unique identifier for reconciliation purposes.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="OrderNumber" nillable="true">
							<annotation>
								<documentation>The transaction order or reference number.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<minLength value="1" />
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="MPRAPITransactionId" nillable="true">
							<annotation>
								<documentation>The Master Pass Remote API transaction id that was returned on the generateTransactionId request (Mandatory parameter for MPRAPI PaymentService)</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<minLength value="1" />
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="PaymentService" type="tns:PaymentServiceType">
							<annotation>
								<documentation>The target payment service.</documentation>
							</annotation>
						</element>

						<element minOccurs="0" name="InitialAuthRef" nillable="true">
							<annotation>
								<documentation>The Initial Authorization Reference received from the payment service.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="Amount">
							<annotation>
								<documentation>The amount to be voided in the lowest monetary unit.</documentation>
							</annotation>
							<simpleType>
								<restriction base="long">
									<minInclusive value="0" />
								</restriction>
							</simpleType>
						</element>

					</sequence>
				</complexType>
			</element>
			<element name="PreAuthVoidResponse">

				<complexType>
					<sequence>
						<element minOccurs="1" name="TransactionID" nillable="false">
							<annotation>
								<documentation>A unique identifier to identify the transaction.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="TransactionDateTime" nillable="true" type="dateTime">
							<annotation>
								<documentation>The transaction timestamp.</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="SaleReconID" nillable="true">
							<annotation>
								<documentation>A unique sale identifier for reconciliation purposes.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="100" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="ReconID" nillable="true">
							<annotation>
								<documentation>A unique identifier for reconciliation purposes.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>

						<element minOccurs="0" name="InitialAuthRef" nillable="true">
							<annotation>
								<documentation>The Initial Authorization Reference received from the payment service.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="Amount">
							<annotation>
								<documentation>The amount voided in the lowest monetary unit.</documentation>
							</annotation>
							<simpleType>
								<restriction base="long">
									<minInclusive value="0" />
								</restriction>
							</simpleType>
						</element>

						<element minOccurs="1" name="TransactionStatus" type="tns:TransactionStatusType">
							<annotation>
								<documentation>The transaction status (Success or Fail)</documentation>
							</annotation>
						</element>
						<element minOccurs="1" name="ResponseDetail" type="tns:ResponseDetail">
							<annotation>
								<documentation>The transaction result code.</documentation>
							</annotation>
						</element>
					</sequence>
				</complexType>
			</element>

			<element name="MPRAPIRequest">
				<complexType>
					<sequence>
						<element minOccurs="1" name="MerchantID">
							<annotation>
								<documentation>A unique identifier to identify the merchant's payment profile.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="TransactionID" nillable="false">
							<annotation>
								<documentation>A unique identifier to identify the transaction.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="PreviousTransactionID" nillable="false">
							<annotation>
								<documentation>A unique identifier to identify a preceding transaction.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="TransactionDateTime" nillable="true" type="dateTime">
							<annotation>
								<documentation>The transaction timestamp.</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="SaleReconID" nillable="true">
							<annotation>
								<documentation>A unique sale identifier for reconciliation purposes.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="100" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="ReconID" nillable="true">
							<annotation>
								<documentation>A unique identifier for reconciliation purposes.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="OrderNumber" nillable="true">
							<annotation>
								<documentation>The transaction order or reference number.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<minLength value="1" />
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="MPRAPITransactionId" nillable="true">
							<annotation>
								<documentation>The Master Pass Remote API transaction id that was returned on the generateTransactionId request (Mandatory parameter for MPRAPI PaymentService)</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<minLength value="1" />
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="Card" nillable="true" type="tns:BankCard">
							<annotation>
								<documentation>The card details.</documentation>
							</annotation>
						</element>
						<element minOccurs="1" name="EndPoint" nillable="true">
							<annotation>
								<documentation>The Master Pass Remote API endpoint to POST the payload to i.e. v3/purchaseTransactionId</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<minLength value="1" />
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="Payload" nillable="true">
							<annotation>
								<documentation>The JSON payload to be posted the the MPRAPI endpoint i.e. <![CDATA[Enter you JSON Request here, excluding the cardNumber, cvv2, cardholderName and expiryDate fields]]></documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<minLength value="1" />
									<maxLength value="15000" />
								</restriction>
							</simpleType>
						</element>
					</sequence>
				</complexType>
			</element>
			<element name="MPRAPIResponse">
				<complexType>
					<sequence>
						<element minOccurs="1" name="TransactionID" nillable="false">
							<annotation>
								<documentation>A unique identifier to identify the transaction.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="TransactionDateTime" nillable="true" type="dateTime">
							<annotation>
								<documentation>The transaction timestamp.</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="SaleReconID" nillable="true">
							<annotation>
								<documentation>A unique sale identifier for reconciliation purposes.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="100" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="ReconID" nillable="true">
							<annotation>
								<documentation>A unique identifier for reconciliation purposes.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="TransactionStatus" type="tns:TransactionStatusType">
							<annotation>
								<documentation>The transaction status (Success or Fail)</documentation>
							</annotation>
						</element>
						<element minOccurs="1" name="ResponseDetail" type="tns:ResponseDetail">
							<annotation>
								<documentation>The transaction result code.</documentation>
							</annotation>
						</element>
					</sequence>
				</complexType>
			</element>

			<element name="CreateEbucksPaymentRequest">
				<complexType>
					<sequence>
						<element minOccurs="1" name="TransactionID" nillable="false">
							<annotation>
								<documentation>A unique identifier provided by the merchant on the API call to identify the transaction.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="PaymentTransactionID" nillable="true">
							<annotation>
								<documentation>A unique identifier to link split payments</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="MerchantID" nillable="false" type="tns:guid">
							<annotation>
								<documentation>Merchant GUID.</documentation>
							</annotation>
						</element>
						<element minOccurs="0" name="ReconID" nillable="true">
							<annotation>
								<documentation>A unique identifier for reconciliation purposes.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="TransactionDateTime" nillable="true" type="dateTime">
							<annotation>
								<documentation>The transaction timestamp.</documentation>
							</annotation>
						</element>
						<element minOccurs="1" name="PaymentService" type="tns:PaymentServiceType">
							<annotation>
								<documentation>The target payment service must always be eBucks.</documentation>
							</annotation>
						</element>
						<element minOccurs="1" name="OrderNumber" nillable="false">
							<annotation>
								<documentation>The transaction order or reference number.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<minLength value="1" />
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="Amount">
							<annotation>
								<documentation>The total amount in cents e.g. the amount R25.95 must be written in cents as 2595. Minimum amount is 10 cents (1 eBuck) and maximum amount is 99999990 cents.</documentation>
							</annotation>
							<simpleType>
								<restriction base="long">
									<minInclusive value="10" />
									<maxInclusive value="99999990" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="ReturnURL" nillable="false">
							<annotation>
								<documentation>This is the URL that the system will redirect to after a successful eBucks payment is completed. The merchant needs to implement this controller.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="255" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="CancelURL" nillable="true">
							<annotation>
								<documentation>The URL the system will redirect to if the customer chooses to cancel before completing payment. The merchant needs to implement this controller. The ReturnURL will be used if the CancelURL is not defined.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="255" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="Email" nillable="true">
							<annotation>
								<documentation>The customer email.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="254" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="FirstName" nillable="true">
							<annotation>
								<documentation>The customer first name.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="LastName" nillable="true">
							<annotation>
								<documentation>The customer last name.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
					</sequence>
				</complexType>
			</element>

			<element name="CreateEbucksPaymentResponse">
				<complexType>
					<sequence>
						<element minOccurs="0" name="ReconID" nillable="true">
							<annotation>
								<documentation>A unique identifier for reconciliation purposes.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="TransactionID" nillable="false">
							<annotation>
								<documentation>A unique identifier to identify the transaction.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="PaymentTransactionID" nillable="false">
							<annotation>
								<documentation>A unique identifier to link split payments</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="TransactionDateTime" nillable="false" type="dateTime">
							<annotation>
								<documentation>The transaction timestamp.</documentation>
							</annotation>
						</element>
						<element minOccurs="1" name="TransactionStatus" type="tns:TransactionStatusType">
							<annotation>
								<documentation>The transaction status (Success or Fail)</documentation>
							</annotation>
						</element>
						<element minOccurs="1" name="eBucksToken" nillable="true">
							<annotation>
								<documentation>The unique eBucks session token relating to this payment.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="64" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="ResponseDetail" type="tns:ResponseDetail">
							<annotation>
								<documentation>The transaction result code.</documentation>
							</annotation>
						</element>
					</sequence>
				</complexType>
			</element>

			<element name="GetEbucksPaymentRequest">
				<complexType>
					<sequence>
						<element minOccurs="1" name="MerchantID" nillable="false" type="tns:guid">
							<annotation>
								<documentation>Merchant GUID.</documentation>
							</annotation>
						</element>
						<element minOccurs="1" name="TransactionID" nillable="false">
							<annotation>
								<documentation>A unique identifier provided by the merchant on the API call to identify the transaction.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="PaymentTransactionID" nillable="true">
							<annotation>
								<documentation>A unique identifier to link split payments</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="eBucksToken" nillable="true">
							<annotation>
								<documentation>The unique eBucks session token relating to this payment. Either the eBucksToken or the PreviousTransactionID must be provided</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="64" />
								</restriction>
							</simpleType>
						</element>
					</sequence>
				</complexType>
			</element>

			<element name="GetEbucksPaymentResponse">
				<complexType>
					<sequence>
						<element minOccurs="0" name="ReconID" nillable="true">
							<annotation>
								<documentation>A unique identifier for reconciliation purposes.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="TransactionID" nillable="false">
							<annotation>
								<documentation>A unique identifier to identify the transaction.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="PaymentTransactionID" nillable="false">
							<annotation>
								<documentation>A unique identifier to link split payments</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="TransactionDateTime" nillable="false" type="dateTime">
							<annotation>
								<documentation>The transaction timestamp.</documentation>
							</annotation>
						</element>
						<element minOccurs="1" name="OrderNumber" nillable="true">
							<annotation>
								<documentation>The transaction order or reference number.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<minLength value="1" />
									<maxLength value="50" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="eBucksToken" >
							<annotation>
								<documentation>The unique Token relating to this payment.</documentation>
							</annotation>
							<simpleType>
								<restriction base="string">
									<maxLength value="64" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="Amount">
							<annotation>
								<documentation>The total ZAR amount in cents supplied by the merchant.</documentation>
							</annotation>
							<simpleType>
								<restriction base="long">
									<minInclusive value="10" />
									<maxInclusive value="99999990" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="0" name="AuthAmount">
							<annotation>
								<documentation>The total ZAR amount in cents authorized to be paid in eBucks.</documentation>
							</annotation>
							<simpleType>
								<restriction base="long">
									<minInclusive value="10" />
									<maxInclusive value="99999990" />
								</restriction>
							</simpleType>
						</element>
						<element minOccurs="1" name="ExpiryDateTime"  type="dateTime">
							<annotation>
								<documentation>The date and time at which this authorization expires.</documentation>
							</annotation>
						</element>
						<element minOccurs="1" name="TransactionStatus" type="tns:TransactionStatusType">
							<annotation>
								<documentation>The transaction status (Success or Fail)</documentation>
							</annotation>
						</element>
						<element minOccurs="1" name="ResponseDetail" type="tns:ResponseDetail">
							<annotation>
								<documentation>The transaction result code.</documentation>
							</annotation>
						</element>
					</sequence>
				</complexType>
			</element>
		</schema>
	</types>

	<!-- Messages: Generic headers -->
	<message name="MessageHeader">
		<part name="MessageHeader" element="tns:MessageHeader" />
	</message>
	<message name="CreateMasterPassTransactionRequest">
		<part name="parameters" element="tns:CreateMasterPassTransactionRequest" />
	</message>
	<message name="CreateMasterPassTransactionResponse">
		<part name="parameters" element="tns:CreateMasterPassTransactionResponse" />
	</message>
	<message name="AddCardRequest">
		<part name="parameters" element="tns:AddCardRequest"/>
	</message>
	<message name="AddCardResponse">
		<part name="parameters" element="tns:AddCardResponse"/>
	</message>
	<message name="ListUserCardsRequest">
		<part name="parameters" element="tns:ListUserCardsRequest" />
	</message>
	<message name="ListUserCardsResponse">
		<part name="parameters" element="tns:ListUserCardsResponse" />
	</message>
	<message name="ListMerchantCardsRequest">
		<part name="parameters" element="tns:ListMerchantCardsRequest" />
	</message>
	<message name="ListMerchantCardsResponse">
		<part name="parameters" element="tns:ListMerchantCardsResponse" />
	</message>
	<message name="DeleteCardRequest">
		<part name="parameters" element="tns:DeleteCardRequest"/>
	</message>
	<message name="DeleteCardResponse">
		<part name="parameters" element="tns:DeleteCardResponse"/>
	</message>
	<message name="PaymentRequest">
		<part name="parameters" element="tns:PaymentRequest" />
	</message>
	<message name="PaymentResponse">
		<part name="parameters" element="tns:PaymentResponse" />
	</message>
	<message name="AuthorizeRequest">
		<part name="parameters" element="tns:AuthorizeRequest" />
	</message>
	<message name="AuthorizeResponse">
		<part name="parameters" element="tns:AuthorizeResponse" />
	</message>
	<message name="CaptureRequest">
		<part name="parameters" element="tns:CaptureRequest" />
	</message>
	<message name="CaptureResponse">
		<part name="parameters" element="tns:CaptureResponse" />
	</message>
	<message name="RefundRequest">
		<part name="parameters" element="tns:RefundRequest" />
	</message>
	<message name="RefundResponse">
		<part name="parameters" element="tns:RefundResponse" />
	</message>
	<message name="VoidRequest">
		<part name="parameters" element="tns:VoidRequest" />
	</message>
	<message name="VoidResponse">
		<part name="parameters" element="tns:VoidResponse" />
	</message>
	<message name="Secure3DLookupRequest">
		<part name="parameters" element="tns:Secure3DLookupRequest" />
	</message>
	<message name="Secure3DLookupResponse">
		<part name="parameters" element="tns:Secure3DLookupResponse" />
	</message>
	<message name="MPRAPIRequest">
		<part name="parameters" element="tns:MPRAPIRequest" />
	</message>
	<message name="MPRAPIResponse">
		<part name="parameters" element="tns:MPRAPIResponse" />
	</message>

	<message name="PreAuthorizeRequest">
		<part name="parameters" element="tns:PreAuthorizeRequest" />
	</message>
	<message name="PreAuthorizeResponse">
		<part name="parameters" element="tns:PreAuthorizeResponse" />
	</message>
	<message name="PreAuthVoidRequest">
		<part name="parameters" element="tns:PreAuthVoidRequest" />
	</message>
	<message name="PreAuthVoidResponse">
		<part name="parameters" element="tns:PreAuthVoidResponse" />
	</message>

	<message name="CreateEbucksPaymentRequest">
		<part name="parameters" element="tns:CreateEbucksPaymentRequest" />
	</message>
	<message name="CreateEbucksPaymentResponse">
		<part name="parameters" element="tns:CreateEbucksPaymentResponse" />
	</message>
	<message name="GetEbucksPaymentRequest">
		<part name="parameters" element="tns:GetEbucksPaymentRequest" />
	</message>
	<message name="GetEbucksPaymentResponse">
		<part name="parameters" element="tns:GetEbucksPaymentResponse" />
	</message>


	<!-- Port types -->
	<portType name="IPaymentGatewayService">
		<documentation>The ecentricswitch service contract.</documentation>
		<operation name="Payment">
			<documentation>
				The Payment method attempts to process a payment transaction with a single call.&#xD;
				The method essentially combines the Authorize and Capture in a single transaction.
			</documentation>
			<input wsaw:Action="Payment" name="PaymentRequest" message="tns:PaymentRequest" />
			<output wsaw:Action="Payment" name="PaymentResponse" message="tns:PaymentResponse" />
		</operation>
		<operation name="CreateMasterPassTransaction">
			<documentation>The CreateMasterPassTransaction method generates a token/QR code that can be used to make a payment via mobile phone</documentation>
			<input wsaw:Action="CreateMasterPassTransaction" name="CreateMasterPassTransactionRequest" message="tns:CreateMasterPassTransactionRequest" />
			<output wsaw:Action="CreateMasterPassTransaction" name="CreateMasterPassTransactionResponse" message="tns:CreateMasterPassTransactionResponse" />
		</operation>
		<operation name="AddCard">
			<documentation>The AddCard method stores the card details against a merchant user id and provides a token that can be used to transact using the Secure3DLookup, Authorize, Capture, Void and Payment methods</documentation>
			<input wsaw:Action="AddCard" name="AddCardRequest" message="tns:AddCardRequest" />
			<output wsaw:Action="AddCard" name="AddCardResponse" message="tns:AddCardResponse" />
		</operation>
		<operation name="ListUserCards">
			<documentation>The ListUserCards method lists the card details stored against a merchant user id</documentation>
			<input wsaw:Action="ListUserCards" name="ListUserCardsRequest" message="tns:ListUserCardsRequest" />
			<output wsaw:Action="ListUserCards" name="ListUserCardsResponse" message="tns:ListUserCardsResponse" />
		</operation>
		<operation name="ListMerchantCards">
			<documentation>The ListMerchantCards method lists the card details stored against a merchant id</documentation>
			<input wsaw:Action="ListMerchantCards" name="ListMerchantCardsRequest" message="tns:ListMerchantCardsRequest" />
			<output wsaw:Action="ListMerchantCards" name="ListMerchantCardsResponse" message="tns:ListMerchantCardsResponse" />
		</operation>
		<operation name="DeleteCard">
			<documentation>The ListMerchantCards method removes the card details stored against a merchant user id</documentation>
			<input wsaw:Action="DeleteCard" name="DeleteCardRequest" message="tns:DeleteCardRequest" />
			<output wsaw:Action="DeleteCard" name="DeleteCardResponse" message="tns:DeleteCardResponse" />
		</operation>
		<operation name="Authorize">
			<documentation>The Authorize method attempts a funds reservation against the provided card details.</documentation>
			<input wsaw:Action="Authorize" name="AuthorizeRequest" message="tns:AuthorizeRequest" />
			<output wsaw:Action="Authorize" name="AuthorizeResponse" message="tns:AuthorizeResponse" />
		</operation>
		<operation name="Capture">
			<documentation>The Capture method requests the settlement of the funds reserved through an Authorize transaction.</documentation>
			<input wsaw:Action="Capture" name="CaptureRequest" message="tns:CaptureRequest" />
			<output wsaw:Action="Capture" name="CaptureResponse" message="tns:CaptureResponse" />
		</operation>
		<operation name="Refund">
			<documentation>The Refund method allows the merchant to issue a refund (full or partial) of a Capture or Payment transaction.</documentation>
			<input wsaw:Action="Refund" name="RefundRequest" message="tns:RefundRequest" />
			<output wsaw:Action="Refund" name="RefundResponse" message="tns:RefundResponse" />
		</operation>
		<operation name="Void">
			<documentation>The Void method releases the funds reserved through the Authorize transaction.</documentation>
			<input wsaw:Action="Void" name="VoidRequest" message="tns:VoidRequest" />
			<output wsaw:Action="Void" name="VoidResponse" message="tns:VoidResponse" />
		</operation>
		<operation name="Secure3DLookup">
			<documentation>The Secure3DLookup method allows merchants to authenticate cards through 3D Secure.</documentation>
			<input wsaw:Action="Secure3DLookup" name="Secure3DLookupRequest" message="tns:Secure3DLookupRequest" />
			<output wsaw:Action="Secure3DLookup" name="Secure3DLookupResponse" message="tns:Secure3DLookupResponse" />
		</operation>
		<operation name="MPRAPI">
			<documentation>The MPRAPI method passes the Master Pass Remote API request through to masterpass, and inserts the card number into the payload.</documentation>
			<input wsaw:Action="MPRAPI" name="MPRAPIRequest" message="tns:MPRAPIRequest" />
			<output wsaw:Action="MPRAPI" name="MPRAPIResponse" message="tns:MPRAPIResponse" />
		</operation>

		<operation name="PreAuthorize">
			<documentation>The pre Authorize method attempts incremental funds reservation against the provided card details.</documentation>
			<input wsaw:Action="PreAuthorize" name="PreAuthorizeRequest" message="tns:PreAuthorizeRequest" />
			<output wsaw:Action="PreAuthorize" name="PreAuthorizeResponse" message="tns:PreAuthorizeResponse" />
		</operation>
		<operation name="PreAuthVoid">
			<documentation>The Pre Auth Void method releases part of the funds reserved through the Authorize transaction.</documentation>
			<input wsaw:Action="PreAuthVoid" name="PreAuthVoidRequest" message="tns:PreAuthVoidRequest" />
			<output wsaw:Action="PreAuthVoid" name="PreAuthVoidResponse" message="tns:PreAuthVoidResponse" />
		</operation>

		<operation name="CreateEbucksPayment">
			<documentation>In order to create an eBucks payment, one needs to trigger CreateEbucksPayment method.</documentation>
			<input wsaw:Action="CreateEbucksPayment" name="CreateEbucksPaymentRequest" message="tns:CreateEbucksPaymentRequest" />
			<output wsaw:Action="CreateEbucksPayment" name="CreateEbucksPaymentResponse" message="tns:CreateEbucksPaymentResponse" />
		</operation>
		<operation name="GetEbucksPayment">
			<documentation>Triggered to verify an eBucks transaction. It is merely an information request.</documentation>
			<input wsaw:Action="GetEbucksPayment" name="GetEbucksPaymentRequest" message="tns:GetEbucksPaymentRequest" />
			<output wsaw:Action="GetEbucksPayment" name="GetEbucksPaymentResponse" message="tns:GetEbucksPaymentResponse" />
		</operation>

	</portType>

	<!-- Bindings -->
	<binding name="PaymentGatewayBinding" type="tns:IPaymentGatewayService">
		<soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
		<operation name="Payment">
			<soap:operation soapAction="Payment" style="document" />
			<input name="PaymentRequest">
				<soap:header message="tns:MessageHeader" part="MessageHeader" use="literal" />
				<soap:body use="literal" />
			</input>
			<output name="PaymentResponse">
				<soap:header message="tns:MessageHeader" part="MessageHeader" use="literal" />
				<soap:body use="literal" />
			</output>
		</operation>
		<operation name="CreateMasterPassTransaction">
			<soap:operation soapAction="CreateMasterPassTransaction" style="document" />
			<input name="CreateMasterPassTransactionRequest">
				<soap:header message="tns:MessageHeader" part="MessageHeader" use="literal" />
				<soap:body use="literal" />
			</input>
			<output name="CreateMasterPassTransactionResponse">
				<soap:header message="tns:MessageHeader" part="MessageHeader" use="literal" />
				<soap:body use="literal" />
			</output>
		</operation>
		<operation name="AddCard">
			<soap:operation soapAction="AddCard" style="document" />
			<input name="AddCardRequest">
				<soap:header message="tns:MessageHeader" part="MessageHeader" use="literal" />
				<soap:body use="literal" />
			</input>
			<output name="AddCardResponse">
				<soap:header message="tns:MessageHeader" part="MessageHeader" use="literal" />
				<soap:body use="literal" />
			</output>
		</operation>
		<operation name="ListUserCards">
			<soap:operation soapAction="ListUserCards" style="document" />
			<input name="ListUserCardsRequest">
				<soap:header message="tns:MessageHeader" part="MessageHeader" use="literal" />
				<soap:body use="literal" />
			</input>
			<output name="ListUserCardsResponse">
				<soap:header message="tns:MessageHeader" part="MessageHeader" use="literal" />
				<soap:body use="literal" />
			</output>
		</operation>
		<operation name="ListMerchantCards">
			<soap:operation soapAction="ListMerchantCards" style="document" />
			<input name="ListMerchantCardsRequest">
				<soap:header message="tns:MessageHeader" part="MessageHeader" use="literal" />
				<soap:body use="literal" />
			</input>
			<output name="ListMerchantCardsResponse">
				<soap:header message="tns:MessageHeader" part="MessageHeader" use="literal" />
				<soap:body use="literal" />
			</output>
		</operation>
		<operation name="DeleteCard">
			<soap:operation soapAction="DeleteCard" style="document" />
			<input name="DeleteCardRequest">
				<soap:header message="tns:MessageHeader" part="MessageHeader" use="literal" />
				<soap:body use="literal" />
			</input>
			<output name="DeleteCardResponse">
				<soap:header message="tns:MessageHeader" part="MessageHeader" use="literal" />
				<soap:body use="literal" />
			</output>
		</operation>
		<operation name="Authorize">
			<soap:operation soapAction="Authorize" style="document" />
			<input name="AuthorizeRequest">
				<soap:header message="tns:MessageHeader" part="MessageHeader" use="literal" />
				<soap:body use="literal" />
			</input>
			<output name="AuthorizeResponse">
				<soap:header message="tns:MessageHeader" part="MessageHeader" use="literal" />
				<soap:body use="literal" />
			</output>
		</operation>
		<operation name="Capture">
			<soap:operation soapAction="Capture" style="document" />
			<input name="CaptureRequest">
				<soap:header message="tns:MessageHeader" part="MessageHeader" use="literal" />
				<soap:body use="literal" />
			</input>
			<output name="CaptureResponse">
				<soap:header message="tns:MessageHeader" part="MessageHeader" use="literal" />
				<soap:body use="literal" />
			</output>
		</operation>
		<operation name="Refund">
			<soap:operation soapAction="Refund" style="document" />
			<input name="RefundRequest">
				<soap:header message="tns:MessageHeader" part="MessageHeader" use="literal" />
				<soap:body use="literal" />
			</input>
			<output name="RefundResponse">
				<soap:header message="tns:MessageHeader" part="MessageHeader" use="literal" />
				<soap:body use="literal" />
			</output>
		</operation>
		<operation name="Void">
			<soap:operation soapAction="Void" style="document" />
			<input name="VoidRequest">
				<soap:header message="tns:MessageHeader" part="MessageHeader" use="literal" />
				<soap:body use="literal" />
			</input>
			<output name="VoidResponse">
				<soap:header message="tns:MessageHeader" part="MessageHeader" use="literal" />
				<soap:body use="literal" />
			</output>
		</operation>
		<operation name="Secure3DLookup">
			<soap:operation soapAction="Secure3DLookup" style="document" />
			<input name="Secure3DLookupRequest">
				<soap:header message="tns:MessageHeader" part="MessageHeader" use="literal" />
				<soap:body use="literal" />
			</input>
			<output name="Secure3DLookupResponse">
				<soap:header message="tns:MessageHeader" part="MessageHeader" use="literal" />
				<soap:body use="literal" />
			</output>
		</operation>
		<operation name="MPRAPI">
			<soap:operation soapAction="MPRAPI" style="document" />
			<input name="MPRAPIRequest">
				<soap:header message="tns:MessageHeader" part="MessageHeader" use="literal" />
				<soap:body use="literal" />
			</input>
			<output name="MPRAPIResponse">
				<soap:header message="tns:MessageHeader" part="MessageHeader" use="literal" />
				<soap:body use="literal" />
			</output>
		</operation>

		<operation name="PreAuthorize">
			<soap:operation soapAction="PreAuthorize" style="document" />
			<input name="PreAuthorizeRequest">
				<soap:header message="tns:MessageHeader" part="MessageHeader" use="literal" />
				<soap:body use="literal" />
			</input>
			<output name="PreAuthorizeResponse">
				<soap:header message="tns:MessageHeader" part="MessageHeader" use="literal" />
				<soap:body use="literal" />
			</output>
		</operation>
		<operation name="PreAuthVoid">
			<soap:operation soapAction="PreAuthVoid" style="document" />
			<input name="PreAuthVoidRequest">
				<soap:header message="tns:MessageHeader" part="MessageHeader" use="literal" />
				<soap:body use="literal" />
			</input>
			<output name="PreAuthVoidResponse">
				<soap:header message="tns:MessageHeader" part="MessageHeader" use="literal" />
				<soap:body use="literal" />
			</output>
		</operation>

		<operation name="CreateEbucksPayment">
			<soap:operation soapAction="CreateEbucksPayment" style="document" />
			<input name="CreateEbucksPaymentRequest">
				<soap:header message="tns:MessageHeader" part="MessageHeader" use="literal" />
				<soap:body use="literal" />
			</input>
			<output name="CreateEbucksPaymentResponse">
				<soap:header message="tns:MessageHeader" part="MessageHeader" use="literal" />
				<soap:body use="literal" />
			</output>
		</operation>
		<operation name="GetEbucksPayment">
			<soap:operation soapAction="GetEbucksPayment" style="document" />
			<input name="GetEbucksPaymentRequest">
				<soap:header message="tns:MessageHeader" part="MessageHeader" use="literal" />
				<soap:body use="literal" />
			</input>
			<output name="GetEbucksPaymentResponse">
				<soap:header message="tns:MessageHeader" part="MessageHeader" use="literal" />
				<soap:body use="literal" />
			</output>
		</operation>

	</binding>

	<!-- Services -->
	<service name="PaymentGatewayService">
		<port name="PaymentGatewayEndpoint" binding="tns:PaymentGatewayBinding" />
	</service>
</definitions>