payzilla 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (52) hide show
  1. data/.gitignore +23 -0
  2. data/.rspec +1 -0
  3. data/Gemfile +4 -0
  4. data/LICENSE +23 -0
  5. data/README.md +82 -0
  6. data/Rakefile +4 -0
  7. data/init.rb +1 -0
  8. data/lib/encoding/converter.rb +5 -0
  9. data/lib/payzilla/config.rb +224 -0
  10. data/lib/payzilla/gateways/akado.rb +59 -0
  11. data/lib/payzilla/gateways/beeline.rb +205 -0
  12. data/lib/payzilla/gateways/cyberplat.rb +97 -0
  13. data/lib/payzilla/gateways/dummy.rb +72 -0
  14. data/lib/payzilla/gateways/gorod.rb +80 -0
  15. data/lib/payzilla/gateways/mailru.rb +56 -0
  16. data/lib/payzilla/gateways/matrix.rb +66 -0
  17. data/lib/payzilla/gateways/megafon.rb +120 -0
  18. data/lib/payzilla/gateways/mts.rb +200 -0
  19. data/lib/payzilla/gateways/osmp.rb +85 -0
  20. data/lib/payzilla/gateways/rapida.rb +127 -0
  21. data/lib/payzilla/gateways/skylink.rb +105 -0
  22. data/lib/payzilla/gateways/webmoney.rb +102 -0
  23. data/lib/payzilla/gateways/yamoney.rb +93 -0
  24. data/lib/payzilla/gateways/yota.rb +63 -0
  25. data/lib/payzilla/gateways.rb +173 -0
  26. data/lib/payzilla/payment.rb +161 -0
  27. data/lib/payzilla/revision.rb +18 -0
  28. data/lib/payzilla/transports/http.rb +62 -0
  29. data/lib/payzilla/utils/string_file.rb +14 -0
  30. data/lib/payzilla/version.rb +3 -0
  31. data/lib/payzilla.rb +19 -0
  32. data/lib/string.rb +12 -0
  33. data/payzilla.gemspec +33 -0
  34. data/schemas/.gitkeep +0 -0
  35. data/schemas/beeline.wsdl +538 -0
  36. data/spec/lib/payzilla/gateways/akado_spec.rb +31 -0
  37. data/spec/lib/payzilla/gateways/beeline_spec.rb +52 -0
  38. data/spec/lib/payzilla/gateways/cyberplat_spec.rb +44 -0
  39. data/spec/lib/payzilla/gateways/gorod_spec.rb +36 -0
  40. data/spec/lib/payzilla/gateways/mailru_spec.rb +24 -0
  41. data/spec/lib/payzilla/gateways/matrix_spec.rb +35 -0
  42. data/spec/lib/payzilla/gateways/megafon_spec.rb +45 -0
  43. data/spec/lib/payzilla/gateways/mts_spec.rb +55 -0
  44. data/spec/lib/payzilla/gateways/osmp_spec.rb +30 -0
  45. data/spec/lib/payzilla/gateways/rapida_spec.rb +48 -0
  46. data/spec/lib/payzilla/gateways/skylink_spec.rb +39 -0
  47. data/spec/lib/payzilla/gateways/webmoney_spec.rb +38 -0
  48. data/spec/lib/payzilla/gateways/yamoney_spec.rb +31 -0
  49. data/spec/lib/payzilla/gateways/yota_spec.rb +30 -0
  50. data/spec/spec_helper.rb +9 -0
  51. data/spec/support/config_stub.rb +7 -0
  52. metadata +236 -0
