00001 <?xml version="1.0" encoding="UTF-8"?> 00002 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 00003 targetNamespace="http://payment.ovi.com/iap" xmlns="http://payment.ovi.com/iap" 00004 elementFormDefault="qualified" 00005 xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" 00006 jaxb:version="2.1" 00007 xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc" 00008 jaxb:extensionBindingPrefixes="xjc"> 00009 00010 <!-- base for every iap request --> 00011 <xs:complexType name="IAPRequestMessage" /> 00012 00013 <!-- base for every iap response --> 00014 <xs:complexType name="IAPResponseMessage" /> 00015 00016 <!-- IAP Root elements (requests) --> 00017 00018 <xs:element name="PurchaseVerificationRequest" type="PurchaseVerificationRequestType"></xs:element> 00019 <xs:element name="DeliveryNotificationRequest" type="DeliveryNotificationRequestType"></xs:element> 00020 00021 <xs:complexType name="PurchaseVerificationRequestType"> 00022 <xs:complexContent> 00023 <xs:extension base="IAPRequestMessage"> 00024 <xs:choice> 00025 <xs:element name="PurchaseTicket" type="TicketType" minOccurs="1" maxOccurs="1" /> 00026 <xs:element name="Binary" type="xs:base64Binary" minOccurs="1" maxOccurs="1" /> 00027 </xs:choice> 00028 </xs:extension> 00029 </xs:complexContent> 00030 </xs:complexType> 00031 00032 <xs:complexType name="DeliveryNotificationRequestType"> 00033 <xs:complexContent> 00034 <xs:extension base="IAPRequestMessage"> 00035 <xs:choice> 00036 <xs:element name="PurchaseTicket" type="TicketType" minOccurs="1" maxOccurs="1" /> 00037 <xs:element name="Binary" type="xs:base64Binary" minOccurs="1" maxOccurs="1" /> 00038 </xs:choice> 00039 </xs:extension> 00040 </xs:complexContent> 00041 </xs:complexType> 00042 00043 <!-- IAP Root elements (responses) --> 00044 00045 <xs:element name="PurchaseVerificationResponse" type="PurchaseVerificationResponseType"></xs:element> 00046 00047 <xs:complexType name="PurchaseVerificationResponseType"> 00048 <xs:complexContent> 00049 <xs:extension base="IAPResponseMessage"> 00050 <xs:attribute name="result" type="PurchaseVerificationResultType" use="required" /> 00051 </xs:extension> 00052 </xs:complexContent> 00053 </xs:complexType> 00054 00055 <xs:element name="PurchaseTicket" type="TicketType" /> 00056 00057 <xs:complexType name="TicketType"> 00058 <xs:all> 00059 <xs:element name="RestorationInformation" type="RestorationInformationType" minOccurs="0" maxOccurs="1" /> 00060 </xs:all> 00061 <xs:attribute name="transactionId" type="IdType" use="required" /> 00062 <xs:attribute name="transactionTime" type="xs:dateTime" use="required" /> 00063 <xs:attribute name="applicationId" type="IdType" use="required" /> 00064 <xs:attribute name="productId" type="IdType" use="required" /> 00065 <xs:attribute name="accountId" type="HashType" use="required" /> 00066 <xs:attribute name="imei" type="HashType" use="required" /> 00067 <xs:attribute name="imsi" type="HashType" use="required" /> 00068 <xs:attribute name="signature" type="SignatureType" use="required" /> 00069 </xs:complexType> 00070 00071 <xs:complexType name="RestorationInformationType"> 00072 <xs:all> 00073 <xs:element name="UserAndDeviceInformation" type="UserAndDeviceInformationType" minOccurs="1" maxOccurs="1" /> 00074 </xs:all> 00075 </xs:complexType> 00076 00077 <xs:complexType name="UserAndDeviceInformationType"> 00078 <xs:attribute name="accountId" type="HashType" use="required" /> 00079 <xs:attribute name="imei" type="HashType" use="required" /> 00080 <xs:attribute name="imsi" type="HashType" use="required" /> 00081 </xs:complexType> 00082 00083 <!-- IAP enumerations--> 00084 00085 <xs:simpleType name="PurchaseVerificationResultType"> 00086 <xs:restriction base="xs:string"> 00087 <xs:enumeration value="OK"></xs:enumeration> 00088 <xs:enumeration value="Failed"></xs:enumeration> 00089 <xs:enumeration value="Refunded"></xs:enumeration> 00090 <xs:enumeration value="InvalidPurchaseTicket"></xs:enumeration> 00091 </xs:restriction> 00092 </xs:simpleType> 00093 00094 00095 <!-- IAP attributes --> 00096 00097 <xs:simpleType name="IdType"> 00098 <xs:restriction base="xs:string"> 00099 <xs:minLength value="1"></xs:minLength> 00100 <xs:maxLength value="128"></xs:maxLength> 00101 </xs:restriction> 00102 </xs:simpleType> 00103 00104 <xs:simpleType name="HashType"> 00105 <xs:restriction base="xs:string"> 00106 <xs:minLength value="40"></xs:minLength> 00107 <xs:maxLength value="40"></xs:maxLength> 00108 </xs:restriction> 00109 </xs:simpleType> 00110 00111 <xs:simpleType name="SignatureType"> 00112 <xs:restriction base="xs:string"> 00113 <xs:minLength value="40"></xs:minLength> 00114 <xs:maxLength value="40"></xs:maxLength> 00115 </xs:restriction> 00116 </xs:simpleType> 00117 00118 </xs:schema>