gestpay 0.0.4 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 11e9be4abe3c16b6795457f871cd352232afb7b0
4
- data.tar.gz: 6d239b561ba96e715531993029e6ddefbf44d1f4
3
+ metadata.gz: fb27b1afa3e4602e5bb45770a79de304911a14df
4
+ data.tar.gz: d166a9e37898946195b3cd90a54fe64791762fbb
5
5
  SHA512:
6
- metadata.gz: 113d8ed0e5975f3934aca1aebd2944721943220ebed5c2b9e9dc985b15b2e586392692b9c4780a4716d0a30abf851def1ff1aaa38872a43f070a725d82bf182c
7
- data.tar.gz: 35fc6abde9d00079de65a3da09932f99c1949be82a3eb98c4c4f1839e1f90cd14092abf9e4d4f8e9c9df3cd495ca0be7a0705e55c35b701492f04d8351b64a47
6
+ metadata.gz: a4d86c07b2622095d59d3534af2f2f73e76700ac92a48c70bc71eb26fbfb345fa935cf2978dffe38bc39847ce5785d4c9e098c0b37d41f92ce217e9dfc2c9ce0
7
+ data.tar.gz: 2f704614a9cf2755fde3b66a9ff7e8102277d88b89dcca6c944053b1296e7962557c0dd76a0d1cc5b1af98245c7dc30f9dbc118005b79dfb96680fee2f95b12d
@@ -1,6 +1,5 @@
1
1
  language: ruby
2
2
  rvm:
3
- - "1.8.7"
4
3
  - "1.9.3"
5
4
  - "2.0.0"
6
5
  # uncomment this line if your project needs to run something other than `rake`:
data/README.md CHANGED
@@ -28,6 +28,7 @@ You can setup the gem in a Rails project using an initializer like this:
28
28
  Gestpay.setup do |config|
29
29
  config.account = 'GESPAY12345'
30
30
  config.environment = :test # default, change it to :production when ready
31
+ config.proxy = 'http://user:password@proxy-host:proxy-port' # OPTIONAL
31
32
  end
32
33
  ```
33
34
 
@@ -36,6 +37,7 @@ or using an export:
36
37
  ```shell
37
38
  export GESTPAY_ACCOUNT=GESPAY12345
38
39
  export GESTPAY_ENVIRONMENT=test