@@ -0,0 +1,538 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!-- $Revision: 1.2 $ -->
3
+ <wsdl:definitions xmlns="http://payment.beepayxp.jetinfosoft.ru" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:pt="http://payment.beepayxp.jetinfosoft.ru" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ns="http://schemas.xmlsoap.org/soap/encoding/" targetNamespace="http://payment.beepayxp.jetinfosoft.ru">
4
+ <wsdl:types>
5
+ <xs:schema targetNamespace="http://payment.beepayxp.jetinfosoft.ru" elementFormDefault="qualified">
6
+ <!-- <xs:import namespace="http://payment.beepayxp.jetinfosoft.ru" schemaLocation="PaymentTypes.xsd"/>
7
+ -->
8
+ <!-- Wrapping XMLSchema's dateTime type -->
9
+ <xs:simpleType name="dateTime">
10
+ <xs:restriction base="xs:string"/>
11
+ </xs:simpleType>
12
+ <!-- ID type, which reflects Oracle's number(20) type -->
13
+ <xs:simpleType name="id">
14
+ <xs:restriction base="xs:unsignedLong">
15
+ <xs:minInclusive value="0"/>
16
+ <xs:maxInclusive value="18446744073709551615"/>
17
+ </xs:restriction>
18
+ </xs:simpleType>
19
+ <!-- ID type, which reflects Oracle's number(6) type-->
20
+ <xs:simpleType name="shortId">
21
+ <xs:restriction base="xs:unsignedInt">
22
+ <xs:minInclusive value="0"/>
23
+ <xs:maxInclusive value="999999"/>
24
+ </xs:restriction>
25
+ </xs:simpleType>
26
+ <xs:simpleType name="phoneNumber">
27
+ <xs:restriction base="xs:string">
28
+ <xs:pattern value="[0-9]{10}"/>
29
+ <xs:length value="10" fixed="true"/>
30
+ </xs:restriction>
31
+ </xs:simpleType>
32
+ <xs:simpleType name="shortString">
33
+ <xs:restriction base="xs:string">
34
+ <xs:pattern value="[!-~]{1,20}"/>
35
+ </xs:restriction>
36
+ </xs:simpleType>
37
+ <xs:simpleType name="statusCode">
38
+ <xs:restriction base="xs:short">
39
+ <xs:minInclusive value="-999"/>
40
+ <xs:maxInclusive value="999"/>
41
+ </xs:restriction>
42
+ </xs:simpleType>
43
+ <xs:simpleType name="percentAmount">
44
+ <xs:restriction base="xs:unsignedInt">
45
+ <xs:minInclusive value="0"/>
46
+ <xs:maxInclusive value="999999"/>
47
+ </xs:restriction>
48
+ </xs:simpleType>
49
+ <xs:simpleType name="currencyAmount">
50
+ <xs:restriction base="xs:unsignedLong">
51
+ <xs:minInclusive value="0"/>
52
+ <xs:maxInclusive value="2147483647"/>
53
+ </xs:restriction>
54
+ </xs:simpleType>
55
+ <xs:simpleType name="currencyCode">
56
+ <xs:restriction base="xs:string">
57
+ <xs:length value="3" fixed="true"/>
58
+ <xs:enumeration value="RUR"/>
59
+ </xs:restriction>
60
+ </xs:simpleType>
61
+ <xs:complexType name="currency">
62
+ <xs:attribute name="amount" use="required" type="currencyAmount"/>
63
+ <xs:attribute name="code" use="required" type="currencyCode"/>
64
+ </xs:complexType>
65
+ <xs:complexType name="currencyWithOptionalCode">
66
+ <xs:attribute name="amount" use="required" type="currencyAmount"/>
67
+ <xs:attribute name="code" use="optional" type="currencyCode"/>
68
+ </xs:complexType>
69
+ <xs:simpleType name="errorCode">
70
+ <xs:restriction base="xs:short">
71
+ <xs:minInclusive value="-999"/>
72
+ <xs:maxInclusive value="999"/>
73
+ </xs:restriction>
74
+ </xs:simpleType>
75
+ <xs:complexType name="error">
76
+ <xs:attribute name="error" type="errorCode"/>
77
+ </xs:complexType>
78
+ <xs:complexType name="paymentRequest">
79
+ <xs:sequence>
80
+ <xs:element name="partnerId" type="shortId"/>
81
+ <xs:element name="subagentId" type="shortId" minOccurs="0"/>
82
+ <xs:element name="paymentPointId" type="shortString"/>
83
+ <xs:element name="rewardPercent" type="percentAmount" minOccurs="0"/>
84
+ <xs:element name="money" type="currency"/>
85
+ <xs:element name="phone" type="phoneNumber" minOccurs="0"/>
86
+ <xs:element name="paymentDestination" type="shortString" minOccurs="0"/>
87
+ <xs:element name="paymentDestinationType" type="shortId" minOccurs="0"/>
88
+ <xs:element name="discountCardNumber" type="xs:string" minOccurs="0"/>
89
+ <xs:element name="amountAll" type="currency" minOccurs="0"/>
90
+ </xs:sequence>
91
+ <xs:attribute name="paymentTime" use="required" type="dateTime"/>
92
+ <xs:attribute name="externalId" use="required" type="id"/>
93
+ </xs:complexType>
94
+ <xs:complexType name="registeredPayment">
95
+ <xs:sequence>
96
+ <xs:element name="partnerId" type="shortId"/>
97
+ <xs:element name="subagentId" type="shortId" minOccurs="0"/>
98
+ <xs:element name="paymentPointId" type="shortString"/>
99
+ <xs:element name="rewardPercent" type="percentAmount" minOccurs="0"/>
100
+ <xs:element name="money" type="currency"/>
101
+ <xs:element name="phone" type="phoneNumber" minOccurs="0"/>
102
+ <xs:element name="paymentDestination" type="shortString" minOccurs="0"/>
103
+ <xs:element name="paymentDestinationType" type="shortId" minOccurs="0"/>
104
+ <xs:element name="discountCardNumber" type="xs:string" minOccurs="0"/>
105
+ <xs:element name="amountAll" type="currency" minOccurs="0"/>
106
+ </xs:sequence>
107
+ <xs:attribute name="paymentTime" use="required" type="dateTime"/>
108
+ <xs:attribute name="externalId" use="required" type="id"/>
109
+ <xs:attribute name="registeredId" use="required" type="id"/>
110
+ </xs:complexType>
111
+ <xs:complexType name="registeredPaymentResponse">
112
+ <xs:sequence>
113
+ <xs:element name="partnerId" type="shortId"/>
114
+ <xs:element name="subagentId" type="shortId" minOccurs="0"/>
115
+ <xs:element name="paymentPointId" type="shortString"/>
116
+ <xs:element name="rewardPercent" type="percentAmount" minOccurs="0"/>
117
+ <xs:element name="money" type="currency"/>
118
+ <xs:element name="phone" type="phoneNumber" minOccurs="0"/>
119
+ <xs:element name="paymentDestination" type="shortString" minOccurs="0"/>
120
+ <xs:element name="paymentDestinationType" type="shortId" minOccurs="0"/>
121
+ <xs:element name="discountCardNumber" type="xs:string" minOccurs="0"/>
122
+ <xs:element name="amountAll" type="currencyWithOptionalCode" minOccurs="0"/>
123
+ </xs:sequence>
124
+ <xs:attribute name="paymentTime" use="required" type="dateTime"/>
125
+ <xs:attribute name="externalId" use="required" type="id"/>
126
+ <xs:attribute name="registeredId" use="required" type="id"/>
127
+ </xs:complexType>
128
+ <xs:complexType name="reconciliationPayment">
129
+ <xs:sequence>
130
+ <xs:element name="subagentId" type="shortId" minOccurs="0"/>
131
+ <xs:element name="paymentPointId" type="shortString"/>
132
+ <xs:element name="rewardPercent" type="percentAmount" minOccurs="0"/>
133
+ <xs:element name="money" type="currency"/>
134
+ <xs:element name="phone" type="phoneNumber" minOccurs="0"/>
135
+ <xs:element name="paymentDestination" type="shortString" minOccurs="0"/>
136
+ <xs:element name="paymentDestinationType" type="shortId" minOccurs="0"/>
137
+ <xs:element name="discountCardNumber" type="xs:string" minOccurs="0"/>
138
+ <xs:element name="amountAll" type="currency" minOccurs="0"/>
139
+ </xs:sequence>
140
+ <xs:attribute name="paymentTime" use="required" type="dateTime"/>
141
+ <xs:attribute name="externalId" use="required" type="id"/>
142
+ <xs:attribute name="registeredId" use="required" type="id"/>
143
+ </xs:complexType>
144
+ <xs:complexType name="paymentResponse">
145
+ <xs:choice>
146
+ <xs:element name="error" type="error"/>
147
+ <xs:element name="registeredPayment" type="registeredPaymentResponse"/>
148
+ </xs:choice>
149
+ </xs:complexType>
150
+ <xs:complexType name="reconciliationRequest">
151
+ <xs:sequence>
152
+ <xs:element name="partnerId" type="shortId"/>
153
+ <xs:element name="paymentsList" type="paymentsList"/>
154
+ </xs:sequence>
155
+ <xs:attribute name="startTime" type="dateTime" use="required"/>
156
+ <xs:attribute name="endTime" type="dateTime" use="required"/>
157
+ <xs:attribute name="operatorId" type="shortId" use="optional"/>
158
+ </xs:complexType>
159
+ <xs:complexType name="paymentsList">
160
+ <xs:sequence>
161
+ <xs:element name="reconciliationPayment" type="reconciliationPayment" minOccurs="1" maxOccurs="unbounded"/>
162
+ </xs:sequence>
163
+ </xs:complexType>
164
+ <xs:complexType name="reconciliationResponse">
165
+ <xs:choice>
166
+ <xs:element name="error" type="error"/>
167
+ <xs:element name="reconciliationId" type="id"/>
168
+ </xs:choice>
169
+ </xs:complexType>
170
+ <xs:complexType name="reconciliationStatusRequest">
171
+ <xs:sequence>
172
+ <xs:element name="partnerId" type="shortId"/>
173
+ <xs:element name="reconciliationId" type="id"/>
174
+ </xs:sequence>
175
+ </xs:complexType>
176
+ <xs:complexType name="reconciliationStatusResponse">
177
+ <xs:choice>
178
+ <xs:element name="error" type="error"/>
179
+ <xs:element name="statusesList" type="statusesList"/>
180
+ </xs:choice>
181
+ </xs:complexType>
182
+ <xs:complexType name="statusesList">
183
+ <xs:sequence>
184
+ <xs:element name="paymentStatus" type="paymentStatus" minOccurs="0" maxOccurs="unbounded"/>
185
+ </xs:sequence>
186
+ </xs:complexType>
187
+ <xs:complexType name="paymentStatus">
188
+ <xs:attribute name="paymentId" type="id"/>
189
+ <xs:attribute name="status" type="statusCode"/>
190
+ </xs:complexType>
191
+ <xs:complexType name="digitalSignature">
192
+ <xs:sequence>
193
+ <xs:element name="signature" type="xs:string"/>
194
+ </xs:sequence>
195
+ </xs:complexType>
196
+ <xs:complexType name="batchPayment">
197
+ <xs:sequence>
198
+ <xs:element name="subagentId" type="shortId" minOccurs="0"/>
199
+ <xs:element name="paymentPointId" type="shortString"/>
200
+ <xs:element name="rewardPercent" type="percentAmount" minOccurs="0"/>
201
+ <xs:element name="money" type="currency"/>
202
+ <xs:element name="phone" type="phoneNumber" minOccurs="0"/>
203
+ <xs:element name="paymentDestination" type="shortString" minOccurs="0"/>
204
+ <xs:element name="paymentDestinationType" type="shortId" minOccurs="0"/>
205
+ <xs:element name="discountCardNumber" type="xs:string" minOccurs="0"/>
206
+ <xs:element name="amountAll" type="currency" minOccurs="0"/>
207
+ </xs:sequence>
208
+ <xs:attribute name="paymentTime" use="required" type="dateTime"/>
209
+ <xs:attribute name="externalId" use="required" type="id"/>
210
+ </xs:complexType>
211
+ <xs:complexType name="batchPaymentList">
212
+ <xs:sequence>
213
+ <xs:element name="items" type="batchPayment" minOccurs="1" maxOccurs="unbounded"/>
214
+ </xs:sequence>
215
+ </xs:complexType>
216
+ <xs:complexType name="batchPaymentRequest">
217
+ <xs:sequence>
218
+ <xs:element name="partnerId" use="required" type="shortId"/>
219
+ <xs:element name="externalBatchId" use="required" type="id"/>
220
+ <xs:element name="batchPaymentList" type="batchPaymentList"/>
221
+ </xs:sequence>
222
+ </xs:complexType>
223
+ <xs:complexType name="batchPaymentResponse">
224
+ <xs:sequence>
225
+ <xs:element name="error" type="error"/>
226
+ </xs:sequence>
227
+ </xs:complexType>
228
+ <xs:complexType name="batchPaymentStatusRequest">
229
+ <xs:sequence>
230
+ <xs:element name="partnerId" type="shortId"/>
231
+ <xs:element name="externalBatchId" type="id"/>
232
+ </xs:sequence>
233
+ </xs:complexType>
234
+ <xs:complexType name="batchPD">
235
+ <xs:sequence>
236
+ <xs:element name="paymentId" type="id"/>
237
+ <xs:element name="paymentTime" type="dateTime"/>
238
+ </xs:sequence>
239
+ </xs:complexType>
240
+ <xs:complexType name="batchPI">
241
+ <xs:choice>
242
+ <xs:element name="error" type="error"/>
243
+ <xs:element name="batchPD" type="batchPD"/>
244
+ </xs:choice>
245
+ </xs:complexType>
246
+ <xs:complexType name="batchPIList">
247
+ <xs:sequence>
248
+ <xs:element name="items" type="batchPI" minOccurs="0" maxOccurs="unbounded"/>
249
+ </xs:sequence>
250
+ </xs:complexType>
251
+ <xs:complexType name="batchPaymentStatusResponse">
252
+ <xs:choice>
253
+ <xs:element name="batchPIList" type="batchPIList"/>
254
+ <xs:element name="error" type="error"/>
255
+ </xs:choice>
256
+ </xs:complexType>
257
+
258
+ <xs:complexType name="partnerCancelPayment">
259
+ <xs:sequence>
260
+ <xs:element name="partnerId" type="shortId"/>
261
+ </xs:sequence>
262
+ <xs:attribute name="paymentTime" use="required" type="dateTime"/>
263
+ <xs:attribute name="externalId" use="required" type="id"/>
264
+ <xs:attribute name="registeredId" use="required" type="id"/>
265
+ </xs:complexType>
266
+ <xs:complexType name="partnerCancelPaymentStatus">
267
+ <xs:sequence>
268
+ <xs:element name="partnerCancelPayment" type="partnerCancelPayment"/>
269
+ </xs:sequence>
270
+ <xs:attribute name="status" use="required" type="statusCode"/>
271
+ <xs:attribute name="reason" use="required" type="shortId"/>
272
+ </xs:complexType>
273
+ <xs:complexType name="partnerCancelPaymentRequest">
274
+ <xs:sequence>
275
+ <xs:element name="partnerId" type="shortId"/>
276
+ <xs:element name="money" type="currency"/>
277
+ <xs:element name="phone" type="phoneNumber" minOccurs="0"/>
278
+ <xs:element name="paymentDestination" type="shortString" minOccurs="0"/>
279
+ <xs:element name="paymentDestinationType" type="shortId" minOccurs="0"/>
280
+ </xs:sequence>
281
+ <xs:attribute name="paymentTime" use="required" type="dateTime"/>
282
+ <xs:attribute name="externalId" use="required" type="id"/>
283
+ <xs:attribute name="registeredId" use="required" type="id"/>
284
+ </xs:complexType>
285
+ <xs:complexType name="partnerCancelPaymentResponse">
286
+ <xs:choice>
287
+ <xs:element name="partnerCancelPaymentStatus" type="partnerCancelPaymentStatus"/>
288
+ <xs:element name="error" type="error"/>
289
+ </xs:choice>
290
+ </xs:complexType>
291
+ <xs:complexType name="partnerCancelPaymentStatusRequest">
292
+ <xs:sequence>
293
+ <xs:element name="partnerCancelPayment" type="partnerCancelPayment"/>
294
+ </xs:sequence>
295
+ </xs:complexType>
296
+ <xs:complexType name="partnerCancelPaymentStatusResponse">
297
+ <xs:choice>
298
+ <xs:element name="partnerCancelPaymentStatus" type="partnerCancelPaymentStatus"/>
299
+ <xs:element name="error" type="error"/>
300
+ </xs:choice>
301
+ </xs:complexType>
302
+
303
+
304
+ <xs:element name="immediatePaymentRequest" type="pt:paymentRequest"/>
305
+ <xs:element name="createPaymentRequest" type="pt:paymentRequest"/>
306
+ <xs:element name="paymentResponse" type="pt:paymentResponse"/>
307
+ <xs:element name="digitalSignature" type="pt:digitalSignature"/>
308
+ <xs:element name="registeredPayment" type="pt:registeredPayment"/>
309
+ <xs:element name="registeredPaymentResponse" type="pt:registeredPaymentResponse"/>
310
+ <xs:element name="reconciliationRequest" type="pt:reconciliationRequest"/>
311
+ <xs:element name="reconciliationResponse" type="pt:reconciliationResponse"/>
312
+ <xs:element name="reconciliationStatusRequest" type="pt:reconciliationStatusRequest"/>
313
+ <xs:element name="reconciliationStatusResponse" type="pt:reconciliationStatusResponse"/>
314
+ <xs:element name="batchPaymentRequest" type="pt:batchPaymentRequest"/>
315
+ <xs:element name="batchPaymentResponse" type="pt:batchPaymentResponse"/>
316
+ <xs:element name="batchPaymentStatusRequest" type="pt:batchPaymentStatusRequest"/>
317
+ <xs:element name="batchPaymentStatusResponse" type="pt:batchPaymentStatusResponse"/>
318
+
319
+ <xs:element name="partnerCancelPaymentRequest" type="pt:partnerCancelPaymentRequest"/>
320
+ <xs:element name="partnerCancelPaymentResponse" type="pt:partnerCancelPaymentResponse"/>
321
+ <xs:element name="partnerCancelPaymentStatusRequest" type="pt:partnerCancelPaymentStatusRequest"/>
322
+ <xs:element name="partnerCancelPaymentStatusResponse" type="pt:partnerCancelPaymentStatusResponse"/>
323
+
324
+ </xs:schema>
325
+ </wsdl:types>
326
+ <wsdl:message name="immediatePaymentRequest">
327
+ <wsdl:part name="request" element="immediatePaymentRequest"/>
328
+ <wsdl:part name="signature" element="digitalSignature"/>
329
+ </wsdl:message>
330
+ <wsdl:message name="immediatePaymentResponse">
331
+ <wsdl:part name="response" element="paymentResponse"/>
332
+ <wsdl:part name="signature" element="digitalSignature"/>
333
+ </wsdl:message>
334
+ <wsdl:message name="createPaymentRequest">
335
+ <wsdl:part name="request" element="createPaymentRequest"/>
336
+ <wsdl:part name="signature" element="digitalSignature"/>
337
+ </wsdl:message>
338
+ <wsdl:message name="createPaymentResponse">
339
+ <wsdl:part name="response" element="paymentResponse"/>
340
+ <wsdl:part name="signature" element="digitalSignature"/>
341
+ </wsdl:message>
342
+ <wsdl:message name="confirmPaymentRequest">
343
+ <wsdl:part name="request" element="registeredPayment"/>
344
+ <wsdl:part name="signature" element="digitalSignature"/>
345
+ </wsdl:message>
346
+ <wsdl:message name="confirmPaymentResponse">
347
+ <wsdl:part name="response" element="paymentResponse"/>
348
+ <wsdl:part name="signature" element="digitalSignature"/>
349
+ </wsdl:message>
350
+ <wsdl:message name="registerTransferRequest">
351
+ <wsdl:part name="request" element="reconciliationRequest"/>
352
+ <wsdl:part name="signature" element="digitalSignature"/>
353
+ </wsdl:message>
354
+ <wsdl:message name="registerTransferResponse">
355
+ <wsdl:part name="response" element="reconciliationResponse"/>
356
+ <wsdl:part name="signature" element="digitalSignature"/>
357
+ </wsdl:message>
358
+ <wsdl:message name="registerStatusRequest">
359
+ <wsdl:part name="request" element="reconciliationStatusRequest"/>
360
+ <wsdl:part name="signature" element="digitalSignature"/>
361
+ </wsdl:message>
362
+ <wsdl:message name="registerStatusResponse">
363
+ <wsdl:part name="response" element="reconciliationStatusResponse"/>
364
+ <wsdl:part name="signature" element="digitalSignature"/>
365
+ </wsdl:message>
366
+ <wsdl:message name="batchPaymentRequest">
367
+ <wsdl:part name="request" element="batchPaymentRequest"/>
368
+ <wsdl:part name="signature" element="digitalSignature"/>
369
+ </wsdl:message>
370
+ <wsdl:message name="batchPaymentResponse">
371
+ <wsdl:part name="response" element="batchPaymentResponse"/>
372
+ <wsdl:part name="signature" element="digitalSignature"/>
373
+ </wsdl:message>
374
+ <wsdl:message name="batchPaymentStatusRequest">
375
+ <wsdl:part name="request" element="batchPaymentStatusRequest"/>
376
+ <wsdl:part name="signature" element="digitalSignature"/>
377
+ </wsdl:message>
378
+ <wsdl:message name="batchPaymentStatusResponse">
379
+ <wsdl:part name="response" element="batchPaymentStatusResponse"/>
380
+ <wsdl:part name="signature" element="digitalSignature"/>
381
+ </wsdl:message>
382
+ <wsdl:message name="partnerCancelPaymentRequest">
383
+ <wsdl:part name="request" element="partnerCancelPaymentRequest"/>
384
+ <wsdl:part name="signature" element="digitalSignature"/>
385
+ </wsdl:message>
386
+ <wsdl:message name="partnerCancelPaymentResponse">
387
+ <wsdl:part name="response" element="partnerCancelPaymentResponse"/>
388
+ <wsdl:part name="signature" element="digitalSignature"/>
389
+ </wsdl:message>
390
+ <wsdl:message name="partnerCancelPaymentStatusRequest">
391
+ <wsdl:part name="request" element="partnerCancelPaymentStatusRequest"/>
392
+ <wsdl:part name="signature" element="digitalSignature"/>
393
+ </wsdl:message>
394
+ <wsdl:message name="partnerCancelPaymentStatusResponse">
395
+ <wsdl:part name="response" element="partnerCancelPaymentStatusResponse"/>
396
+ <wsdl:part name="signature" element="digitalSignature"/>
397
+ </wsdl:message>
398
+ <wsdl:portType name="PaymentGate">
399
+ <wsdl:operation name="immediatePayment">
400
+ <wsdl:input message="pt:immediatePaymentRequest"/>
401
+ <wsdl:output message="pt:immediatePaymentResponse"/>
402
+ </wsdl:operation>
403
+ <wsdl:operation name="createPayment">
404
+ <wsdl:input message="pt:createPaymentRequest"/>
405
+ <wsdl:output message="pt:createPaymentResponse"/>
406
+ </wsdl:operation>
407
+ <wsdl:operation name="confirmPayment">
408
+ <wsdl:input message="pt:confirmPaymentRequest"/>
409
+ <wsdl:output message="pt:confirmPaymentResponse"/>
410
+ </wsdl:operation>
411
+ <wsdl:operation name="registerTransfer">
412
+ <wsdl:input message="pt:registerTransferRequest"/>
413
+ <wsdl:output message="pt:registerTransferResponse"/>
414
+ </wsdl:operation>
415
+ <wsdl:operation name="registerStatus">
416
+ <wsdl:input message="pt:registerStatusRequest"/>
417
+ <wsdl:output message="pt:registerStatusResponse"/>
418
+ </wsdl:operation>
419
+ <wsdl:operation name="batchPayment">
420
+ <wsdl:input message="pt:batchPaymentRequest"/>
421
+ <wsdl:output message="pt:batchPaymentResponse"/>
422
+ </wsdl:operation>
423
+ <wsdl:operation name="batchPaymentStatus">
424
+ <wsdl:input message="pt:batchPaymentStatusRequest"/>
425
+ <wsdl:output message="pt:batchPaymentStatusResponse"/>
426
+ </wsdl:operation>
427
+ <wsdl:operation name="partnerCancelPayment">
428
+ <wsdl:input message="pt:partnerCancelPaymentRequest"/>
429
+ <wsdl:output message="pt:partnerCancelPaymentResponse"/>
430
+ </wsdl:operation>
431
+ <wsdl:operation name="partnerCancelPaymentStatus">
432
+ <wsdl:input message="pt:partnerCancelPaymentStatusRequest"/>
433
+ <wsdl:output message="pt:partnerCancelPaymentStatusResponse"/>
434
+ </wsdl:operation>
435
+ </wsdl:portType>
436
+ <wsdl:binding name="PaymentGateSoapBinding" type="PaymentGate">
437
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
438
+ <wsdl:operation name="immediatePayment">
439
+ <soap:operation soapAction="http://payment.beepayxp.jetinfosoft.ru/immediatePayment"/>
440
+ <wsdl:input>
441
+ <soap:header message="immediatePaymentRequest" part="signature" use="literal"/>
442
+ <soap:body parts="request" use="literal"/>
443
+ </wsdl:input>
444
+ <wsdl:output>
445
+ <soap:header message="immediatePaymentResponse" part="signature" use="literal"/>
446
+ <soap:body parts="response" use="literal"/>
447
+ </wsdl:output>
448
+ </wsdl:operation>
449
+ <wsdl:operation name="createPayment">
450
+ <soap:operation soapAction="http://payment.beepayxp.jetinfosoft.ru/createPayment"/>
451
+ <wsdl:input>
452
+ <soap:header message="createPaymentRequest" part="signature" use="literal"/>
453
+ <soap:body parts="request" use="literal"/>
454
+ </wsdl:input>
455
+ <wsdl:output>
456
+ <soap:header message="createPaymentResponse" part="signature" use="literal"/>
457
+ <soap:body parts="response" use="literal"/>
458
+ </wsdl:output>
459
+ </wsdl:operation>
460
+ <wsdl:operation name="confirmPayment">
461
+ <soap:operation soapAction="http://payment.beepayxp.jetinfosoft.ru/confirmPayment" style="document"/>
462
+ <wsdl:input>
463
+ <soap:header message="confirmPaymentRequest" part="signature" use="literal"/>
464
+ <soap:body parts="request" use="literal"/>
465
+ </wsdl:input>
466
+ <wsdl:output>
467
+ <soap:header message="confirmPaymentResponse" part="signature" use="literal"/>
468
+ <soap:body parts="response" use="literal"/>
469
+ </wsdl:output>
470
+ </wsdl:operation>
471
+ <wsdl:operation name="registerTransfer">
472
+ <soap:operation soapAction="http://payment.beepayxp.jetinfosoft.ru/registerTransfer"/>
473
+ <wsdl:input>
474
+ <soap:header message="registerTransferRequest" part="signature" use="literal"/>
475
+ <soap:body parts="request" use="literal"/>
476
+ </wsdl:input>
477
+ <wsdl:output>
478
+ <soap:header message="registerTransferResponse" part="signature" use="literal"/>
479
+ <soap:body parts="response" use="literal"/>
480
+ </wsdl:output>
481
+ </wsdl:operation>
482
+ <wsdl:operation name="registerStatus">
483
+ <soap:operation soapAction="http://payment.beepayxp.jetinfosoft.ru/registerStatus"/>
484
+ <wsdl:input>
485
+ <soap:header message="registerStatusRequest" part="signature" use="literal"/>
486
+ <soap:body parts="request" use="literal"/>
487
+ </wsdl:input>
488
+ <wsdl:output>
489
+ <soap:header message="registerStatusResponse" part="signature" use="literal"/>
490
+ <soap:body parts="response" use="literal"/>
491
+ </wsdl:output>
492
+ </wsdl:operation>
493
+ <wsdl:operation name="batchPayment">
494
+ <soap:operation soapAction="http://payment.beepayxp.jetinfosoft.ru/batchPayment"/>
495
+ <wsdl:input>
496
+ <soap:header message="batchPaymentRequest" part="signature" use="literal"/>
497
+ <soap:body parts="request" use="literal"/>
498
+ </wsdl:input>
499
+ <wsdl:output>
500
+ <soap:header message="batchPaymentResponse" part="signature" use="literal"/>
501
+ <soap:body parts="response" use="literal"/>
502
+ </wsdl:output>
503
+ </wsdl:operation>
504
+ <wsdl:operation name="batchPaymentStatus">
505
+ <soap:operation soapAction="http://payment.beepayxp.jetinfosoft.ru/batchPaymentStatus"/>
506
+ <wsdl:input>
507
+ <soap:header message="batchPaymentStatusRequest" part="signature" use="literal"/>
508
+ <soap:body parts="request" use="literal"/>
509
+ </wsdl:input>
510
+ <wsdl:output>
511
+ <soap:header message="batchPaymentStatusResponse" part="signature" use="literal"/>
512
+ <soap:body parts="response" use="literal"/>
513
+ </wsdl:output>
514
+ </wsdl:operation>
515
+ <wsdl:operation name="partnerCancelPayment">
516
+ <soap:operation soapAction="http://payment.beepayxp.jetinfosoft.ru/partnerCancelPayment"/>
517
+ <wsdl:input>
518
+ <soap:header message="partnerCancelPaymentRequest" part="signature" use="literal"/>
519
+ <soap:body parts="request" use="literal"/>
520
+ </wsdl:input>
521
+ <wsdl:output>
522
+ <soap:header message="partnerCancelPaymentResponse" part="signature" use="literal"/>
523
+ <soap:body parts="response" use="literal"/>
524
+ </wsdl:output>
525
+ </wsdl:operation>
526
+ <wsdl:operation name="partnerCancelPaymentStatus">
527
+ <soap:operation soapAction="http://payment.beepayxp.jetinfosoft.ru/partnerCancelPaymentStatus"/>
528
+ <wsdl:input>
529
+ <soap:header message="partnerCancelPaymentStatusRequest" part="signature" use="literal"/>
530
+ <soap:body parts="request" use="literal"/>
531
+ </wsdl:input>
532
+ <wsdl:output>
533
+ <soap:header message="partnerCancelPaymentStatusResponse" part="signature" use="literal"/>
534
+ <soap:body parts="response" use="literal"/>
535
+ </wsdl:output>
536
+ </wsdl:operation>
537
+ </wsdl:binding>
538
+ </wsdl:definitions>
@@ -0,0 +1,31 @@
1
+ require 'spec_helper'
2
+
3
+ describe Payzilla::Gateways::Akado do
4
+ before(:all) do
5
+ config = ConfigStub.new('akado')
6
+
7
+ config.setting_bank = "mkb_test"
8
+ config.setting_key_password = "12345"
9
+
10
+ config.attachment_cert = File.new('certificates/akado.pem')
11
+ config.attachment_key = File.new('certificates/akado.pem')
12
+ config.attachment_ca = File.new('certificates/akado.pem')
13
+
14
+ @transport = Payzilla::Gateways::Akado.new(config, './log/akado.log')
15
+
16
+ @payment = OpenStruct.new(
17
+ :account => "30000051",
18
+ :created_at => DateTime.now.strftime("%Y-%m-%d %H:%M:%S"),
19
+ :id => rand(1000),
20
+ :enrolled_amount => 100
21
+ )
22
+ end
23
+
24
+ it "checks" do
25
+ @transport.check(@payment)[:success].should == true
26
+ end
27
+
28
+ it "pays" do
29
+ @transport.pay(@payment)[:success].should == true
30
+ end
31
+ end
@@ -0,0 +1,52 @@
1
+ require 'spec_helper'
2
+
3
+ describe Payzilla::Gateways::Beeline do
4
+ before(:all) do
5
+ config = ConfigStub.new('beeline')
6
+
7
+ config.setting_partner_id = '939'
8
+ config.setting_payment_point_id = 'test'
9
+ config.setting_url = 'https://bpxptestpg.beeline.ru'
10
+
11
+ config.attachment_wsdl = File.new('schemas/beeline.wsdl')
12
+ config.attachment_cert = File.new('certificats/beeline.cer')
13
+
14
+ @transport = Payzilla::Gateways::Beeline.new(config, './log/beeline.log')
15
+
16
+ @date = DateTime.now - 1
17
+ @payments = %w(9031234567)
18
+
19
+ @payments = @payments.each_with_index.map do |x,i|
20
+ OpenStruct.new(
21
+ :id => Time.now.to_i+i,
22
+ :account => x,
23
+ :created_at => @date,
24
+ :enrolled_amount => 100,
25
+ :paid_amount => 100,
26
+ :discount_card => 1111222233334444,
27
+ :subagent_id => 1
28
+ )
29
+ end
30
+
31
+ @revision = OpenStruct.new(:id => 1, :payments => @payments, :date => @date)
32
+ end
33
+
34
+ it "checks" do
35
+ @transport.check(@payments.first)[:success].should == true
36
+ end
37
+
38
+ it "pays" do
39
+ @transport.pay(@payments.first)[:success].should == true
40
+ end
41
+
42
+ it "generates revision" do
43
+ data = @transport.generate_revision(@revision)[1]
44
+
45
+ data[:reconciliationRequest][:partnerId].should == '939'
46
+ end
47
+
48
+ it "revises" do
49
+ data = @transport.generate_revision(@revision)[1]
50
+ response = @transport.send_revision(data)[:success].should == true
51
+ end
52
+ end