processout 2.31.0 → 3.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/processout/card_shipping.rb +33 -0
- data/lib/processout/card_update_request.rb +0 -24
- data/lib/processout/export_layout.rb +337 -0
- data/lib/processout/export_layout_configuration.rb +132 -0
- data/lib/processout/export_layout_configuration_amount.rb +81 -0
- data/lib/processout/export_layout_configuration_column.rb +81 -0
- data/lib/processout/export_layout_configuration_configuration_options_amount.rb +81 -0
- data/lib/processout/export_layout_configuration_configuration_options_time.rb +70 -0
- data/lib/processout/export_layout_configuration_options.rb +144 -0
- data/lib/processout/export_layout_configuration_time.rb +70 -0
- data/lib/processout/external_three_ds.rb +136 -0
- data/lib/processout/invoice.rb +68 -6
- data/lib/processout/invoice_external_fraud_tools.rb +3 -0
- data/lib/processout/invoice_shipping.rb +33 -0
- data/lib/processout/networking/request.rb +1 -1
- data/lib/processout/project.rb +2 -1
- data/lib/processout/token.rb +7 -2
- data/lib/processout/transaction.rb +30 -0
- data/lib/processout/version.rb +1 -1
- data/lib/processout.rb +60 -12
- metadata +12 -4
- data/lib/processout/invoices_process_native_payment_response.rb +0 -105
@@ -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 ExportLayoutConfigurationColumn
|
10
|
+
|
11
|
+
attr_reader :name
|
12
|
+
attr_reader :rename
|
13
|
+
|
14
|
+
|
15
|
+
def name=(val)
|
16
|
+
@name = val
|
17
|
+
end
|
18
|
+
|
19
|
+
def rename=(val)
|
20
|
+
@rename = val
|
21
|
+
end
|
22
|
+
|
23
|
+
|
24
|
+
# Initializes the ExportLayoutConfigurationColumn 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.name = data.fetch(:name, nil)
|
32
|
+
self.rename = data.fetch(:rename, nil)
|
33
|
+
|
34
|
+
end
|
35
|
+
|
36
|
+
# Create a new ExportLayoutConfigurationColumn using the current client
|
37
|
+
def new(data = {})
|
38
|
+
ExportLayoutConfigurationColumn.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
|
+
"name": self.name,
|
45
|
+
"rename": self.rename,
|
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? "name"
|
57
|
+
self.name = data["name"]
|
58
|
+
end
|
59
|
+
if data.include? "rename"
|
60
|
+
self.rename = data["rename"]
|
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.name = data.fetch(:name, self.name)
|
74
|
+
self.rename = data.fetch(:rename, self.rename)
|
75
|
+
|
76
|
+
self
|
77
|
+
end
|
78
|
+
|
79
|
+
|
80
|
+
end
|
81
|
+
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 ExportLayoutConfigurationConfigurationOptionsAmount
|
10
|
+
|
11
|
+
attr_reader :precision
|
12
|
+
attr_reader :separator
|
13
|
+
|
14
|
+
|
15
|
+
def precision=(val)
|
16
|
+
@precision = val
|
17
|
+
end
|
18
|
+
|
19
|
+
def separator=(val)
|
20
|
+
@separator = val
|
21
|
+
end
|
22
|
+
|
23
|
+
|
24
|
+
# Initializes the ExportLayoutConfigurationConfigurationOptionsAmount 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.precision = data.fetch(:precision, nil)
|
32
|
+
self.separator = data.fetch(:separator, nil)
|
33
|
+
|
34
|
+
end
|
35
|
+
|
36
|
+
# Create a new ExportLayoutConfigurationConfigurationOptionsAmount using the current client
|
37
|
+
def new(data = {})
|
38
|
+
ExportLayoutConfigurationConfigurationOptionsAmount.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
|
+
"precision": self.precision,
|
45
|
+
"separator": self.separator,
|
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? "precision"
|
57
|
+
self.precision = data["precision"]
|
58
|
+
end
|
59
|
+
if data.include? "separator"
|
60
|
+
self.separator = data["separator"]
|
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.precision = data.fetch(:precision, self.precision)
|
74
|
+
self.separator = data.fetch(:separator, self.separator)
|
75
|
+
|
76
|
+
self
|
77
|
+
end
|
78
|
+
|
79
|
+
|
80
|
+
end
|
81
|
+
end
|
@@ -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 ExportLayoutConfigurationConfigurationOptionsTime
|
10
|
+
|
11
|
+
attr_reader :format
|
12
|
+
|
13
|
+
|
14
|
+
def format=(val)
|
15
|
+
@format = val
|
16
|
+
end
|
17
|
+
|
18
|
+
|
19
|
+
# Initializes the ExportLayoutConfigurationConfigurationOptionsTime 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.format = data.fetch(:format, nil)
|
27
|
+
|
28
|
+
end
|
29
|
+
|
30
|
+
# Create a new ExportLayoutConfigurationConfigurationOptionsTime using the current client
|
31
|
+
def new(data = {})
|
32
|
+
ExportLayoutConfigurationConfigurationOptionsTime.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
|
+
"format": self.format,
|
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? "format"
|
50
|
+
self.format = data["format"]
|
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.format = data.fetch(:format, self.format)
|
64
|
+
|
65
|
+
self
|
66
|
+
end
|
67
|
+
|
68
|
+
|
69
|
+
end
|
70
|
+
end
|
@@ -0,0 +1,144 @@
|
|
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 ExportLayoutConfigurationOptions
|
10
|
+
|
11
|
+
attr_reader :columns
|
12
|
+
attr_reader :time
|
13
|
+
attr_reader :amount
|
14
|
+
|
15
|
+
|
16
|
+
def columns=(val)
|
17
|
+
@columns = val
|
18
|
+
end
|
19
|
+
|
20
|
+
def time=(val)
|
21
|
+
if val.nil?
|
22
|
+
@time = val
|
23
|
+
return
|
24
|
+
end
|
25
|
+
|
26
|
+
if val.instance_of? ExportLayoutConfigurationConfigurationOptionsTime
|
27
|
+
@time = val
|
28
|
+
else
|
29
|
+
obj = ExportLayoutConfigurationConfigurationOptionsTime.new(@client)
|
30
|
+
obj.fill_with_data(val)
|
31
|
+
@time = obj
|
32
|
+
end
|
33
|
+
|
34
|
+
end
|
35
|
+
|
36
|
+
def amount=(val)
|
37
|
+
if val.nil?
|
38
|
+
@amount = val
|
39
|
+
return
|
40
|
+
end
|
41
|
+
|
42
|
+
if val.instance_of? ExportLayoutConfigurationConfigurationOptionsAmount
|
43
|
+
@amount = val
|
44
|
+
else
|
45
|
+
obj = ExportLayoutConfigurationConfigurationOptionsAmount.new(@client)
|
46
|
+
obj.fill_with_data(val)
|
47
|
+
@amount = obj
|
48
|
+
end
|
49
|
+
|
50
|
+
end
|
51
|
+
|
52
|
+
|
53
|
+
# Initializes the ExportLayoutConfigurationOptions object
|
54
|
+
# Params:
|
55
|
+
# +client+:: +ProcessOut+ client instance
|
56
|
+
# +data+:: data that can be used to fill the object
|
57
|
+
def initialize(client, data = {})
|
58
|
+
@client = client
|
59
|
+
|
60
|
+
self.columns = data.fetch(:columns, nil)
|
61
|
+
self.time = data.fetch(:time, nil)
|
62
|
+
self.amount = data.fetch(:amount, nil)
|
63
|
+
|
64
|
+
end
|
65
|
+
|
66
|
+
# Create a new ExportLayoutConfigurationOptions using the current client
|
67
|
+
def new(data = {})
|
68
|
+
ExportLayoutConfigurationOptions.new(@client, data)
|
69
|
+
end
|
70
|
+
|
71
|
+
# Overrides the JSON marshaller to only send the fields we want
|
72
|
+
def to_json(options)
|
73
|
+
{
|
74
|
+
"columns": self.columns,
|
75
|
+
"time": self.time,
|
76
|
+
"amount": self.amount,
|
77
|
+
}.to_json
|
78
|
+
end
|
79
|
+
|
80
|
+
# Fills the object with data coming from the API
|
81
|
+
# Params:
|
82
|
+
# +data+:: +Hash+ of data coming from the API
|
83
|
+
def fill_with_data(data)
|
84
|
+
if data.nil?
|
85
|
+
return self
|
86
|
+
end
|
87
|
+
if data.include? "columns"
|
88
|
+
self.columns = data["columns"]
|
89
|
+
end
|
90
|
+
if data.include? "time"
|
91
|
+
self.time = data["time"]
|
92
|
+
end
|
93
|
+
if data.include? "amount"
|
94
|
+
self.amount = data["amount"]
|
95
|
+
end
|
96
|
+
|
97
|
+
self
|
98
|
+
end
|
99
|
+
|
100
|
+
# Prefills the object with the data passed as parameters
|
101
|
+
# Params:
|
102
|
+
# +data+:: +Hash+ of data
|
103
|
+
def prefill(data)
|
104
|
+
if data.nil?
|
105
|
+
return self
|
106
|
+
end
|
107
|
+
self.columns = data.fetch(:columns, self.columns)
|
108
|
+
self.time = data.fetch(:time, self.time)
|
109
|
+
self.amount = data.fetch(:amount, self.amount)
|
110
|
+
|
111
|
+
self
|
112
|
+
end
|
113
|
+
|
114
|
+
# Fetch export layout configuration options.
|
115
|
+
# Params:
|
116
|
+
# +export_type+:: Export type
|
117
|
+
# +options+:: +Hash+ of options
|
118
|
+
def fetch(export_type, options = {})
|
119
|
+
self.prefill(options)
|
120
|
+
|
121
|
+
request = Request.new(@client)
|
122
|
+
path = "/exports/layouts/options/" + CGI.escape(export_type) + ""
|
123
|
+
data = {
|
124
|
+
|
125
|
+
}
|
126
|
+
|
127
|
+
response = Response.new(request.get(path, data, options))
|
128
|
+
return_values = Array.new
|
129
|
+
|
130
|
+
body = response.body
|
131
|
+
body = body["export_layout_configuration_options"]
|
132
|
+
|
133
|
+
|
134
|
+
obj = ExportLayoutConfigurationOptions.new(@client)
|
135
|
+
return_values.push(obj.fill_with_data(body))
|
136
|
+
|
137
|
+
|
138
|
+
|
139
|
+
return_values[0]
|
140
|
+
end
|
141
|
+
|
142
|
+
|
143
|
+
end
|
144
|
+
end
|
@@ -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 ExportLayoutConfigurationTime
|
10
|
+
|
11
|
+
attr_reader :format
|
12
|
+
|
13
|
+
|
14
|
+
def format=(val)
|
15
|
+
@format = val
|
16
|
+
end
|
17
|
+
|
18
|
+
|
19
|
+
# Initializes the ExportLayoutConfigurationTime 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.format = data.fetch(:format, nil)
|
27
|
+
|
28
|
+
end
|
29
|
+
|
30
|
+
# Create a new ExportLayoutConfigurationTime using the current client
|
31
|
+
def new(data = {})
|
32
|
+
ExportLayoutConfigurationTime.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
|
+
"format": self.format,
|
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? "format"
|
50
|
+
self.format = data["format"]
|
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.format = data.fetch(:format, self.format)
|
64
|
+
|
65
|
+
self
|
66
|
+
end
|
67
|
+
|
68
|
+
|
69
|
+
end
|
70
|
+
end
|
@@ -0,0 +1,136 @@
|
|
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 ExternalThreeDS
|
10
|
+
|
11
|
+
attr_reader :xid
|
12
|
+
attr_reader :trans_status
|
13
|
+
attr_reader :eci
|
14
|
+
attr_reader :cavv
|
15
|
+
attr_reader :ds_trans_id
|
16
|
+
attr_reader :version
|
17
|
+
attr_reader :authentication_flow
|
18
|
+
|
19
|
+
|
20
|
+
def xid=(val)
|
21
|
+
@xid = val
|
22
|
+
end
|
23
|
+
|
24
|
+
def trans_status=(val)
|
25
|
+
@trans_status = val
|
26
|
+
end
|
27
|
+
|
28
|
+
def eci=(val)
|
29
|
+
@eci = val
|
30
|
+
end
|
31
|
+
|
32
|
+
def cavv=(val)
|
33
|
+
@cavv = val
|
34
|
+
end
|
35
|
+
|
36
|
+
def ds_trans_id=(val)
|
37
|
+
@ds_trans_id = val
|
38
|
+
end
|
39
|
+
|
40
|
+
def version=(val)
|
41
|
+
@version = val
|
42
|
+
end
|
43
|
+
|
44
|
+
def authentication_flow=(val)
|
45
|
+
@authentication_flow = val
|
46
|
+
end
|
47
|
+
|
48
|
+
|
49
|
+
# Initializes the ExternalThreeDS object
|
50
|
+
# Params:
|
51
|
+
# +client+:: +ProcessOut+ client instance
|
52
|
+
# +data+:: data that can be used to fill the object
|
53
|
+
def initialize(client, data = {})
|
54
|
+
@client = client
|
55
|
+
|
56
|
+
self.xid = data.fetch(:xid, nil)
|
57
|
+
self.trans_status = data.fetch(:trans_status, nil)
|
58
|
+
self.eci = data.fetch(:eci, nil)
|
59
|
+
self.cavv = data.fetch(:cavv, nil)
|
60
|
+
self.ds_trans_id = data.fetch(:ds_trans_id, nil)
|
61
|
+
self.version = data.fetch(:version, nil)
|
62
|
+
self.authentication_flow = data.fetch(:authentication_flow, nil)
|
63
|
+
|
64
|
+
end
|
65
|
+
|
66
|
+
# Create a new ExternalThreeDS using the current client
|
67
|
+
def new(data = {})
|
68
|
+
ExternalThreeDS.new(@client, data)
|
69
|
+
end
|
70
|
+
|
71
|
+
# Overrides the JSON marshaller to only send the fields we want
|
72
|
+
def to_json(options)
|
73
|
+
{
|
74
|
+
"xid": self.xid,
|
75
|
+
"trans_status": self.trans_status,
|
76
|
+
"eci": self.eci,
|
77
|
+
"cavv": self.cavv,
|
78
|
+
"ds_trans_id": self.ds_trans_id,
|
79
|
+
"version": self.version,
|
80
|
+
"authentication_flow": self.authentication_flow,
|
81
|
+
}.to_json
|
82
|
+
end
|
83
|
+
|
84
|
+
# Fills the object with data coming from the API
|
85
|
+
# Params:
|
86
|
+
# +data+:: +Hash+ of data coming from the API
|
87
|
+
def fill_with_data(data)
|
88
|
+
if data.nil?
|
89
|
+
return self
|
90
|
+
end
|
91
|
+
if data.include? "xid"
|
92
|
+
self.xid = data["xid"]
|
93
|
+
end
|
94
|
+
if data.include? "trans_status"
|
95
|
+
self.trans_status = data["trans_status"]
|
96
|
+
end
|
97
|
+
if data.include? "eci"
|
98
|
+
self.eci = data["eci"]
|
99
|
+
end
|
100
|
+
if data.include? "cavv"
|
101
|
+
self.cavv = data["cavv"]
|
102
|
+
end
|
103
|
+
if data.include? "ds_trans_id"
|
104
|
+
self.ds_trans_id = data["ds_trans_id"]
|
105
|
+
end
|
106
|
+
if data.include? "version"
|
107
|
+
self.version = data["version"]
|
108
|
+
end
|
109
|
+
if data.include? "authentication_flow"
|
110
|
+
self.authentication_flow = data["authentication_flow"]
|
111
|
+
end
|
112
|
+
|
113
|
+
self
|
114
|
+
end
|
115
|
+
|
116
|
+
# Prefills the object with the data passed as parameters
|
117
|
+
# Params:
|
118
|
+
# +data+:: +Hash+ of data
|
119
|
+
def prefill(data)
|
120
|
+
if data.nil?
|
121
|
+
return self
|
122
|
+
end
|
123
|
+
self.xid = data.fetch(:xid, self.xid)
|
124
|
+
self.trans_status = data.fetch(:trans_status, self.trans_status)
|
125
|
+
self.eci = data.fetch(:eci, self.eci)
|
126
|
+
self.cavv = data.fetch(:cavv, self.cavv)
|
127
|
+
self.ds_trans_id = data.fetch(:ds_trans_id, self.ds_trans_id)
|
128
|
+
self.version = data.fetch(:version, self.version)
|
129
|
+
self.authentication_flow = data.fetch(:authentication_flow, self.authentication_flow)
|
130
|
+
|
131
|
+
self
|
132
|
+
end
|
133
|
+
|
134
|
+
|
135
|
+
end
|
136
|
+
end
|