processout 2.14.0 → 2.16.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/lib/processout/balance.rb +81 -0
- data/lib/processout/balances.rb +111 -0
- data/lib/processout/card.rb +43 -0
- data/lib/processout/customer.rb +28 -2
- data/lib/processout/event.rb +0 -31
- data/lib/processout/invoice.rb +123 -1
- data/lib/processout/invoice_device.rb +11 -0
- data/lib/processout/invoice_external_fraud_tools.rb +70 -0
- data/lib/processout/invoice_tax.rb +81 -0
- data/lib/processout/networking/request.rb +1 -1
- data/lib/processout/three_ds.rb +158 -0
- data/lib/processout/token.rb +70 -0
- data/lib/processout/transaction.rb +56 -0
- data/lib/processout/version.rb +1 -1
- data/lib/processout.rb +30 -0
- metadata +8 -4
@@ -0,0 +1,70 @@
|
|
1
|
+
# The content of this file was automatically generated
|
2
|
+
|
3
|
+
require "cgi"
|
4
|
+
require "json"
|
5
|
+
require "processout/networking/request"
|
6
|
+
require "processout/networking/response"
|
7
|
+
|
8
|
+
module ProcessOut
|
9
|
+
class InvoiceExternalFraudTools
|
10
|
+
|
11
|
+
attr_reader :forter
|
12
|
+
|
13
|
+
|
14
|
+
def forter=(val)
|
15
|
+
@forter = val
|
16
|
+
end
|
17
|
+
|
18
|
+
|
19
|
+
# Initializes the InvoiceExternalFraudTools object
|
20
|
+
# Params:
|
21
|
+
# +client+:: +ProcessOut+ client instance
|
22
|
+
# +data+:: data that can be used to fill the object
|
23
|
+
def initialize(client, data = {})
|
24
|
+
@client = client
|
25
|
+
|
26
|
+
self.forter = data.fetch(:forter, nil)
|
27
|
+
|
28
|
+
end
|
29
|
+
|
30
|
+
# Create a new InvoiceExternalFraudTools using the current client
|
31
|
+
def new(data = {})
|
32
|
+
InvoiceExternalFraudTools.new(@client, data)
|
33
|
+
end
|
34
|
+
|
35
|
+
# Overrides the JSON marshaller to only send the fields we want
|
36
|
+
def to_json(options)
|
37
|
+
{
|
38
|
+
"forter": self.forter,
|
39
|
+
}.to_json
|
40
|
+
end
|
41
|
+
|
42
|
+
# Fills the object with data coming from the API
|
43
|
+
# Params:
|
44
|
+
# +data+:: +Hash+ of data coming from the API
|
45
|
+
def fill_with_data(data)
|
46
|
+
if data.nil?
|
47
|
+
return self
|
48
|
+
end
|
49
|
+
if data.include? "forter"
|
50
|
+
self.forter = data["forter"]
|
51
|
+
end
|
52
|
+
|
53
|
+
self
|
54
|
+
end
|
55
|
+
|
56
|
+
# Prefills the object with the data passed as parameters
|
57
|
+
# Params:
|
58
|
+
# +data+:: +Hash+ of data
|
59
|
+
def prefill(data)
|
60
|
+
if data.nil?
|
61
|
+
return self
|
62
|
+
end
|
63
|
+
self.forter = data.fetch(:forter, self.forter)
|
64
|
+
|
65
|
+
self
|
66
|
+
end
|
67
|
+
|
68
|
+
|
69
|
+
end
|
70
|
+
end
|
@@ -0,0 +1,81 @@
|
|
1
|
+
# The content of this file was automatically generated
|
2
|
+
|
3
|
+
require "cgi"
|
4
|
+
require "json"
|
5
|
+
require "processout/networking/request"
|
6
|
+
require "processout/networking/response"
|
7
|
+
|
8
|
+
module ProcessOut
|
9
|
+
class InvoiceTax
|
10
|
+
|
11
|
+
attr_reader :amount
|
12
|
+
attr_reader :rate
|
13
|
+
|
14
|
+
|
15
|
+
def amount=(val)
|
16
|
+
@amount = val
|
17
|
+
end
|
18
|
+
|
19
|
+
def rate=(val)
|
20
|
+
@rate = val
|
21
|
+
end
|
22
|
+
|
23
|
+
|
24
|
+
# Initializes the InvoiceTax object
|
25
|
+
# Params:
|
26
|
+
# +client+:: +ProcessOut+ client instance
|
27
|
+
# +data+:: data that can be used to fill the object
|
28
|
+
def initialize(client, data = {})
|
29
|
+
@client = client
|
30
|
+
|
31
|
+
self.amount = data.fetch(:amount, nil)
|
32
|
+
self.rate = data.fetch(:rate, nil)
|
33
|
+
|
34
|
+
end
|
35
|
+
|
36
|
+
# Create a new InvoiceTax using the current client
|
37
|
+
def new(data = {})
|
38
|
+
InvoiceTax.new(@client, data)
|
39
|
+
end
|
40
|
+
|
41
|
+
# Overrides the JSON marshaller to only send the fields we want
|
42
|
+
def to_json(options)
|
43
|
+
{
|
44
|
+
"amount": self.amount,
|
45
|
+
"rate": self.rate,
|
46
|
+
}.to_json
|
47
|
+
end
|
48
|
+
|
49
|
+
# Fills the object with data coming from the API
|
50
|
+
# Params:
|
51
|
+
# +data+:: +Hash+ of data coming from the API
|
52
|
+
def fill_with_data(data)
|
53
|
+
if data.nil?
|
54
|
+
return self
|
55
|
+
end
|
56
|
+
if data.include? "amount"
|
57
|
+
self.amount = data["amount"]
|
58
|
+
end
|
59
|
+
if data.include? "rate"
|
60
|
+
self.rate = data["rate"]
|
61
|
+
end
|
62
|
+
|
63
|
+
self
|
64
|
+
end
|
65
|
+
|
66
|
+
# Prefills the object with the data passed as parameters
|
67
|
+
# Params:
|
68
|
+
# +data+:: +Hash+ of data
|
69
|
+
def prefill(data)
|
70
|
+
if data.nil?
|
71
|
+
return self
|
72
|
+
end
|
73
|
+
self.amount = data.fetch(:amount, self.amount)
|
74
|
+
self.rate = data.fetch(:rate, self.rate)
|
75
|
+
|
76
|
+
self
|
77
|
+
end
|
78
|
+
|
79
|
+
|
80
|
+
end
|
81
|
+
end
|
@@ -13,7 +13,7 @@ module ProcessOut
|
|
13
13
|
req.basic_auth @client.project_id, @client.project_secret
|
14
14
|
req.content_type = "application/json"
|
15
15
|
req["API-Version"] = "1.4.0.0"
|
16
|
-
req["User-Agent"] = "ProcessOut Ruby-Bindings/2.
|
16
|
+
req["User-Agent"] = "ProcessOut Ruby-Bindings/2.16.0"
|
17
17
|
|
18
18
|
unless options.nil?
|
19
19
|
req["Idempotency-Key"] = options.fetch(:idempotency_key, "")
|
@@ -0,0 +1,158 @@
|
|
1
|
+
# The content of this file was automatically generated
|
2
|
+
|
3
|
+
require "cgi"
|
4
|
+
require "json"
|
5
|
+
require "processout/networking/request"
|
6
|
+
require "processout/networking/response"
|
7
|
+
|
8
|
+
module ProcessOut
|
9
|
+
class ThreeDS
|
10
|
+
|
11
|
+
attr_reader :version
|
12
|
+
attr_reader :status
|
13
|
+
attr_reader :fingerprinted
|
14
|
+
attr_reader :challenged
|
15
|
+
attr_reader :ares_trans_status
|
16
|
+
attr_reader :cres_trans_status
|
17
|
+
attr_reader :ds_trans_id
|
18
|
+
attr_reader :fingerprint_completion_indicator
|
19
|
+
attr_reader :server_trans_id
|
20
|
+
|
21
|
+
|
22
|
+
def version=(val)
|
23
|
+
@version = val
|
24
|
+
end
|
25
|
+
|
26
|
+
def status=(val)
|
27
|
+
@status = val
|
28
|
+
end
|
29
|
+
|
30
|
+
def fingerprinted=(val)
|
31
|
+
@fingerprinted = val
|
32
|
+
end
|
33
|
+
|
34
|
+
def challenged=(val)
|
35
|
+
@challenged = val
|
36
|
+
end
|
37
|
+
|
38
|
+
def ares_trans_status=(val)
|
39
|
+
@ares_trans_status = val
|
40
|
+
end
|
41
|
+
|
42
|
+
def cres_trans_status=(val)
|
43
|
+
@cres_trans_status = val
|
44
|
+
end
|
45
|
+
|
46
|
+
def ds_trans_id=(val)
|
47
|
+
@ds_trans_id = val
|
48
|
+
end
|
49
|
+
|
50
|
+
def fingerprint_completion_indicator=(val)
|
51
|
+
@fingerprint_completion_indicator = val
|
52
|
+
end
|
53
|
+
|
54
|
+
def server_trans_id=(val)
|
55
|
+
@server_trans_id = val
|
56
|
+
end
|
57
|
+
|
58
|
+
|
59
|
+
# Initializes the ThreeDS object
|
60
|
+
# Params:
|
61
|
+
# +client+:: +ProcessOut+ client instance
|
62
|
+
# +data+:: data that can be used to fill the object
|
63
|
+
def initialize(client, data = {})
|
64
|
+
@client = client
|
65
|
+
|
66
|
+
self.version = data.fetch(:version, nil)
|
67
|
+
self.status = data.fetch(:status, nil)
|
68
|
+
self.fingerprinted = data.fetch(:fingerprinted, nil)
|
69
|
+
self.challenged = data.fetch(:challenged, nil)
|
70
|
+
self.ares_trans_status = data.fetch(:ares_trans_status, nil)
|
71
|
+
self.cres_trans_status = data.fetch(:cres_trans_status, nil)
|
72
|
+
self.ds_trans_id = data.fetch(:ds_trans_id, nil)
|
73
|
+
self.fingerprint_completion_indicator = data.fetch(:fingerprint_completion_indicator, nil)
|
74
|
+
self.server_trans_id = data.fetch(:server_trans_id, nil)
|
75
|
+
|
76
|
+
end
|
77
|
+
|
78
|
+
# Create a new ThreeDS using the current client
|
79
|
+
def new(data = {})
|
80
|
+
ThreeDS.new(@client, data)
|
81
|
+
end
|
82
|
+
|
83
|
+
# Overrides the JSON marshaller to only send the fields we want
|
84
|
+
def to_json(options)
|
85
|
+
{
|
86
|
+
"version": self.version,
|
87
|
+
"status": self.status,
|
88
|
+
"fingerprinted": self.fingerprinted,
|
89
|
+
"challenged": self.challenged,
|
90
|
+
"ares_trans_status": self.ares_trans_status,
|
91
|
+
"cres_trans_status": self.cres_trans_status,
|
92
|
+
"ds_trans_id": self.ds_trans_id,
|
93
|
+
"fingerprint_completion_indicator": self.fingerprint_completion_indicator,
|
94
|
+
"server_trans_id": self.server_trans_id,
|
95
|
+
}.to_json
|
96
|
+
end
|
97
|
+
|
98
|
+
# Fills the object with data coming from the API
|
99
|
+
# Params:
|
100
|
+
# +data+:: +Hash+ of data coming from the API
|
101
|
+
def fill_with_data(data)
|
102
|
+
if data.nil?
|
103
|
+
return self
|
104
|
+
end
|
105
|
+
if data.include? "version"
|
106
|
+
self.version = data["version"]
|
107
|
+
end
|
108
|
+
if data.include? "status"
|
109
|
+
self.status = data["status"]
|
110
|
+
end
|
111
|
+
if data.include? "fingerprinted"
|
112
|
+
self.fingerprinted = data["fingerprinted"]
|
113
|
+
end
|
114
|
+
if data.include? "challenged"
|
115
|
+
self.challenged = data["challenged"]
|
116
|
+
end
|
117
|
+
if data.include? "ares_trans_status"
|
118
|
+
self.ares_trans_status = data["ares_trans_status"]
|
119
|
+
end
|
120
|
+
if data.include? "cres_trans_status"
|
121
|
+
self.cres_trans_status = data["cres_trans_status"]
|
122
|
+
end
|
123
|
+
if data.include? "ds_trans_id"
|
124
|
+
self.ds_trans_id = data["ds_trans_id"]
|
125
|
+
end
|
126
|
+
if data.include? "fingerprint_completion_indicator"
|
127
|
+
self.fingerprint_completion_indicator = data["fingerprint_completion_indicator"]
|
128
|
+
end
|
129
|
+
if data.include? "server_trans_id"
|
130
|
+
self.server_trans_id = data["server_trans_id"]
|
131
|
+
end
|
132
|
+
|
133
|
+
self
|
134
|
+
end
|
135
|
+
|
136
|
+
# Prefills the object with the data passed as parameters
|
137
|
+
# Params:
|
138
|
+
# +data+:: +Hash+ of data
|
139
|
+
def prefill(data)
|
140
|
+
if data.nil?
|
141
|
+
return self
|
142
|
+
end
|
143
|
+
self.version = data.fetch(:version, self.version)
|
144
|
+
self.status = data.fetch(:status, self.status)
|
145
|
+
self.fingerprinted = data.fetch(:fingerprinted, self.fingerprinted)
|
146
|
+
self.challenged = data.fetch(:challenged, self.challenged)
|
147
|
+
self.ares_trans_status = data.fetch(:ares_trans_status, self.ares_trans_status)
|
148
|
+
self.cres_trans_status = data.fetch(:cres_trans_status, self.cres_trans_status)
|
149
|
+
self.ds_trans_id = data.fetch(:ds_trans_id, self.ds_trans_id)
|
150
|
+
self.fingerprint_completion_indicator = data.fetch(:fingerprint_completion_indicator, self.fingerprint_completion_indicator)
|
151
|
+
self.server_trans_id = data.fetch(:server_trans_id, self.server_trans_id)
|
152
|
+
|
153
|
+
self
|
154
|
+
end
|
155
|
+
|
156
|
+
|
157
|
+
end
|
158
|
+
end
|
data/lib/processout/token.rb
CHANGED
@@ -21,8 +21,13 @@ module ProcessOut
|
|
21
21
|
attr_reader :is_default
|
22
22
|
attr_reader :return_url
|
23
23
|
attr_reader :cancel_url
|
24
|
+
attr_reader :summary
|
24
25
|
attr_reader :is_chargeable
|
25
26
|
attr_reader :created_at
|
27
|
+
attr_reader :description
|
28
|
+
attr_reader :invoice
|
29
|
+
attr_reader :invoice_id
|
30
|
+
attr_reader :manual_invoice_cancellation
|
26
31
|
|
27
32
|
|
28
33
|
def id=(val)
|
@@ -113,6 +118,10 @@ module ProcessOut
|
|
113
118
|
@cancel_url = val
|
114
119
|
end
|
115
120
|
|
121
|
+
def summary=(val)
|
122
|
+
@summary = val
|
123
|
+
end
|
124
|
+
|
116
125
|
def is_chargeable=(val)
|
117
126
|
@is_chargeable = val
|
118
127
|
end
|
@@ -121,6 +130,34 @@ module ProcessOut
|
|
121
130
|
@created_at = val
|
122
131
|
end
|
123
132
|
|
133
|
+
def description=(val)
|
134
|
+
@description = val
|
135
|
+
end
|
136
|
+
|
137
|
+
def invoice=(val)
|
138
|
+
if val.nil?
|
139
|
+
@invoice = val
|
140
|
+
return
|
141
|
+
end
|
142
|
+
|
143
|
+
if val.instance_of? Invoice
|
144
|
+
@invoice = val
|
145
|
+
else
|
146
|
+
obj = Invoice.new(@client)
|
147
|
+
obj.fill_with_data(val)
|
148
|
+
@invoice = obj
|
149
|
+
end
|
150
|
+
|
151
|
+
end
|
152
|
+
|
153
|
+
def invoice_id=(val)
|
154
|
+
@invoice_id = val
|
155
|
+
end
|
156
|
+
|
157
|
+
def manual_invoice_cancellation=(val)
|
158
|
+
@manual_invoice_cancellation = val
|
159
|
+
end
|
160
|
+
|
124
161
|
|
125
162
|
# Initializes the Token object
|
126
163
|
# Params:
|
@@ -142,8 +179,13 @@ module ProcessOut
|
|
142
179
|
self.is_default = data.fetch(:is_default, nil)
|
143
180
|
self.return_url = data.fetch(:return_url, nil)
|
144
181
|
self.cancel_url = data.fetch(:cancel_url, nil)
|
182
|
+
self.summary = data.fetch(:summary, nil)
|
145
183
|
self.is_chargeable = data.fetch(:is_chargeable, nil)
|
146
184
|
self.created_at = data.fetch(:created_at, nil)
|
185
|
+
self.description = data.fetch(:description, nil)
|
186
|
+
self.invoice = data.fetch(:invoice, nil)
|
187
|
+
self.invoice_id = data.fetch(:invoice_id, nil)
|
188
|
+
self.manual_invoice_cancellation = data.fetch(:manual_invoice_cancellation, nil)
|
147
189
|
|
148
190
|
end
|
149
191
|
|
@@ -168,8 +210,13 @@ module ProcessOut
|
|
168
210
|
"is_default": self.is_default,
|
169
211
|
"return_url": self.return_url,
|
170
212
|
"cancel_url": self.cancel_url,
|
213
|
+
"summary": self.summary,
|
171
214
|
"is_chargeable": self.is_chargeable,
|
172
215
|
"created_at": self.created_at,
|
216
|
+
"description": self.description,
|
217
|
+
"invoice": self.invoice,
|
218
|
+
"invoice_id": self.invoice_id,
|
219
|
+
"manual_invoice_cancellation": self.manual_invoice_cancellation,
|
173
220
|
}.to_json
|
174
221
|
end
|
175
222
|
|
@@ -219,12 +266,27 @@ module ProcessOut
|
|
219
266
|
if data.include? "cancel_url"
|
220
267
|
self.cancel_url = data["cancel_url"]
|
221
268
|
end
|
269
|
+
if data.include? "summary"
|
270
|
+
self.summary = data["summary"]
|
271
|
+
end
|
222
272
|
if data.include? "is_chargeable"
|
223
273
|
self.is_chargeable = data["is_chargeable"]
|
224
274
|
end
|
225
275
|
if data.include? "created_at"
|
226
276
|
self.created_at = data["created_at"]
|
227
277
|
end
|
278
|
+
if data.include? "description"
|
279
|
+
self.description = data["description"]
|
280
|
+
end
|
281
|
+
if data.include? "invoice"
|
282
|
+
self.invoice = data["invoice"]
|
283
|
+
end
|
284
|
+
if data.include? "invoice_id"
|
285
|
+
self.invoice_id = data["invoice_id"]
|
286
|
+
end
|
287
|
+
if data.include? "manual_invoice_cancellation"
|
288
|
+
self.manual_invoice_cancellation = data["manual_invoice_cancellation"]
|
289
|
+
end
|
228
290
|
|
229
291
|
self
|
230
292
|
end
|
@@ -249,8 +311,13 @@ module ProcessOut
|
|
249
311
|
self.is_default = data.fetch(:is_default, self.is_default)
|
250
312
|
self.return_url = data.fetch(:return_url, self.return_url)
|
251
313
|
self.cancel_url = data.fetch(:cancel_url, self.cancel_url)
|
314
|
+
self.summary = data.fetch(:summary, self.summary)
|
252
315
|
self.is_chargeable = data.fetch(:is_chargeable, self.is_chargeable)
|
253
316
|
self.created_at = data.fetch(:created_at, self.created_at)
|
317
|
+
self.description = data.fetch(:description, self.description)
|
318
|
+
self.invoice = data.fetch(:invoice, self.invoice)
|
319
|
+
self.invoice_id = data.fetch(:invoice_id, self.invoice_id)
|
320
|
+
self.manual_invoice_cancellation = data.fetch(:manual_invoice_cancellation, self.manual_invoice_cancellation)
|
254
321
|
|
255
322
|
self
|
256
323
|
end
|
@@ -327,6 +394,9 @@ module ProcessOut
|
|
327
394
|
"metadata" => @metadata,
|
328
395
|
"return_url" => @return_url,
|
329
396
|
"cancel_url" => @cancel_url,
|
397
|
+
"description" => @description,
|
398
|
+
"invoice_id" => @invoice_id,
|
399
|
+
"manual_invoice_cancellation" => @manual_invoice_cancellation,
|
330
400
|
"source" => options.fetch(:source, nil),
|
331
401
|
"settings" => options.fetch(:settings, nil),
|
332
402
|
"device" => options.fetch(:device, nil),
|
@@ -38,6 +38,7 @@ module ProcessOut
|
|
38
38
|
attr_reader :available_amount_local
|
39
39
|
attr_reader :currency
|
40
40
|
attr_reader :error_code
|
41
|
+
attr_reader :error_message
|
41
42
|
attr_reader :gateway_name
|
42
43
|
attr_reader :three_d_s_status
|
43
44
|
attr_reader :status
|
@@ -58,6 +59,9 @@ module ProcessOut
|
|
58
59
|
attr_reader :created_at
|
59
60
|
attr_reader :chargedback_at
|
60
61
|
attr_reader :refunded_at
|
62
|
+
attr_reader :three_d_s
|
63
|
+
attr_reader :cvc_check
|
64
|
+
attr_reader :avs_check
|
61
65
|
|
62
66
|
|
63
67
|
def id=(val)
|
@@ -296,6 +300,10 @@ module ProcessOut
|
|
296
300
|
@error_code = val
|
297
301
|
end
|
298
302
|
|
303
|
+
def error_message=(val)
|
304
|
+
@error_message = val
|
305
|
+
end
|
306
|
+
|
299
307
|
def gateway_name=(val)
|
300
308
|
@gateway_name = val
|
301
309
|
end
|
@@ -376,6 +384,30 @@ module ProcessOut
|
|
376
384
|
@refunded_at = val
|
377
385
|
end
|
378
386
|
|
387
|
+
def three_d_s=(val)
|
388
|
+
if val.nil?
|
389
|
+
@three_d_s = val
|
390
|
+
return
|
391
|
+
end
|
392
|
+
|
393
|
+
if val.instance_of? ThreeDS
|
394
|
+
@three_d_s = val
|
395
|
+
else
|
396
|
+
obj = ThreeDS.new(@client)
|
397
|
+
obj.fill_with_data(val)
|
398
|
+
@three_d_s = obj
|
399
|
+
end
|
400
|
+
|
401
|
+
end
|
402
|
+
|
403
|
+
def cvc_check=(val)
|
404
|
+
@cvc_check = val
|
405
|
+
end
|
406
|
+
|
407
|
+
def avs_check=(val)
|
408
|
+
@avs_check = val
|
409
|
+
end
|
410
|
+
|
379
411
|
|
380
412
|
# Initializes the Transaction object
|
381
413
|
# Params:
|
@@ -414,6 +446,7 @@ module ProcessOut
|
|
414
446
|
self.available_amount_local = data.fetch(:available_amount_local, nil)
|
415
447
|
self.currency = data.fetch(:currency, nil)
|
416
448
|
self.error_code = data.fetch(:error_code, nil)
|
449
|
+
self.error_message = data.fetch(:error_message, nil)
|
417
450
|
self.gateway_name = data.fetch(:gateway_name, nil)
|
418
451
|
self.three_d_s_status = data.fetch(:three_d_s_status, nil)
|
419
452
|
self.status = data.fetch(:status, nil)
|
@@ -434,6 +467,9 @@ module ProcessOut
|
|
434
467
|
self.created_at = data.fetch(:created_at, nil)
|
435
468
|
self.chargedback_at = data.fetch(:chargedback_at, nil)
|
436
469
|
self.refunded_at = data.fetch(:refunded_at, nil)
|
470
|
+
self.three_d_s = data.fetch(:three_d_s, nil)
|
471
|
+
self.cvc_check = data.fetch(:cvc_check, nil)
|
472
|
+
self.avs_check = data.fetch(:avs_check, nil)
|
437
473
|
|
438
474
|
end
|
439
475
|
|
@@ -475,6 +511,7 @@ module ProcessOut
|
|
475
511
|
"available_amount_local": self.available_amount_local,
|
476
512
|
"currency": self.currency,
|
477
513
|
"error_code": self.error_code,
|
514
|
+
"error_message": self.error_message,
|
478
515
|
"gateway_name": self.gateway_name,
|
479
516
|
"three_d_s_status": self.three_d_s_status,
|
480
517
|
"status": self.status,
|
@@ -495,6 +532,9 @@ module ProcessOut
|
|
495
532
|
"created_at": self.created_at,
|
496
533
|
"chargedback_at": self.chargedback_at,
|
497
534
|
"refunded_at": self.refunded_at,
|
535
|
+
"three_d_s": self.three_d_s,
|
536
|
+
"cvc_check": self.cvc_check,
|
537
|
+
"avs_check": self.avs_check,
|
498
538
|
}.to_json
|
499
539
|
end
|
500
540
|
|
@@ -595,6 +635,9 @@ module ProcessOut
|
|
595
635
|
if data.include? "error_code"
|
596
636
|
self.error_code = data["error_code"]
|
597
637
|
end
|
638
|
+
if data.include? "error_message"
|
639
|
+
self.error_message = data["error_message"]
|
640
|
+
end
|
598
641
|
if data.include? "gateway_name"
|
599
642
|
self.gateway_name = data["gateway_name"]
|
600
643
|
end
|
@@ -655,6 +698,15 @@ module ProcessOut
|
|
655
698
|
if data.include? "refunded_at"
|
656
699
|
self.refunded_at = data["refunded_at"]
|
657
700
|
end
|
701
|
+
if data.include? "three_d_s"
|
702
|
+
self.three_d_s = data["three_d_s"]
|
703
|
+
end
|
704
|
+
if data.include? "cvc_check"
|
705
|
+
self.cvc_check = data["cvc_check"]
|
706
|
+
end
|
707
|
+
if data.include? "avs_check"
|
708
|
+
self.avs_check = data["avs_check"]
|
709
|
+
end
|
658
710
|
|
659
711
|
self
|
660
712
|
end
|
@@ -696,6 +748,7 @@ module ProcessOut
|
|
696
748
|
self.available_amount_local = data.fetch(:available_amount_local, self.available_amount_local)
|
697
749
|
self.currency = data.fetch(:currency, self.currency)
|
698
750
|
self.error_code = data.fetch(:error_code, self.error_code)
|
751
|
+
self.error_message = data.fetch(:error_message, self.error_message)
|
699
752
|
self.gateway_name = data.fetch(:gateway_name, self.gateway_name)
|
700
753
|
self.three_d_s_status = data.fetch(:three_d_s_status, self.three_d_s_status)
|
701
754
|
self.status = data.fetch(:status, self.status)
|
@@ -716,6 +769,9 @@ module ProcessOut
|
|
716
769
|
self.created_at = data.fetch(:created_at, self.created_at)
|
717
770
|
self.chargedback_at = data.fetch(:chargedback_at, self.chargedback_at)
|
718
771
|
self.refunded_at = data.fetch(:refunded_at, self.refunded_at)
|
772
|
+
self.three_d_s = data.fetch(:three_d_s, self.three_d_s)
|
773
|
+
self.cvc_check = data.fetch(:cvc_check, self.cvc_check)
|
774
|
+
self.avs_check = data.fetch(:avs_check, self.avs_check)
|
719
775
|
|
720
776
|
self
|
721
777
|
end
|
data/lib/processout/version.rb
CHANGED
data/lib/processout.rb
CHANGED
@@ -4,6 +4,8 @@ require "processout/activity"
|
|
4
4
|
require "processout/addon"
|
5
5
|
require "processout/api_request"
|
6
6
|
require "processout/api_version"
|
7
|
+
require "processout/balances"
|
8
|
+
require "processout/balance"
|
7
9
|
require "processout/card"
|
8
10
|
require "processout/card_information"
|
9
11
|
require "processout/coupon"
|
@@ -14,6 +16,8 @@ require "processout/event"
|
|
14
16
|
require "processout/gateway"
|
15
17
|
require "processout/gateway_configuration"
|
16
18
|
require "processout/invoice"
|
19
|
+
require "processout/invoice_tax"
|
20
|
+
require "processout/invoice_external_fraud_tools"
|
17
21
|
require "processout/invoice_risk"
|
18
22
|
require "processout/invoice_device"
|
19
23
|
require "processout/invoice_shipping"
|
@@ -28,6 +32,7 @@ require "processout/project"
|
|
28
32
|
require "processout/refund"
|
29
33
|
require "processout/subscription"
|
30
34
|
require "processout/transaction"
|
35
|
+
require "processout/three_ds"
|
31
36
|
require "processout/payment_data_three_ds_request"
|
32
37
|
require "processout/payment_data_network_authentication"
|
33
38
|
require "processout/payment_data_three_ds_authentication"
|
@@ -66,6 +71,16 @@ module ProcessOut
|
|
66
71
|
obj = APIVersion.new(self, data)
|
67
72
|
end
|
68
73
|
|
74
|
+
# Create a new Balances instance
|
75
|
+
def balances(data = {})
|
76
|
+
obj = Balances.new(self, data)
|
77
|
+
end
|
78
|
+
|
79
|
+
# Create a new Balance instance
|
80
|
+
def balance(data = {})
|
81
|
+
obj = Balance.new(self, data)
|
82
|
+
end
|
83
|
+
|
69
84
|
# Create a new Card instance
|
70
85
|
def card(data = {})
|
71
86
|
obj = Card.new(self, data)
|
@@ -116,6 +131,16 @@ module ProcessOut
|
|
116
131
|
obj = Invoice.new(self, data)
|
117
132
|
end
|
118
133
|
|
134
|
+
# Create a new InvoiceTax instance
|
135
|
+
def invoice_tax(data = {})
|
136
|
+
obj = InvoiceTax.new(self, data)
|
137
|
+
end
|
138
|
+
|
139
|
+
# Create a new InvoiceExternalFraudTools instance
|
140
|
+
def invoice_external_fraud_tools(data = {})
|
141
|
+
obj = InvoiceExternalFraudTools.new(self, data)
|
142
|
+
end
|
143
|
+
|
119
144
|
# Create a new InvoiceRisk instance
|
120
145
|
def invoice_risk(data = {})
|
121
146
|
obj = InvoiceRisk.new(self, data)
|
@@ -186,6 +211,11 @@ module ProcessOut
|
|
186
211
|
obj = Transaction.new(self, data)
|
187
212
|
end
|
188
213
|
|
214
|
+
# Create a new ThreeDS instance
|
215
|
+
def three_ds(data = {})
|
216
|
+
obj = ThreeDS.new(self, data)
|
217
|
+
end
|
218
|
+
|
189
219
|
# Create a new PaymentDataThreeDSRequest instance
|
190
220
|
def payment_data_three_ds_request(data = {})
|
191
221
|
obj = PaymentDataThreeDSRequest.new(self, data)
|