<?xml version="1.0"?>
<xs:schema xmlns:tns="http://schemas.datacontract.org/2004/07/Rsl.Payments.ServiceModel" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/Rsl.Payments.ServiceModel" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import namespace="http://schemas.servicestack.net/types" />
  <xs:import namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" />
  <xs:import namespace="http://schemas.datacontract.org/2004/07/Rsl.Payments.ServiceModel.Types" />
  <xs:complexType name="CheckHealth">
    <xs:sequence />
  </xs:complexType>
  <xs:element name="CheckHealth" nillable="true" type="tns:CheckHealth" />
  <xs:complexType name="GetApiStatus">
    <xs:sequence />
  </xs:complexType>
  <xs:element name="GetApiStatus" nillable="true" type="tns:GetApiStatus" />
  <xs:complexType name="QueryPaymentsDisputedSince">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q1="http://schemas.servicestack.net/types" base="q1:QueryDataOfPaymentc7_S3IG2u">
        <xs:sequence>
          <xs:element minOccurs="0" name="DisputeFromDate" type="xs:dateTime" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="QueryPaymentsDisputedSince" nillable="true" type="tns:QueryPaymentsDisputedSince" />
  <xs:complexType name="QueryPaymentsTransactionByDateRange">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q2="http://schemas.servicestack.net/types" base="q2:QueryDataOfPaymentc7_S3IG2u">
        <xs:sequence>
          <xs:element minOccurs="0" name="EndDate" nillable="true" type="xs:dateTime" />
          <xs:element minOccurs="0" name="StartDate" type="xs:dateTime" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="QueryPaymentsTransactionByDateRange" nillable="true" type="tns:QueryPaymentsTransactionByDateRange" />
  <xs:complexType name="QueryPaymentsByOrder">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q3="http://schemas.servicestack.net/types" base="q3:QueryDataOfPaymentc7_S3IG2u">
        <xs:sequence>
          <xs:element minOccurs="0" name="OrderId" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="QueryPaymentsByOrder" nillable="true" type="tns:QueryPaymentsByOrder" />
  <xs:complexType name="QueryPaymentsByCustomer">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q4="http://schemas.servicestack.net/types" base="q4:QueryDataOfPaymentc7_S3IG2u">
        <xs:sequence>
          <xs:element minOccurs="0" name="CustomerId" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="QueryPaymentsByCustomer" nillable="true" type="tns:QueryPaymentsByCustomer" />
  <xs:complexType name="QueryPaymentsByTransaction">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q5="http://schemas.servicestack.net/types" base="q5:QueryDataOfPaymentc7_S3IG2u">
        <xs:sequence>
          <xs:element minOccurs="0" name="TransactionIds" nillable="true" xmlns:q6="http://schemas.microsoft.com/2003/10/Serialization/Arrays" type="q6:ArrayOfstring" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="QueryPaymentsByTransaction" nillable="true" type="tns:QueryPaymentsByTransaction" />
  <xs:complexType name="QueryPayments">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q7="http://schemas.servicestack.net/types" base="q7:QueryDataOfPaymentc7_S3IG2u">
        <xs:sequence>
          <xs:element minOccurs="0" name="CustomerId" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="DisputeFromDate" nillable="true" type="xs:dateTime" />
          <xs:element minOccurs="0" name="OrderId" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="TransactionIds" nillable="true" xmlns:q8="http://schemas.microsoft.com/2003/10/Serialization/Arrays" type="q8:ArrayOfstring" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="QueryPayments" nillable="true" type="tns:QueryPayments" />
  <xs:complexType name="AddPaymentMethod">
    <xs:sequence>
      <xs:element minOccurs="0" name="CardholderName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="PaymentMethodNonce" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="AddPaymentMethod" nillable="true" type="tns:AddPaymentMethod" />
  <xs:complexType name="FindPaymentMethod">
    <xs:sequence>
      <xs:element minOccurs="0" name="PaymentMethodToken" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="FindPaymentMethod" nillable="true" type="tns:FindPaymentMethod" />
  <xs:complexType name="QueuePaymentSyncStatus">
    <xs:sequence>
      <xs:element minOccurs="0" name="PaymentIdentifiers" nillable="true" type="tns:ArrayOfPaymentIdentifier" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="QueuePaymentSyncStatus" nillable="true" type="tns:QueuePaymentSyncStatus" />
  <xs:complexType name="ArrayOfPaymentIdentifier">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="PaymentIdentifier" nillable="true" type="tns:PaymentIdentifier" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfPaymentIdentifier" nillable="true" type="tns:ArrayOfPaymentIdentifier" />
  <xs:complexType name="PaymentIdentifier">
    <xs:sequence>
      <xs:element minOccurs="0" name="ReferenceNumber" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="TransactionId" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="PaymentIdentifier" nillable="true" type="tns:PaymentIdentifier" />
  <xs:complexType name="ChargePayment">
    <xs:sequence>
      <xs:element minOccurs="0" name="Amount" type="xs:decimal" />
      <xs:element minOccurs="0" name="CardholderName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="PayPalPayeeEmail" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="PaymentMethodNonce" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="PaymentMethodToken" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ReferenceNumber" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="StoreInVaultOnSuccess" type="xs:boolean" />
      <xs:element minOccurs="0" name="TransactionSource" nillable="true" type="tns:TransactionSource" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ChargePayment" nillable="true" type="tns:ChargePayment" />
  <xs:simpleType name="TransactionSource">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Unscheduled" />
      <xs:enumeration value="Recurring" />
      <xs:enumeration value="Recurring_first" />
      <xs:enumeration value="CIT" />
    </xs:restriction>
  </xs:simpleType>
  <xs:element name="TransactionSource" nillable="true" type="tns:TransactionSource" />
  <xs:complexType name="PreAuthChargePayment">
    <xs:sequence>
      <xs:element minOccurs="0" name="PaymentMethodNonce" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ReferenceNumber" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="PreAuthChargePayment" nillable="true" type="tns:PreAuthChargePayment" />
  <xs:complexType name="RefundPayment">
    <xs:sequence>
      <xs:element minOccurs="0" name="Amount" type="xs:decimal" />
      <xs:element minOccurs="0" name="PaymentMethodToken" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="PreviousReferenceNumber" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ReferenceNumber" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="TransactionId" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="RefundPayment" nillable="true" type="tns:RefundPayment" />
  <xs:complexType name="VoidPayment">
    <xs:sequence>
      <xs:element minOccurs="0" name="TransactionId" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="VoidPayment" nillable="true" type="tns:VoidPayment" />
  <xs:complexType name="PaymentSyncStatusByReferenceNumber">
    <xs:sequence>
      <xs:element minOccurs="0" name="ReferenceNumber" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="PaymentSyncStatusByReferenceNumber" nillable="true" type="tns:PaymentSyncStatusByReferenceNumber" />
  <xs:complexType name="PaymentSyncStatusByTransactionId">
    <xs:sequence>
      <xs:element minOccurs="0" name="TransactionIds" nillable="true" type="tns:ArrayOfPaymentId" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="PaymentSyncStatusByTransactionId" nillable="true" type="tns:PaymentSyncStatusByTransactionId" />
  <xs:complexType name="ArrayOfPaymentId">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="PaymentId" nillable="true" type="tns:PaymentId" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfPaymentId" nillable="true" type="tns:ArrayOfPaymentId" />
  <xs:complexType name="PaymentId">
    <xs:sequence>
      <xs:element minOccurs="0" name="ReferenceNumber" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="TransactionId" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="PaymentId" nillable="true" type="tns:PaymentId" />
  <xs:complexType name="SyncPayment">
    <xs:sequence>
      <xs:element minOccurs="0" name="Amount" nillable="true" type="xs:decimal" />
      <xs:element minOccurs="0" name="BTReferenceNumber" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="PaymentId" nillable="true" type="xs:long" />
      <xs:element minOccurs="0" name="RslReferenceNumber" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="SyncPayment" nillable="true" type="tns:SyncPayment" />
  <xs:complexType name="GenerateClientToken">
    <xs:sequence />
  </xs:complexType>
  <xs:element name="GenerateClientToken" nillable="true" type="tns:GenerateClientToken" />
  <xs:complexType name="QueryTransaction">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q9="http://schemas.servicestack.net/types" base="q9:QueryDataOfTransactionc7_S3IG2u">
        <xs:sequence>
          <xs:element minOccurs="0" name="EndDate" type="xs:dateTime" />
          <xs:element minOccurs="0" name="StartDate" nillable="true" type="xs:dateTime" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="QueryTransaction" nillable="true" type="tns:QueryTransaction" />
  <xs:complexType name="HealthStatus">
    <xs:sequence>
      <xs:element minOccurs="0" name="Elapsed" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="NodeName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Note" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="TracertLog" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Version" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="HealthStatus" nillable="true" type="tns:HealthStatus" />
  <xs:complexType name="ApiStatus">
    <xs:sequence>
      <xs:element minOccurs="0" name="LiveSince" type="xs:dateTime" />
      <xs:element minOccurs="0" name="NodeName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ServiceName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Version" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ApiStatus" nillable="true" type="tns:ApiStatus" />
  <xs:complexType name="ArrayOfPayment">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Payment" nillable="true" type="tns:Payment" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfPayment" nillable="true" type="tns:ArrayOfPayment" />
  <xs:complexType name="Payment">
    <xs:sequence>
      <xs:element minOccurs="0" name="AchReturnCode" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="AcquirerReferenceNumber" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="AdditionalProcessorResponse" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Amount" nillable="true" type="xs:decimal" />
      <xs:element minOccurs="0" name="ApplePay" nillable="true" type="tns:ApplePayDetails" />
      <xs:element minOccurs="0" name="CreatedAt" type="xs:dateTime" />
      <xs:element minOccurs="0" name="CreditCard" nillable="true" type="tns:CreditCard" />
      <xs:element minOccurs="0" name="Disputes" nillable="true" type="tns:ArrayOfDispute" />
      <xs:element minOccurs="0" name="GatewayRejectionReason" nillable="true" type="tns:GatewayRejectionReason" />
      <xs:element minOccurs="0" name="GooglePay" nillable="true" type="tns:GooglePayDetails" />
      <xs:element minOccurs="0" name="IsSuccess" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="MerchantAccountId" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="PayPalDetails" nillable="true" type="tns:PayPalDetails" />
      <xs:element minOccurs="0" name="PaymentInstrumentType" type="tns:PaymentInstrumentType" />
      <xs:element minOccurs="0" name="ProcessedWithNetworkToken" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="ProcessorDeclineType" nillable="true" type="tns:ProcessorDeclineType" />
      <xs:element minOccurs="0" name="ProcessorResponseCode" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ProcessorResponseText" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ReferenceNumber" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ResponseStatusType" type="tns:ResponseStatusType" />
      <xs:element minOccurs="0" name="Retried" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="SettlementBatchId" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Token" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="TransactionId" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="TransactionStatus" nillable="true" type="tns:TransactionStatus" />
      <xs:element minOccurs="0" name="VoidProcessorResponseCode" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="VoidTransactionId" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Payment" nillable="true" type="tns:Payment" />
  <xs:complexType name="ApplePayDetails">
    <xs:sequence>
      <xs:element minOccurs="0" name="Bin" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="CardType" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="CardholderName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="CustomerId" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ExpirationMonth" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ExpirationYear" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="LastFour" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Token" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ApplePayDetails" nillable="true" type="tns:ApplePayDetails" />
  <xs:complexType name="CreditCard">
    <xs:sequence>
      <xs:element minOccurs="0" name="Bin" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="CardType" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="CardholderName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Debit" xmlns:q10="http://schemas.datacontract.org/2004/07/Rsl.Payments.ServiceModel.Types" type="q10:CreditCardDebit" />
      <xs:element minOccurs="0" name="ExpirationMonth" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ExpirationYear" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="IsNetworkTokenized" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="LastFour" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Token" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="UniqueNumberIdentifier" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="CreditCard" nillable="true" type="tns:CreditCard" />
  <xs:complexType name="ArrayOfDispute">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Dispute" nillable="true" type="tns:Dispute" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfDispute" nillable="true" type="tns:ArrayOfDispute" />
  <xs:complexType name="Dispute">
    <xs:sequence>
      <xs:element minOccurs="0" name="Amount" nillable="true" type="xs:decimal" />
      <xs:element minOccurs="0" name="CaseNumber" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="CurrencyIsoCode" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="DateOpened" nillable="true" type="xs:dateTime" />
      <xs:element minOccurs="0" name="DateWon" nillable="true" type="xs:dateTime" />
      <xs:element minOccurs="0" name="Id" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Kind" type="tns:DisputeKind" />
      <xs:element minOccurs="0" name="PayPalMessages" nillable="true" type="tns:ArrayOfDisputePayPalMessage" />
      <xs:element minOccurs="0" name="PreDisputeProgram" type="tns:PreDisputeProgram" />
      <xs:element minOccurs="0" name="ProtectionLevel" type="tns:DisputeProtectionLevel" />
      <xs:element minOccurs="0" name="Reason" type="tns:DisputeReason" />
      <xs:element minOccurs="0" name="ReceivedDate" nillable="true" type="xs:dateTime" />
      <xs:element minOccurs="0" name="ReplyByDate" nillable="true" type="xs:dateTime" />
      <xs:element minOccurs="0" name="Status" type="tns:DisputeStatus" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Dispute" nillable="true" type="tns:Dispute" />
  <xs:simpleType name="DisputeKind">
    <xs:restriction base="xs:string">
      <xs:enumeration value="chargeback" />
      <xs:enumeration value="pre_arbitration" />
      <xs:enumeration value="retrieval" />
      <xs:enumeration value="unrecognized" />
    </xs:restriction>
  </xs:simpleType>
  <xs:element name="DisputeKind" nillable="true" type="tns:DisputeKind" />
  <xs:complexType name="ArrayOfDisputePayPalMessage">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="DisputePayPalMessage" nillable="true" type="tns:DisputePayPalMessage" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfDisputePayPalMessage" nillable="true" type="tns:ArrayOfDisputePayPalMessage" />
  <xs:complexType name="DisputePayPalMessage">
    <xs:sequence />
  </xs:complexType>
  <xs:element name="DisputePayPalMessage" nillable="true" type="tns:DisputePayPalMessage" />
  <xs:simpleType name="PreDisputeProgram">
    <xs:restriction base="xs:string">
      <xs:enumeration value="none" />
      <xs:enumeration value="unrecognized" />
      <xs:enumeration value="visa_rdr" />
    </xs:restriction>
  </xs:simpleType>
  <xs:element name="PreDisputeProgram" nillable="true" type="tns:PreDisputeProgram" />
  <xs:simpleType name="DisputeProtectionLevel">
    <xs:restriction base="xs:string">
      <xs:enumeration value="effortless_cbp" />
      <xs:enumeration value="standard_cbp" />
      <xs:enumeration value="no_protection" />
    </xs:restriction>
  </xs:simpleType>
  <xs:element name="DisputeProtectionLevel" nillable="true" type="tns:DisputeProtectionLevel" />
  <xs:simpleType name="DisputeReason">
    <xs:restriction base="xs:string">
      <xs:enumeration value="cancelled_recurring_transaction" />
      <xs:enumeration value="credit_not_processed" />
      <xs:enumeration value="duplicate" />
      <xs:enumeration value="fraud" />
      <xs:enumeration value="general" />
      <xs:enumeration value="invalid_account" />
      <xs:enumeration value="not_recognized" />
      <xs:enumeration value="product_not_received" />
      <xs:enumeration value="product_unsatisfactory" />
      <xs:enumeration value="transaction_amount_differs" />
      <xs:enumeration value="retrieval" />
    </xs:restriction>
  </xs:simpleType>
  <xs:element name="DisputeReason" nillable="true" type="tns:DisputeReason" />
  <xs:simpleType name="DisputeStatus">
    <xs:restriction base="xs:string">
      <xs:enumeration value="open" />
      <xs:enumeration value="lost" />
      <xs:enumeration value="won" />
      <xs:enumeration value="unrecognized" />
      <xs:enumeration value="accepted" />
      <xs:enumeration value="auto_accepted" />
      <xs:enumeration value="disputed" />
      <xs:enumeration value="expired" />
    </xs:restriction>
  </xs:simpleType>
  <xs:element name="DisputeStatus" nillable="true" type="tns:DisputeStatus" />
  <xs:simpleType name="GatewayRejectionReason">
    <xs:restriction base="xs:string">
      <xs:enumeration value="application_incomplete" />
      <xs:enumeration value="avs" />
      <xs:enumeration value="avs_and_cvv" />
      <xs:enumeration value="cvv" />
      <xs:enumeration value="duplicate" />
      <xs:enumeration value="excessive_retry" />
      <xs:enumeration value="fraud" />
      <xs:enumeration value="risk_threshold" />
      <xs:enumeration value="three_d_secure" />
      <xs:enumeration value="token_issuance" />
      <xs:enumeration value="unrecognized" />
    </xs:restriction>
  </xs:simpleType>
  <xs:element name="GatewayRejectionReason" nillable="true" type="tns:GatewayRejectionReason" />
  <xs:complexType name="GooglePayDetails">
    <xs:sequence>
      <xs:element minOccurs="0" name="Bin" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="CardholderName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="CustomerId" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ExpirationMonth" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ExpirationYear" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="GoogleTransactionId" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="IsNetworkTokenized" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="SourceCardLast4" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="SourceCardType" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Token" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="GooglePayDetails" nillable="true" type="tns:GooglePayDetails" />
  <xs:complexType name="PayPalDetails">
    <xs:sequence>
      <xs:element minOccurs="0" name="AuthorizationId" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="BillingAgreementId" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="CaptureId" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Description" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="PayeeEmail" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="PayeeId" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="PayerEmail" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="PayerFirstName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="PayerId" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="PayerLastName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="PayerStatus" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="PaymentId" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="RefundId" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="SellerProtectionStatus" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="TaxId" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="TaxIdType" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Token" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="TransactionFeeAmount" type="xs:decimal" />
      <xs:element minOccurs="0" name="TransactionFeeCurrencyIsoCode" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="PayPalDetails" nillable="true" type="tns:PayPalDetails" />
  <xs:simpleType name="PaymentInstrumentType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="unknown" />
      <xs:enumeration value="paypal_account" />
      <xs:enumeration value="credit_card" />
      <xs:enumeration value="android_pay_card" />
      <xs:enumeration value="apple_pay_card" />
    </xs:restriction>
  </xs:simpleType>
  <xs:element name="PaymentInstrumentType" nillable="true" type="tns:PaymentInstrumentType" />
  <xs:simpleType name="ProcessorDeclineType">
    <xs:annotation>
      <xs:appinfo>
        <ActualType Name="short" Namespace="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.microsoft.com/2003/10/Serialization/" />
      </xs:appinfo>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="Unknown" />
      <xs:enumeration value="Soft" />
      <xs:enumeration value="Hard" />
    </xs:restriction>
  </xs:simpleType>
  <xs:element name="ProcessorDeclineType" nillable="true" type="tns:ProcessorDeclineType" />
  <xs:simpleType name="ResponseStatusType">
    <xs:annotation>
      <xs:appinfo>
        <ActualType Name="short" Namespace="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.microsoft.com/2003/10/Serialization/" />
      </xs:appinfo>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="Unknown" />
      <xs:enumeration value="Success" />
      <xs:enumeration value="Fail" />
      <xs:enumeration value="SoftFail" />
    </xs:restriction>
  </xs:simpleType>
  <xs:element name="ResponseStatusType" nillable="true" type="tns:ResponseStatusType" />
  <xs:simpleType name="TransactionStatus">
    <xs:restriction base="xs:string">
      <xs:enumeration value="authorization_expired" />
      <xs:enumeration value="authorized" />
      <xs:enumeration value="authorizing" />
      <xs:enumeration value="failed" />
      <xs:enumeration value="gateway_rejected" />
      <xs:enumeration value="processor_declined" />
      <xs:enumeration value="settled" />
      <xs:enumeration value="settling" />
      <xs:enumeration value="submitted_for_settlement" />
      <xs:enumeration value="voided" />
      <xs:enumeration value="unrecognized" />
      <xs:enumeration value="settlement_confirmed" />
      <xs:enumeration value="settlement_declined" />
      <xs:enumeration value="settlement_pending" />
      <xs:enumeration value="failed_to_submit" />
      <xs:enumeration value="submitting_to_braintree" />
      <xs:enumeration value="timeout" />
    </xs:restriction>
  </xs:simpleType>
  <xs:element name="TransactionStatus" nillable="true" type="tns:TransactionStatus" />
  <xs:complexType name="PaymentMethod">
    <xs:sequence>
      <xs:element minOccurs="0" name="ApplePay" nillable="true" type="tns:ApplePayDetails" />
      <xs:element minOccurs="0" name="CreditCard" nillable="true" type="tns:CreditCard" />
      <xs:element minOccurs="0" name="GooglePay" nillable="true" type="tns:GooglePayDetails" />
      <xs:element minOccurs="0" name="PayPalAccount" nillable="true" type="tns:PayPalAccount" />
      <xs:element minOccurs="0" name="PaymentInstrumentType" type="tns:PaymentInstrumentType" />
      <xs:element minOccurs="0" name="PaymentMethodToken" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="PaymentMethod" nillable="true" type="tns:PaymentMethod" />
  <xs:complexType name="PayPalAccount">
    <xs:sequence>
      <xs:element minOccurs="0" name="BillingAgreementId" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="CreatedAt" type="xs:dateTime" />
      <xs:element minOccurs="0" name="Email" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="PayerId" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="RevokedAt" nillable="true" type="xs:dateTime" />
      <xs:element minOccurs="0" name="Token" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="PayPalAccount" nillable="true" type="tns:PayPalAccount" />
  <xs:complexType name="QueuePaymentSyncStatusResponse">
    <xs:sequence>
      <xs:element minOccurs="0" name="ResponseStatus" nillable="true" xmlns:q11="http://schemas.servicestack.net/types" type="q11:ResponseStatus" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="QueuePaymentSyncStatusResponse" nillable="true" type="tns:QueuePaymentSyncStatusResponse" />
  <xs:complexType name="GenerateClientTokenResponse">
    <xs:sequence>
      <xs:element minOccurs="0" name="ClientToken" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ResponseStatus" nillable="true" xmlns:q12="http://schemas.servicestack.net/types" type="q12:ResponseStatus" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="GenerateClientTokenResponse" nillable="true" type="tns:GenerateClientTokenResponse" />
  <xs:complexType name="ArrayOfTransaction">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Transaction" nillable="true" type="tns:Transaction" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfTransaction" nillable="true" type="tns:ArrayOfTransaction" />
  <xs:complexType name="Transaction">
    <xs:sequence>
      <xs:element minOccurs="0" name="Amount" nillable="true" type="xs:decimal" />
      <xs:element minOccurs="0" name="ApplePay" nillable="true" type="tns:ApplePayDetails" />
      <xs:element minOccurs="0" name="CreatedAt" nillable="true" type="xs:dateTime" />
      <xs:element minOccurs="0" name="CreditCard" nillable="true" type="tns:CreditCard" />
      <xs:element minOccurs="0" name="Disputes" nillable="true" type="tns:ArrayOfDispute" />
      <xs:element minOccurs="0" name="GooglePay" nillable="true" type="tns:GooglePayDetails" />
      <xs:element minOccurs="0" name="IsSuccess" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="PayPalDetails" nillable="true" type="tns:PayPalDetails" />
      <xs:element minOccurs="0" name="PaymentInstrumentType" type="tns:PaymentInstrumentType" />
      <xs:element minOccurs="0" name="ProcessorResponseCode" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ProcessorResponseText" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ReferenceNumber" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="RefundIds" nillable="true" xmlns:q13="http://schemas.microsoft.com/2003/10/Serialization/Arrays" type="q13:ArrayOfstring" />
      <xs:element minOccurs="0" name="RefundedTransactionId" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Status" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="StatusHistory" nillable="true" type="tns:ArrayOfStatusEvent" />
      <xs:element minOccurs="0" name="TransactionId" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="TransactionStatus" nillable="true" type="tns:TransactionStatus" />
      <xs:element minOccurs="0" name="Type" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="UpdatedAt" nillable="true" type="xs:dateTime" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Transaction" nillable="true" type="tns:Transaction" />
  <xs:complexType name="ArrayOfStatusEvent">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="StatusEvent" nillable="true" type="tns:StatusEvent" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfStatusEvent" nillable="true" type="tns:ArrayOfStatusEvent" />
  <xs:complexType name="StatusEvent">
    <xs:sequence>
      <xs:element minOccurs="0" name="Amount" nillable="true" type="xs:decimal" />
      <xs:element minOccurs="0" name="Source" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Status" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Timestamp" nillable="true" type="xs:dateTime" />
      <xs:element minOccurs="0" name="User" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="StatusEvent" nillable="true" type="tns:StatusEvent" />
</xs:schema>