40
+ export GESTPAY_PROXY=http://user:password@proxy-host:proxy-port
39
41
  ```
40
42
 
41
43
  You then have two different classes: `Gestpay::Digest` will help with the Crypt/Decrypt web service, while `Gestpay::Gateway` with the server-to-server webservice operations.
@@ -51,3 +53,4 @@ You then have two different classes: `Gestpay::Digest` will help with the Crypt/
51
53
  ## Licence
52
54
 
53
55
  Released under the [MIT License](http://www.opensource.org/licenses/MIT). © 2013 [Momit S.r.l.](http://momit.it/)
56
+
@@ -14,12 +14,13 @@ module Gestpay
14
14
  'ITA' => '1'
15
15
  }
16
16
 
17
- attr_accessor :environment, :account, :currency, :language
17
+ attr_accessor :environment, :account, :currency, :language, :proxy
18
18
  def initialize
19
19
  @environment = ENV['GESTPAY_ENVIRONMENT'] || :test
20
20
  @account = ENV['GESTPAY_ACCOUNT']
21
21
  @currency = 'EUR'
22
22
  @language = 'ITA'
23
+ @proxy = ENV['GESTPAY_PROXY']
23
24
  end
24
25
 
25
26
  def currency_code
@@ -32,3 +33,4 @@ module Gestpay
32
33
 
33
34
  end
34
35
  end
36
+
@@ -16,7 +16,11 @@ module Gestpay
16
16
  def initialize
17
17
  # SOAP Client operations:
18
18
  # => [:encrypt, :decrypt]
19
- @client = Savon.client(:wsdl => URL[Gestpay.config.environment])
19
+ savon_options = {:wsdl => URL[Gestpay.config.environment]}
20
+ if Gestpay.config.proxy
21
+ savon_options.merge!({ :proxy=> URI.parse(Gestpay.config.proxy)})
22
+ end
23
+ @client = Savon.client(savon_options)
20
24
  end
21
25
 
22
26
  def soap_options(data)
@@ -16,16 +16,22 @@ module Gestpay
16
16
  def initialize
17
17
  # SOAP Client operations:
18
18
  # => [:call_refund_s2_s, :call_read_trx_s2_s, :call_pagam_s2_s, :call_delete_s2_s, :call_settle_s2_s, :call_verifycard_s2_s, :call_check_carta_s2_s, :call_renounce, :call_request_token_s2_s, :call_delete_token_s2_s]
19
- @client = Savon.client(:wsdl => URL[Gestpay.config.environment])
19
+ savon_options = {:wsdl => URL[Gestpay.config.environment]}
20
+ if Gestpay.config.proxy
21
+ savon_options.merge!({ :proxy=> URI.parse(Gestpay.config.proxy)})
22
+ end
23
+ @client = Savon.client(savon_options)
20
24
  end
21
25
 
22
- def soap_options(data)
26
+ def soap_options(data, options = [:shop_login, :uic_code, :language_id])
27
+ configuration_options = {
28
+ :shop_login => config.account,
29
+ :uic_code => config.currency_code,
30
+ :language_id => config.language_code
31
+ }
32
+
23
33
  {
24
- :message => {
25
- :shop_login => config.account,
26
- :uic_code => config.currency_code,
27
- :language_id => config.language_code
28
- }.merge(data)
34
+ :message => configuration_options.slice(*options).merge(data)
29
35
  }
30
36
  end
31
37
 
@@ -47,5 +53,27 @@ module Gestpay
47
53
  Result::TokenRequest.new(response_content)
48
54
  end
49
55
 
56
+ def settle(data)
57
+ data[:bank_trans_ID] ||= data.delete(:bank_trans_id)
58
+ data[:shop_trans_ID] ||= data.delete(:shop_trans_id)
59
+
60
+ data = Hash[data.select { |k, v| v.present? }]
61
+
62
+ response = @client.call(:call_settle_s2_s, soap_options(data, [:shop_login, :uic_code]))
63
+ response_content = response.body[:call_settle_s2_s_response][:call_settle_s2_s_result][:gest_pay_s2_s]
64
+ Result::Settle.new(response_content)
65
+ end
66
+
67
+ def delete(data)
68
+ data[:Bank_transaction_id] ||= data.delete(:bank_transaction_id)
69
+ data[:Shop_transaction_id] ||= data.delete(:shop_transaction_id)
70
+
71
+ data = Hash[data.select { |k, v| v.present? }]
72
+
73
+ response = @client.call(:call_delete_s2_s, soap_options(data, [:shop_login]))
74
+ response_content = response.body[:call_delete_s2_s_response][:call_delete_s2_s_result][:gest_pay_s2_s]
75
+ Result::Delete.new(response_content)
76
+ end
50
77
  end
51
78
  end
79
+
@@ -3,13 +3,22 @@ module Gestpay
3
3
 
4
4
  FALLBACK_URL = {
5
5
  :test => 'https://testecomm.sella.it/pagam/pagam.aspx',
6
- :production => 'https://ecomm.sella.it/pagam/pagam.aspx'
6
+ :production => 'https://ecomm.sella.it/pagam/pagam.aspx'
7
+ }
8
+
9
+ PAYMENT_3D_URL = {
10
+ :test => 'https://testecomm.sella.it/pagam/pagam3d.aspx',
11
+ :production => 'https://ecomm.sella.it/pagam/pagam3d.aspx'
7
12
  }
8
13
 
9
14
  def self.fallback_url
10
15
  FALLBACK_URL[Gestpay.config.environment]
11
16
  end
12
17
 
18
+ def self.payment_3d_url
19
+ PAYMENT_3D_URL[Gestpay.config.environment]
20
+ end
21
+
13
22
  end
14
23
  end
15
24
 
@@ -3,8 +3,11 @@ require "gestpay/result/decrypt"
3
3
  require "gestpay/result/encrypt"
4
4
  require "gestpay/result/payment"
5
5
  require "gestpay/result/token_request"
6
+ require "gestpay/result/settle"
7
+ require "gestpay/result/delete"
6
8
 
7
9
  module Gestpay
8
10
  module Result
9
11
  end
10
12
  end
13
+
@@ -0,0 +1,7 @@
1
+ module Gestpay
2
+ module Result
3
+ class Delete < Gestpay::Result::Base
4
+ end
5
+ end
6
+ end
7
+
@@ -0,0 +1,7 @@
1
+ module Gestpay
2
+ module Result
3
+ class Settle < Gestpay::Result::Base
4
+ end
5
+ end
6
+ end
7
+
@@ -1,3 +1,3 @@
1
1
  module Gestpay
2
- VERSION = "0.0.4"
2
+ VERSION = "0.1.0"
3
3
  end
@@ -0,0 +1,391 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://testecomm.sella.it/gestpay/gestpayws/WSs2s.asmx?WSDL
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - ! '*/*'
12
+ User-Agent:
13
+ - Ruby
14
+ response:
15
+ status:
16
+ code: 200
17
+ message: OK
18
+ headers:
19
+ Date:
20
+ - Fri, 04 Oct 2013 07:34:25 GMT
21
+ Server:
22
+ - Microsoft-IIS/6.0
23
+ P3p:
24
+ - CP="ALL IND"
25
+ X-Powered-By:
26
+ - ASP.NET
27
+ X-Aspnet-Version:
28
+ - 4.0.30319
29
+ Cache-Control:
30
+ - private, max-age=0
31
+ Content-Type:
32
+ - text/xml; charset=utf-8
33
+ Content-Length:
34
+ - '23531'
35
+ body:
36
+ encoding: US-ASCII
37
+ string: ! "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<wsdl:definitions xmlns:soap=\"http://schemas.xmlsoap.org/wsdl/soap/\"
38
+ xmlns:tm=\"http://microsoft.com/wsdl/mime/textMatching/\" xmlns:soapenc=\"http://schemas.xmlsoap.org/soap/encoding/\"
39
+ xmlns:mime=\"http://schemas.xmlsoap.org/wsdl/mime/\" xmlns:tns=\"https://ecomms2s.sella.it/\"
40
+ xmlns:s=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap12=\"http://schemas.xmlsoap.org/wsdl/soap12/\"
41
+ xmlns:http=\"http://schemas.xmlsoap.org/wsdl/http/\" targetNamespace=\"https://ecomms2s.sella.it/\"
42
+ xmlns:wsdl=\"http://schemas.xmlsoap.org/wsdl/\">\r\n <wsdl:types>\r\n <s:schema
43
+ elementFormDefault=\"qualified\" targetNamespace=\"https://ecomms2s.sella.it/\">\r\n
44
+ \ <s:element name=\"callRefundS2S\">\r\n <s:complexType>\r\n <s:sequence>\r\n
45
+ \ <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"shopLogin\"
46
+ type=\"s:string\" />\r\n <s:element minOccurs=\"0\" maxOccurs=\"1\"
47
+ name=\"uicCode\" type=\"s:string\" />\r\n <s:element minOccurs=\"0\"
48
+ maxOccurs=\"1\" name=\"amount\" type=\"s:string\" />\r\n <s:element
49
+ minOccurs=\"0\" maxOccurs=\"1\" name=\"shopTransactionId\" type=\"s:string\"
50
+ />\r\n <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"bankTransactionId\"
51
+ type=\"s:string\" />\r\n </s:sequence>\r\n </s:complexType>\r\n
52
+ \ </s:element>\r\n <s:element name=\"callRefundS2SResponse\">\r\n
53
+ \ <s:complexType>\r\n <s:sequence>\r\n <s:element
54
+ minOccurs=\"0\" maxOccurs=\"1\" name=\"callRefundS2SResult\">\r\n <s:complexType
55
+ mixed=\"true\">\r\n <s:sequence>\r\n <s:any
56
+ />\r\n </s:sequence>\r\n </s:complexType>\r\n
57
+ \ </s:element>\r\n </s:sequence>\r\n </s:complexType>\r\n
58
+ \ </s:element>\r\n <s:element name=\"callReadTrxS2S\">\r\n <s:complexType>\r\n
59
+ \ <s:sequence>\r\n <s:element minOccurs=\"0\" maxOccurs=\"1\"
60
+ name=\"shopLogin\" type=\"s:string\" />\r\n <s:element minOccurs=\"0\"
61
+ maxOccurs=\"1\" name=\"shopTransactionId\" type=\"s:string\" />\r\n <s:element
62
+ minOccurs=\"0\" maxOccurs=\"1\" name=\"bankTransactionId\" type=\"s:string\"
63
+ />\r\n </s:sequence>\r\n </s:complexType>\r\n </s:element>\r\n
64
+ \ <s:element name=\"callReadTrxS2SResponse\">\r\n <s:complexType>\r\n
65
+ \ <s:sequence>\r\n <s:element minOccurs=\"0\" maxOccurs=\"1\"
66
+ name=\"callReadTrxS2SResult\">\r\n <s:complexType mixed=\"true\">\r\n
67
+ \ <s:sequence>\r\n <s:any />\r\n </s:sequence>\r\n
68
+ \ </s:complexType>\r\n </s:element>\r\n </s:sequence>\r\n
69
+ \ </s:complexType>\r\n </s:element>\r\n <s:element name=\"callPagamS2S\">\r\n
70
+ \ <s:complexType>\r\n <s:sequence>\r\n <s:element
71
+ minOccurs=\"0\" maxOccurs=\"1\" name=\"shopLogin\" type=\"s:string\" />\r\n
72
+ \ <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"uicCode\" type=\"s:string\"
73
+ />\r\n <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"amount\"
74
+ type=\"s:string\" />\r\n <s:element minOccurs=\"0\" maxOccurs=\"1\"
75
+ name=\"shopTransactionId\" type=\"s:string\" />\r\n <s:element
76
+ minOccurs=\"0\" maxOccurs=\"1\" name=\"cardNumber\" type=\"s:string\" />\r\n
77
+ \ <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"expiryMonth\"
78
+ type=\"s:string\" />\r\n <s:element minOccurs=\"0\" maxOccurs=\"1\"
79
+ name=\"expiryYear\" type=\"s:string\" />\r\n <s:element minOccurs=\"0\"
80
+ maxOccurs=\"1\" name=\"buyerName\" type=\"s:string\" />\r\n <s:element
81
+ minOccurs=\"0\" maxOccurs=\"1\" name=\"buyerEmail\" type=\"s:string\" />\r\n
82
+ \ <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"languageId\"
83
+ type=\"s:string\" />\r\n <s:element minOccurs=\"0\" maxOccurs=\"1\"
84
+ name=\"cvv\" type=\"s:string\" />\r\n <s:element minOccurs=\"0\"
85
+ maxOccurs=\"1\" name=\"min\" type=\"s:string\" />\r\n <s:element
86
+ minOccurs=\"0\" maxOccurs=\"1\" name=\"transKey\" type=\"s:string\" />\r\n
87
+ \ <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"PARes\" type=\"s:string\"
88
+ />\r\n <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"customInfo\"
89
+ type=\"s:string\" />\r\n <s:element minOccurs=\"0\" maxOccurs=\"1\"
90
+ name=\"IDEA\" type=\"s:string\" />\r\n <s:element minOccurs=\"0\"
91
+ maxOccurs=\"1\" name=\"requestToken\" type=\"s:string\" />\r\n <s:element
92
+ minOccurs=\"0\" maxOccurs=\"1\" name=\"tokenValue\" type=\"s:string\" />\r\n
93
+ \ </s:sequence>\r\n </s:complexType>\r\n </s:element>\r\n
94
+ \ <s:element name=\"callPagamS2SResponse\">\r\n <s:complexType>\r\n
95
+ \ <s:sequence>\r\n <s:element minOccurs=\"0\" maxOccurs=\"1\"
96
+ name=\"callPagamS2SResult\">\r\n <s:complexType mixed=\"true\">\r\n
97
+ \ <s:sequence>\r\n <s:any />\r\n </s:sequence>\r\n
98
+ \ </s:complexType>\r\n </s:element>\r\n </s:sequence>\r\n
99
+ \ </s:complexType>\r\n </s:element>\r\n <s:element name=\"callDeleteS2S\">\r\n
100
+ \ <s:complexType>\r\n <s:sequence>\r\n <s:element
101
+ minOccurs=\"0\" maxOccurs=\"1\" name=\"shopLogin\" type=\"s:string\" />\r\n
102
+ \ <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"shopTransactionId\"
103
+ type=\"s:string\" />\r\n <s:element minOccurs=\"0\" maxOccurs=\"1\"
104
+ name=\"bankTransactionId\" type=\"s:string\" />\r\n </s:sequence>\r\n
105
+ \ </s:complexType>\r\n </s:element>\r\n <s:element name=\"callDeleteS2SResponse\">\r\n
106
+ \ <s:complexType>\r\n <s:sequence>\r\n <s:element
107
+ minOccurs=\"0\" maxOccurs=\"1\" name=\"callDeleteS2SResult\">\r\n <s:complexType
108
+ mixed=\"true\">\r\n <s:sequence>\r\n <s:any
109
+ />\r\n </s:sequence>\r\n </s:complexType>\r\n
110
+ \ </s:element>\r\n </s:sequence>\r\n </s:complexType>\r\n
111
+ \ </s:element>\r\n <s:element name=\"callSettleS2S\">\r\n <s:complexType>\r\n
112
+ \ <s:sequence>\r\n <s:element minOccurs=\"0\" maxOccurs=\"1\"
113
+ name=\"shopLogin\" type=\"s:string\" />\r\n <s:element minOccurs=\"0\"
114
+ maxOccurs=\"1\" name=\"uicCode\" type=\"s:string\" />\r\n <s:element
115
+ minOccurs=\"0\" maxOccurs=\"1\" name=\"amount\" type=\"s:string\" />\r\n <s:element
116
+ minOccurs=\"0\" maxOccurs=\"1\" name=\"shopTransID\" type=\"s:string\" />\r\n
117
+ \ <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"bankTransID\"
118
+ type=\"s:string\" />\r\n </s:sequence>\r\n </s:complexType>\r\n
119
+ \ </s:element>\r\n <s:element name=\"callSettleS2SResponse\">\r\n
120
+ \ <s:complexType>\r\n <s:sequence>\r\n <s:element
121
+ minOccurs=\"0\" maxOccurs=\"1\" name=\"callSettleS2SResult\">\r\n <s:complexType
122
+ mixed=\"true\">\r\n <s:sequence>\r\n <s:any
123
+ />\r\n </s:sequence>\r\n </s:complexType>\r\n
124
+ \ </s:element>\r\n </s:sequence>\r\n </s:complexType>\r\n
125
+ \ </s:element>\r\n <s:element name=\"callVerifycardS2S\">\r\n <s:complexType>\r\n
126
+ \ <s:sequence>\r\n <s:element minOccurs=\"0\" maxOccurs=\"1\"
127
+ name=\"shopLogin\" type=\"s:string\" />\r\n <s:element minOccurs=\"0\"
128
+ maxOccurs=\"1\" name=\"shopTransactionId\" type=\"s:string\" />\r\n <s:element
129
+ minOccurs=\"0\" maxOccurs=\"1\" name=\"cardNumber\" type=\"s:string\" />\r\n
130
+ \ <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"expMonth\" type=\"s:string\"
131
+ />\r\n <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"expYear\"
132
+ type=\"s:string\" />\r\n <s:element minOccurs=\"0\" maxOccurs=\"1\"
133
+ name=\"CVV2\" type=\"s:string\" />\r\n </s:sequence>\r\n </s:complexType>\r\n
134
+ \ </s:element>\r\n <s:element name=\"callVerifycardS2SResponse\">\r\n
135
+ \ <s:complexType>\r\n <s:sequence>\r\n <s:element
136
+ minOccurs=\"0\" maxOccurs=\"1\" name=\"callVerifycardS2SResult\">\r\n <s:complexType
137
+ mixed=\"true\">\r\n <s:sequence>\r\n <s:any
138
+ />\r\n </s:sequence>\r\n </s:complexType>\r\n
139
+ \ </s:element>\r\n </s:sequence>\r\n </s:complexType>\r\n
140
+ \ </s:element>\r\n <s:element name=\"callCheckCartaS2S\">\r\n <s:complexType>\r\n
141
+ \ <s:sequence>\r\n <s:element minOccurs=\"0\" maxOccurs=\"1\"
142
+ name=\"shopLogin\" type=\"s:string\" />\r\n <s:element minOccurs=\"0\"
143
+ maxOccurs=\"1\" name=\"shopTransactionId\" type=\"s:string\" />\r\n <s:element
144
+ minOccurs=\"0\" maxOccurs=\"1\" name=\"cardNumber\" type=\"s:string\" />\r\n
145
+ \ <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"expMonth\" type=\"s:string\"
146
+ />\r\n <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"expYear\"
147
+ type=\"s:string\" />\r\n <s:element minOccurs=\"0\" maxOccurs=\"1\"
148
+ name=\"CVV2\" type=\"s:string\" />\r\n <s:element minOccurs=\"0\"
149
+ maxOccurs=\"1\" name=\"withAuth\" type=\"s:string\" />\r\n </s:sequence>\r\n
150
+ \ </s:complexType>\r\n </s:element>\r\n <s:element name=\"callCheckCartaS2SResponse\">\r\n
151
+ \ <s:complexType>\r\n <s:sequence>\r\n <s:element
152
+ minOccurs=\"0\" maxOccurs=\"1\" name=\"callCheckCartaS2SResult\">\r\n <s:complexType
153
+ mixed=\"true\">\r\n <s:sequence>\r\n <s:any
154
+ />\r\n </s:sequence>\r\n </s:complexType>\r\n
155
+ \ </s:element>\r\n </s:sequence>\r\n </s:complexType>\r\n
156
+ \ </s:element>\r\n <s:element name=\"callRenounce\">\r\n <s:complexType
157
+ />\r\n </s:element>\r\n <s:element name=\"callRenounceResponse\">\r\n
158
+ \ <s:complexType>\r\n <s:sequence>\r\n <s:element
159
+ minOccurs=\"0\" maxOccurs=\"1\" name=\"callRenounceResult\">\r\n <s:complexType
160
+ mixed=\"true\">\r\n <s:sequence>\r\n <s:any
161
+ />\r\n </s:sequence>\r\n </s:complexType>\r\n
162
+ \ </s:element>\r\n </s:sequence>\r\n </s:complexType>\r\n
163
+ \ </s:element>\r\n <s:element name=\"CallRequestTokenS2S\">\r\n <s:complexType>\r\n
164
+ \ <s:sequence>\r\n <s:element minOccurs=\"0\" maxOccurs=\"1\"
165
+ name=\"shopLogin\" type=\"s:string\" />\r\n <s:element minOccurs=\"0\"
166
+ maxOccurs=\"1\" name=\"requestToken\" type=\"s:string\" />\r\n <s:element
167
+ minOccurs=\"0\" maxOccurs=\"1\" name=\"cardNumber\" type=\"s:string\" />\r\n
168
+ \ <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"expiryMonth\"
169
+ type=\"s:string\" />\r\n <s:element minOccurs=\"0\" maxOccurs=\"1\"
170
+ name=\"expiryYear\" type=\"s:string\" />\r\n <s:element minOccurs=\"0\"
171
+ maxOccurs=\"1\" name=\"cvv\" type=\"s:string\" />\r\n <s:element
172
+ minOccurs=\"0\" maxOccurs=\"1\" name=\"withAuth\" type=\"s:string\" />\r\n
173
+ \ </s:sequence>\r\n </s:complexType>\r\n </s:element>\r\n
174
+ \ <s:element name=\"CallRequestTokenS2SResponse\">\r\n <s:complexType>\r\n
175
+ \ <s:sequence>\r\n <s:element minOccurs=\"0\" maxOccurs=\"1\"
176
+ name=\"CallRequestTokenS2SResult\">\r\n <s:complexType mixed=\"true\">\r\n
177
+ \ <s:sequence>\r\n <s:any />\r\n </s:sequence>\r\n
178
+ \ </s:complexType>\r\n </s:element>\r\n </s:sequence>\r\n
179
+ \ </s:complexType>\r\n </s:element>\r\n <s:element name=\"callDeleteTokenS2S\">\r\n
180
+ \ <s:complexType>\r\n <s:sequence>\r\n <s:element
181
+ minOccurs=\"0\" maxOccurs=\"1\" name=\"tokenValue\" type=\"s:string\" />\r\n
182
+ \ <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"shopLogin\"
183
+ type=\"s:string\" />\r\n </s:sequence>\r\n </s:complexType>\r\n
184
+ \ </s:element>\r\n <s:element name=\"callDeleteTokenS2SResponse\">\r\n
185
+ \ <s:complexType>\r\n <s:sequence>\r\n <s:element
186
+ minOccurs=\"0\" maxOccurs=\"1\" name=\"callDeleteTokenS2SResult\">\r\n <s:complexType
187
+ mixed=\"true\">\r\n <s:sequence>\r\n <s:any
188
+ />\r\n </s:sequence>\r\n </s:complexType>\r\n
189
+ \ </s:element>\r\n </s:sequence>\r\n </s:complexType>\r\n
190
+ \ </s:element>\r\n </s:schema>\r\n </wsdl:types>\r\n <wsdl:message
191
+ name=\"callRefundS2SSoapIn\">\r\n <wsdl:part name=\"parameters\" element=\"tns:callRefundS2S\"
192
+ />\r\n </wsdl:message>\r\n <wsdl:message name=\"callRefundS2SSoapOut\">\r\n
193
+ \ <wsdl:part name=\"parameters\" element=\"tns:callRefundS2SResponse\" />\r\n
194
+ \ </wsdl:message>\r\n <wsdl:message name=\"callReadTrxS2SSoapIn\">\r\n <wsdl:part
195
+ name=\"parameters\" element=\"tns:callReadTrxS2S\" />\r\n </wsdl:message>\r\n
196
+ \ <wsdl:message name=\"callReadTrxS2SSoapOut\">\r\n <wsdl:part name=\"parameters\"
197
+ element=\"tns:callReadTrxS2SResponse\" />\r\n </wsdl:message>\r\n <wsdl:message
198
+ name=\"callPagamS2SSoapIn\">\r\n <wsdl:part name=\"parameters\" element=\"tns:callPagamS2S\"
199
+ />\r\n </wsdl:message>\r\n <wsdl:message name=\"callPagamS2SSoapOut\">\r\n
200
+ \ <wsdl:part name=\"parameters\" element=\"tns:callPagamS2SResponse\" />\r\n
201
+ \ </wsdl:message>\r\n <wsdl:message name=\"callDeleteS2SSoapIn\">\r\n <wsdl:part
202
+ name=\"parameters\" element=\"tns:callDeleteS2S\" />\r\n </wsdl:message>\r\n
203
+ \ <wsdl:message name=\"callDeleteS2SSoapOut\">\r\n <wsdl:part name=\"parameters\"
204
+ element=\"tns:callDeleteS2SResponse\" />\r\n </wsdl:message>\r\n <wsdl:message
205
+ name=\"callSettleS2SSoapIn\">\r\n <wsdl:part name=\"parameters\" element=\"tns:callSettleS2S\"
206
+ />\r\n </wsdl:message>\r\n <wsdl:message name=\"callSettleS2SSoapOut\">\r\n
207
+ \ <wsdl:part name=\"parameters\" element=\"tns:callSettleS2SResponse\" />\r\n
208
+ \ </wsdl:message>\r\n <wsdl:message name=\"callVerifycardS2SSoapIn\">\r\n
209
+ \ <wsdl:part name=\"parameters\" element=\"tns:callVerifycardS2S\" />\r\n
210
+ \ </wsdl:message>\r\n <wsdl:message name=\"callVerifycardS2SSoapOut\">\r\n
211
+ \ <wsdl:part name=\"parameters\" element=\"tns:callVerifycardS2SResponse\"
212
+ />\r\n </wsdl:message>\r\n <wsdl:message name=\"callCheckCartaS2SSoapIn\">\r\n
213
+ \ <wsdl:part name=\"parameters\" element=\"tns:callCheckCartaS2S\" />\r\n
214
+ \ </wsdl:message>\r\n <wsdl:message name=\"callCheckCartaS2SSoapOut\">\r\n
215
+ \ <wsdl:part name=\"parameters\" element=\"tns:callCheckCartaS2SResponse\"
216
+ />\r\n </wsdl:message>\r\n <wsdl:message name=\"callRenounceSoapIn\">\r\n
217
+ \ <wsdl:part name=\"parameters\" element=\"tns:callRenounce\" />\r\n </wsdl:message>\r\n
218
+ \ <wsdl:message name=\"callRenounceSoapOut\">\r\n <wsdl:part name=\"parameters\"
219
+ element=\"tns:callRenounceResponse\" />\r\n </wsdl:message>\r\n <wsdl:message
220
+ name=\"CallRequestTokenS2SSoapIn\">\r\n <wsdl:part name=\"parameters\"
221
+ element=\"tns:CallRequestTokenS2S\" />\r\n </wsdl:message>\r\n <wsdl:message
222
+ name=\"CallRequestTokenS2SSoapOut\">\r\n <wsdl:part name=\"parameters\"
223
+ element=\"tns:CallRequestTokenS2SResponse\" />\r\n </wsdl:message>\r\n <wsdl:message
224
+ name=\"callDeleteTokenS2SSoapIn\">\r\n <wsdl:part name=\"parameters\" element=\"tns:callDeleteTokenS2S\"
225
+ />\r\n </wsdl:message>\r\n <wsdl:message name=\"callDeleteTokenS2SSoapOut\">\r\n
226
+ \ <wsdl:part name=\"parameters\" element=\"tns:callDeleteTokenS2SResponse\"
227
+ />\r\n </wsdl:message>\r\n <wsdl:portType name=\"WSs2sSoap\">\r\n <wsdl:operation
228
+ name=\"callRefundS2S\">\r\n <wsdl:input message=\"tns:callRefundS2SSoapIn\"
229
+ />\r\n <wsdl:output message=\"tns:callRefundS2SSoapOut\" />\r\n </wsdl:operation>\r\n
230
+ \ <wsdl:operation name=\"callReadTrxS2S\">\r\n <wsdl:input message=\"tns:callReadTrxS2SSoapIn\"
231
+ />\r\n <wsdl:output message=\"tns:callReadTrxS2SSoapOut\" />\r\n </wsdl:operation>\r\n
232
+ \ <wsdl:operation name=\"callPagamS2S\">\r\n <wsdl:input message=\"tns:callPagamS2SSoapIn\"
233
+ />\r\n <wsdl:output message=\"tns:callPagamS2SSoapOut\" />\r\n </wsdl:operation>\r\n
234
+ \ <wsdl:operation name=\"callDeleteS2S\">\r\n <wsdl:input message=\"tns:callDeleteS2SSoapIn\"
235
+ />\r\n <wsdl:output message=\"tns:callDeleteS2SSoapOut\" />\r\n </wsdl:operation>\r\n
236
+ \ <wsdl:operation name=\"callSettleS2S\">\r\n <wsdl:input message=\"tns:callSettleS2SSoapIn\"
237
+ />\r\n <wsdl:output message=\"tns:callSettleS2SSoapOut\" />\r\n </wsdl:operation>\r\n
238
+ \ <wsdl:operation name=\"callVerifycardS2S\">\r\n <wsdl:input message=\"tns:callVerifycardS2SSoapIn\"
239
+ />\r\n <wsdl:output message=\"tns:callVerifycardS2SSoapOut\" />\r\n </wsdl:operation>\r\n
240
+ \ <wsdl:operation name=\"callCheckCartaS2S\">\r\n <wsdl:input message=\"tns:callCheckCartaS2SSoapIn\"
241
+ />\r\n <wsdl:output message=\"tns:callCheckCartaS2SSoapOut\" />\r\n </wsdl:operation>\r\n
242
+ \ <wsdl:operation name=\"callRenounce\">\r\n <wsdl:input message=\"tns:callRenounceSoapIn\"
243
+ />\r\n <wsdl:output message=\"tns:callRenounceSoapOut\" />\r\n </wsdl:operation>\r\n
244
+ \ <wsdl:operation name=\"CallRequestTokenS2S\">\r\n <wsdl:input message=\"tns:CallRequestTokenS2SSoapIn\"
245
+ />\r\n <wsdl:output message=\"tns:CallRequestTokenS2SSoapOut\" />\r\n
246
+ \ </wsdl:operation>\r\n <wsdl:operation name=\"callDeleteTokenS2S\">\r\n
247
+ \ <wsdl:input message=\"tns:callDeleteTokenS2SSoapIn\" />\r\n <wsdl:output
248
+ message=\"tns:callDeleteTokenS2SSoapOut\" />\r\n </wsdl:operation>\r\n
249
+ \ </wsdl:portType>\r\n <wsdl:binding name=\"WSs2sSoap\" type=\"tns:WSs2sSoap\">\r\n
250
+ \ <soap:binding transport=\"http://schemas.xmlsoap.org/soap/http\" />\r\n
251
+ \ <wsdl:operation name=\"callRefundS2S\">\r\n <soap:operation soapAction=\"https://ecomms2s.sella.it/callRefundS2S\"
252
+ style=\"document\" />\r\n <wsdl:input>\r\n <soap:body use=\"literal\"
253
+ />\r\n </wsdl:input>\r\n <wsdl:output>\r\n <soap:body use=\"literal\"
254
+ />\r\n </wsdl:output>\r\n </wsdl:operation>\r\n <wsdl:operation
255
+ name=\"callReadTrxS2S\">\r\n <soap:operation soapAction=\"https://ecomms2s.sella.it/callReadTrxS2S\"
256
+ style=\"document\" />\r\n <wsdl:input>\r\n <soap:body use=\"literal\"
257
+ />\r\n </wsdl:input>\r\n <wsdl:output>\r\n <soap:body use=\"literal\"
258
+ />\r\n </wsdl:output>\r\n </wsdl:operation>\r\n <wsdl:operation
259
+ name=\"callPagamS2S\">\r\n <soap:operation soapAction=\"https://ecomms2s.sella.it/callPagamS2S\"
260
+ style=\"document\" />\r\n <wsdl:input>\r\n <soap:body use=\"literal\"
261
+ />\r\n </wsdl:input>\r\n <wsdl:output>\r\n <soap:body use=\"literal\"
262
+ />\r\n </wsdl:output>\r\n </wsdl:operation>\r\n <wsdl:operation
263
+ name=\"callDeleteS2S\">\r\n <soap:operation soapAction=\"https://ecomms2s.sella.it/callDeleteS2S\"
264
+ style=\"document\" />\r\n <wsdl:input>\r\n <soap:body use=\"literal\"
265
+ />\r\n </wsdl:input>\r\n <wsdl:output>\r\n <soap:body use=\"literal\"
266
+ />\r\n </wsdl:output>\r\n </wsdl:operation>\r\n <wsdl:operation
267
+ name=\"callSettleS2S\">\r\n <soap:operation soapAction=\"https://ecomms2s.sella.it/callSettleS2S\"
268
+ style=\"document\" />\r\n <wsdl:input>\r\n <soap:body use=\"literal\"
269
+ />\r\n </wsdl:input>\r\n <wsdl:output>\r\n <soap:body use=\"literal\"
270
+ />\r\n </wsdl:output>\r\n </wsdl:operation>\r\n <wsdl:operation
271
+ name=\"callVerifycardS2S\">\r\n <soap:operation soapAction=\"https://ecomms2s.sella.it/callVerifycardS2S\"
272
+ style=\"document\" />\r\n <wsdl:input>\r\n <soap:body use=\"literal\"
273
+ />\r\n </wsdl:input>\r\n <wsdl:output>\r\n <soap:body use=\"literal\"
274
+ />\r\n </wsdl:output>\r\n </wsdl:operation>\r\n <wsdl:operation
275
+ name=\"callCheckCartaS2S\">\r\n <soap:operation soapAction=\"https://ecomms2s.sella.it/callCheckCartaS2S\"
276
+ style=\"document\" />\r\n <wsdl:input>\r\n <soap:body use=\"literal\"
277
+ />\r\n </wsdl:input>\r\n <wsdl:output>\r\n <soap:body use=\"literal\"
278
+ />\r\n </wsdl:output>\r\n </wsdl:operation>\r\n <wsdl:operation
279
+ name=\"callRenounce\">\r\n <soap:operation soapAction=\"https://ecomms2s.sella.it/callRenounce\"
280
+ style=\"document\" />\r\n <wsdl:input>\r\n <soap:body use=\"literal\"
281
+ />\r\n </wsdl:input>\r\n <wsdl:output>\r\n <soap:body use=\"literal\"
282
+ />\r\n </wsdl:output>\r\n </wsdl:operation>\r\n <wsdl:operation
283
+ name=\"CallRequestTokenS2S\">\r\n <soap:operation soapAction=\"https://ecomms2s.sella.it/CallRequestTokenS2S\"
284
+ style=\"document\" />\r\n <wsdl:input>\r\n <soap:body use=\"literal\"
285
+ />\r\n </wsdl:input>\r\n <wsdl:output>\r\n <soap:body use=\"literal\"
286
+ />\r\n </wsdl:output>\r\n </wsdl:operation>\r\n <wsdl:operation
287
+ name=\"callDeleteTokenS2S\">\r\n <soap:operation soapAction=\"https://ecomms2s.sella.it/callDeleteTokenS2S\"
288
+ style=\"document\" />\r\n <wsdl:input>\r\n <soap:body use=\"literal\"
289
+ />\r\n </wsdl:input>\r\n <wsdl:output>\r\n <soap:body use=\"literal\"
290
+ />\r\n </wsdl:output>\r\n </wsdl:operation>\r\n </wsdl:binding>\r\n
291
+ \ <wsdl:binding name=\"WSs2sSoap12\" type=\"tns:WSs2sSoap\">\r\n <soap12:binding
292
+ transport=\"http://schemas.xmlsoap.org/soap/http\" />\r\n <wsdl:operation
293
+ name=\"callRefundS2S\">\r\n <soap12:operation soapAction=\"https://ecomms2s.sella.it/callRefundS2S\"
294
+ style=\"document\" />\r\n <wsdl:input>\r\n <soap12:body use=\"literal\"
295
+ />\r\n </wsdl:input>\r\n <wsdl:output>\r\n <soap12:body use=\"literal\"
296
+ />\r\n </wsdl:output>\r\n </wsdl:operation>\r\n <wsdl:operation
297
+ name=\"callReadTrxS2S\">\r\n <soap12:operation soapAction=\"https://ecomms2s.sella.it/callReadTrxS2S\"
298
+ style=\"document\" />\r\n <wsdl:input>\r\n <soap12:body use=\"literal\"
299
+ />\r\n </wsdl:input>\r\n <wsdl:output>\r\n <soap12:body use=\"literal\"
300
+ />\r\n </wsdl:output>\r\n </wsdl:operation>\r\n <wsdl:operation
301
+ name=\"callPagamS2S\">\r\n <soap12:operation soapAction=\"https://ecomms2s.sella.it/callPagamS2S\"
302
+ style=\"document\" />\r\n <wsdl:input>\r\n <soap12:body use=\"literal\"
303
+ />\r\n </wsdl:input>\r\n <wsdl:output>\r\n <soap12:body use=\"literal\"
304
+ />\r\n </wsdl:output>\r\n </wsdl:operation>\r\n <wsdl:operation
305
+ name=\"callDeleteS2S\">\r\n <soap12:operation soapAction=\"https://ecomms2s.sella.it/callDeleteS2S\"
306
+ style=\"document\" />\r\n <wsdl:input>\r\n <soap12:body use=\"literal\"
307
+ />\r\n </wsdl:input>\r\n <wsdl:output>\r\n <soap12:body use=\"literal\"
308
+ />\r\n </wsdl:output>\r\n </wsdl:operation>\r\n <wsdl:operation
309
+ name=\"callSettleS2S\">\r\n <soap12:operation soapAction=\"https://ecomms2s.sella.it/callSettleS2S\"
310
+ style=\"document\" />\r\n <wsdl:input>\r\n <soap12:body use=\"literal\"
311
+ />\r\n </wsdl:input>\r\n <wsdl:output>\r\n <soap12:body use=\"literal\"
312
+ />\r\n </wsdl:output>\r\n </wsdl:operation>\r\n <wsdl:operation
313
+ name=\"callVerifycardS2S\">\r\n <soap12:operation soapAction=\"https://ecomms2s.sella.it/callVerifycardS2S\"
314
+ style=\"document\" />\r\n <wsdl:input>\r\n <soap12:body use=\"literal\"
315
+ />\r\n </wsdl:input>\r\n <wsdl:output>\r\n <soap12:body use=\"literal\"
316
+ />\r\n </wsdl:output>\r\n </wsdl:operation>\r\n <wsdl:operation
317
+ name=\"callCheckCartaS2S\">\r\n <soap12:operation soapAction=\"https://ecomms2s.sella.it/callCheckCartaS2S\"
318
+ style=\"document\" />\r\n <wsdl:input>\r\n <soap12:body use=\"literal\"
319
+ />\r\n </wsdl:input>\r\n <wsdl:output>\r\n <soap12:body use=\"literal\"
320
+ />\r\n </wsdl:output>\r\n </wsdl:operation>\r\n <wsdl:operation
321
+ name=\"callRenounce\">\r\n <soap12:operation soapAction=\"https://ecomms2s.sella.it/callRenounce\"
322
+ style=\"document\" />\r\n <wsdl:input>\r\n <soap12:body use=\"literal\"
323
+ />\r\n </wsdl:input>\r\n <wsdl:output>\r\n <soap12:body use=\"literal\"
324
+ />\r\n </wsdl:output>\r\n </wsdl:operation>\r\n <wsdl:operation
325
+ name=\"CallRequestTokenS2S\">\r\n <soap12:operation soapAction=\"https://ecomms2s.sella.it/CallRequestTokenS2S\"
326
+ style=\"document\" />\r\n <wsdl:input>\r\n <soap12:body use=\"literal\"
327
+ />\r\n </wsdl:input>\r\n <wsdl:output>\r\n <soap12:body use=\"literal\"
328
+ />\r\n </wsdl:output>\r\n </wsdl:operation>\r\n <wsdl:operation
329
+ name=\"callDeleteTokenS2S\">\r\n <soap12:operation soapAction=\"https://ecomms2s.sella.it/callDeleteTokenS2S\"
330
+ style=\"document\" />\r\n <wsdl:input>\r\n <soap12:body use=\"literal\"
331
+ />\r\n </wsdl:input>\r\n <wsdl:output>\r\n <soap12:body use=\"literal\"
332
+ />\r\n </wsdl:output>\r\n </wsdl:operation>\r\n </wsdl:binding>\r\n
333
+ \ <wsdl:service name=\"WSs2s\">\r\n <wsdl:port name=\"WSs2sSoap\" binding=\"tns:WSs2sSoap\">\r\n
334
+ \ <soap:address location=\"https://testecomm.sella.it/gestpay/gestpayws/WSs2s.asmx\"
335
+ />\r\n </wsdl:port>\r\n <wsdl:port name=\"WSs2sSoap12\" binding=\"tns:WSs2sSoap12\">\r\n
336
+ \ <soap12:address location=\"https://testecomm.sella.it/gestpay/gestpayws/WSs2s.asmx\"
337
+ />\r\n </wsdl:port>\r\n </wsdl:service>\r\n</wsdl:definitions>"
338
+ http_version:
339
+ recorded_at: Fri, 04 Oct 2013 07:34:25 GMT
340
+ - request:
341
+ method: post
342
+ uri: https://testecomm.sella.it/gestpay/gestpayws/WSs2s.asmx
343
+ body:
344
+ encoding: US-ASCII
345
+ string: <?xml version="1.0" encoding="UTF-8"?><env:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema"
346
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tns="https://ecomms2s.sella.it/"
347
+ xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"><env:Body><tns:callDeleteS2S><tns:shopLogin>GESPAY12345</tns:shopLogin><tns:bankTransactionId>7</tns:bankTransactionId></tns:callDeleteS2S></env:Body></env:Envelope>
348
+ headers:
349
+ Soapaction:
350
+ - ! '"https://ecomms2s.sella.it/callDeleteS2S"'
351
+ Content-Type:
352
+ - text/xml;charset=UTF-8
353
+ Content-Length:
354
+ - '409'
355
+ Accept:
356
+ - ! '*/*'
357
+ User-Agent:
358
+ - Ruby
359
+ response:
360
+ status:
361
+ code: 200
362
+ message: OK
363
+ headers:
364
+ Date:
365
+ - Fri, 04 Oct 2013 07:34:26 GMT
366
+ Server:
367
+ - Microsoft-IIS/6.0
368
+ P3p:
369
+ - CP="ALL IND"
370
+ X-Powered-By:
371
+ - ASP.NET
372
+ X-Aspnet-Version:
373
+ - 4.0.30319
374
+ Set-Cookie:
375
+ - ASP.NET_SessionId=2pxrenmw0s1bsjrqwrqqzxfc; path=/; HttpOnly
376
+ Cache-Control:
377
+ - private, max-age=0
378
+ Content-Type:
379
+ - text/xml; charset=utf-8
380
+ Content-Length:
381
+ - '658'
382
+ body:
383
+ encoding: US-ASCII
384
+ string: <?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
385
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><callDeleteS2SResponse
386
+ xmlns="https://ecomms2s.sella.it/"><callDeleteS2SResult><GestPayS2S xmlns=""><TransactionType>Delete</TransactionType><TransactionResult>KO</TransactionResult><ShopTransactionID></ShopTransactionID><BankTransactionID>7</BankTransactionID><ErrorCode>2017</ErrorCode><ErrorDescription>Transazione
387
+ non cancellabile</ErrorDescription></GestPayS2S></callDeleteS2SResult></callDeleteS2SResponse></soap:Body></soap:Envelope>
388
+ http_version:
389
+ recorded_at: Fri, 04 Oct 2013 07:34:26 GMT
390
+ recorded_with: VCR 2.5.0
391
+