frame_payments 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,125 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Frame
4
+ class Customer < APIResource
5
+ extend Frame::APIOperations::Create
6
+ extend Frame::APIOperations::List
7
+ include Frame::APIOperations::Delete
8
+ include Frame::APIOperations::Save
9
+
10
+ OBJECT_NAME = "customer"
11
+
12
+ def self.object_name
13
+ OBJECT_NAME
14
+ end
15
+
16
+ def self.create(params = {}, opts = {})
17
+ request_object(
18
+ :post,
19
+ "/v1/customers",
20
+ params,
21
+ opts
22
+ )
23
+ end
24
+
25
+ def self.list(params = {}, opts = {})
26
+ request_object(
27
+ :get,
28
+ "/v1/customers",
29
+ params,
30
+ opts
31
+ )
32
+ end
33
+
34
+ def self.retrieve(id, opts = {})
35
+ id = Util.normalize_id(id)
36
+ request_object(
37
+ :get,
38
+ "/v1/customers/#{CGI.escape(id)}",
39
+ {},
40
+ opts
41
+ )
42
+ end
43
+
44
+ def self.search(params = {}, opts = {})
45
+ request_object(
46
+ :get,
47
+ "/v1/customers/search",
48
+ params,
49
+ opts
50
+ )
51
+ end
52
+
53
+ def self.delete(id, params = {}, opts = {})
54
+ request_object(
55
+ :delete,
56
+ "/v1/customers/#{CGI.escape(id)}",
57
+ params,
58
+ opts
59
+ )
60
+ end
61
+
62
+ def block(params = {}, opts = {})
63
+ request_object(
64
+ :post,
65
+ "/v1/customers/#{CGI.escape(self["id"])}/block",
66
+ params,
67
+ opts
68
+ )
69
+ end
70
+
71
+ def self.block(id, params = {}, opts = {})
72
+ request_object(
73
+ :post,
74
+ "/v1/customers/#{CGI.escape(id)}/block",
75
+ params,
76
+ opts
77
+ )
78
+ end
79
+
80
+ def unblock(params = {}, opts = {})
81
+ request_object(
82
+ :post,
83
+ "/v1/customers/#{CGI.escape(self["id"])}/unblock",
84
+ params,
85
+ opts
86
+ )
87
+ end
88
+
89
+ def self.unblock(id, params = {}, opts = {})
90
+ request_object(
91
+ :post,
92
+ "/v1/customers/#{CGI.escape(id)}/unblock",
93
+ params,
94
+ opts
95
+ )
96
+ end
97
+
98
+ def save(params = {}, opts = {})
99
+ values = serialize_params(self).merge(params)
100
+
101
+ if values.empty?
102
+ return self
103
+ end
104
+
105
+ updated = request_object(
106
+ :patch,
107
+ "/v1/customers/#{CGI.escape(self["id"])}",
108
+ values,
109
+ opts
110
+ )
111
+
112
+ initialize_from(updated)
113
+ self
114
+ end
115
+
116
+ def delete(params = {}, opts = {})
117
+ request_object(
118
+ :delete,
119
+ "/v1/customers/#{CGI.escape(self["id"])}",
120
+ params,
121
+ opts
122
+ )
123
+ end
124
+ end
125
+ end
@@ -0,0 +1,60 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Frame
4
+ class CustomerIdentityVerification < APIResource
5
+ extend Frame::APIOperations::Create
6
+ extend Frame::APIOperations::List
7
+
8
+ OBJECT_NAME = "customer_identity_verification"
9
+
10
+ def self.object_name
11
+ OBJECT_NAME
12
+ end
13
+
14
+ def self.create(params = {}, opts = {})
15
+ request_object(
16
+ :post,
17
+ "/v1/customer_identity_verifications",
18
+ params,
19
+ opts
20
+ )
21
+ end
22
+
23
+ def self.list(params = {}, opts = {})
24
+ request_object(
25
+ :get,
26
+ "/v1/customer_identity_verifications",
27
+ params,
28
+ opts
29
+ )
30
+ end
31
+
32
+ def self.retrieve(id, opts = {})
33
+ id = Util.normalize_id(id)
34
+ request_object(
35
+ :get,
36
+ "/v1/customer_identity_verifications/#{CGI.escape(id)}",
37
+ {},
38
+ opts
39
+ )
40
+ end
41
+
42
+ def verify(params = {}, opts = {})
43
+ request_object(
44
+ :post,
45
+ "/v1/customer_identity_verifications/#{CGI.escape(self["id"])}/verify",
46
+ params,
47
+ opts
48
+ )
49
+ end
50
+
51
+ def self.verify(id, params = {}, opts = {})
52
+ request_object(
53
+ :post,
54
+ "/v1/customer_identity_verifications/#{CGI.escape(id)}/verify",
55
+ params,
56
+ opts
57
+ )
58
+ end
59
+ end
60
+ end
@@ -0,0 +1,134 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Frame
4
+ class Invoice < APIResource
5
+ extend Frame::APIOperations::Create
6
+ extend Frame::APIOperations::List
7
+ include Frame::APIOperations::Delete
8
+ include Frame::APIOperations::Save
9
+
10
+ OBJECT_NAME = "invoice"
11
+
12
+ def self.object_name
13
+ OBJECT_NAME
14
+ end
15
+
16
+ def self.create(params = {}, opts = {})
17
+ request_object(
18
+ :post,
19
+ "/v1/invoices",
20
+ params,
21
+ opts
22
+ )
23
+ end
24
+
25
+ def self.list(params = {}, opts = {})
26
+ request_object(
27
+ :get,
28
+ "/v1/invoices",
29
+ params,
30
+ opts
31
+ )
32
+ end
33
+
34
+ def self.retrieve(id, opts = {})
35
+ id = Util.normalize_id(id)
36
+ request_object(
37
+ :get,
38
+ "/v1/invoices/#{CGI.escape(id)}",
39
+ {},
40
+ opts
41
+ )
42
+ end
43
+
44
+ def self.delete(id, params = {}, opts = {})
45
+ request_object(
46
+ :delete,
47
+ "/v1/invoices/#{CGI.escape(id)}",
48
+ params,
49
+ opts
50
+ )
51
+ end
52
+
53
+ def save(params = {}, opts = {})
54
+ values = serialize_params(self).merge(params)
55
+
56
+ if values.empty?
57
+ return self
58
+ end
59
+
60
+ updated = request_object(
61
+ :patch,
62
+ "/v1/invoices/#{CGI.escape(self["id"])}",
63
+ values,
64
+ opts
65
+ )
66
+
67
+ initialize_from(updated)
68
+ self
69
+ end
70
+
71
+ def delete(params = {}, opts = {})
72
+ request_object(
73
+ :delete,
74
+ "/v1/invoices/#{CGI.escape(self["id"])}",
75
+ params,
76
+ opts
77
+ )
78
+ end
79
+
80
+ def finalize(params = {}, opts = {})
81
+ request_object(
82
+ :post,
83
+ "/v1/invoices/#{CGI.escape(self["id"])}/finalize",
84
+ params,
85
+ opts
86
+ )
87
+ end
88
+
89
+ def self.finalize(id, params = {}, opts = {})
90
+ request_object(
91
+ :post,
92
+ "/v1/invoices/#{CGI.escape(id)}/finalize",
93
+ params,
94
+ opts
95
+ )
96
+ end
97
+
98
+ def pay(params = {}, opts = {})
99
+ request_object(
100
+ :post,
101
+ "/v1/invoices/#{CGI.escape(self["id"])}/pay",
102
+ params,
103
+ opts
104
+ )
105
+ end
106
+
107
+ def self.pay(id, params = {}, opts = {})
108
+ request_object(
109
+ :post,
110
+ "/v1/invoices/#{CGI.escape(id)}/pay",
111
+ params,
112
+ opts
113
+ )
114
+ end
115
+
116
+ def void(params = {}, opts = {})
117
+ request_object(
118
+ :post,
119
+ "/v1/invoices/#{CGI.escape(self["id"])}/void",
120
+ params,
121
+ opts
122
+ )
123
+ end
124
+
125
+ def self.void(id, params = {}, opts = {})
126
+ request_object(
127
+ :post,
128
+ "/v1/invoices/#{CGI.escape(id)}/void",
129
+ params,
130
+ opts
131
+ )
132
+ end
133
+ end
134
+ end
@@ -0,0 +1,80 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Frame
4
+ class InvoiceLineItem < APIResource
5
+ extend Frame::APIOperations::Create
6
+ extend Frame::APIOperations::List
7
+ include Frame::APIOperations::Delete
8
+ include Frame::APIOperations::Save
9
+
10
+ OBJECT_NAME = "invoice_line_item"
11
+
12
+ def self.object_name
13
+ OBJECT_NAME
14
+ end
15
+
16
+ def self.create(params = {}, opts = {})
17
+ request_object(
18
+ :post,
19
+ "/v1/invoice_line_items",
20
+ params,
21
+ opts
22
+ )
23
+ end
24
+
25
+ def self.list(params = {}, opts = {})
26
+ request_object(
27
+ :get,
28
+ "/v1/invoice_line_items",
29
+ params,
30
+ opts
31
+ )
32
+ end
33
+
34
+ def self.retrieve(id, opts = {})
35
+ id = Util.normalize_id(id)
36
+ request_object(
37
+ :get,
38
+ "/v1/invoice_line_items/#{CGI.escape(id)}",
39
+ {},
40
+ opts
41
+ )
42
+ end
43
+
44
+ def self.delete(id, params = {}, opts = {})
45
+ request_object(
46
+ :delete,
47
+ "/v1/invoice_line_items/#{CGI.escape(id)}",
48
+ params,
49
+ opts
50
+ )
51
+ end
52
+
53
+ def save(params = {}, opts = {})
54
+ values = serialize_params(self).merge(params)
55
+
56
+ if values.empty?
57
+ return self
58
+ end
59
+
60
+ updated = request_object(
61
+ :patch,
62
+ "/v1/invoice_line_items/#{CGI.escape(self["id"])}",
63
+ values,
64
+ opts
65
+ )
66
+
67
+ initialize_from(updated)
68
+ self
69
+ end
70
+
71
+ def delete(params = {}, opts = {})
72
+ request_object(
73
+ :delete,
74
+ "/v1/invoice_line_items/#{CGI.escape(self["id"])}",
75
+ params,
76
+ opts
77
+ )
78
+ end
79
+ end
80
+ end
@@ -0,0 +1,116 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Frame
4
+ class PaymentMethod < APIResource
5
+ extend Frame::APIOperations::Create
6
+ extend Frame::APIOperations::List
7
+ include Frame::APIOperations::Delete
8
+ include Frame::APIOperations::Save
9
+
10
+ OBJECT_NAME = "payment_method"
11
+
12
+ def self.object_name
13
+ OBJECT_NAME
14
+ end
15
+
16
+ def self.create(params = {}, opts = {})
17
+ request_object(
18
+ :post,
19
+ "/v1/payment_methods",
20
+ params,
21
+ opts
22
+ )
23
+ end
24
+
25
+ def self.list(params = {}, opts = {})
26
+ request_object(
27
+ :get,
28
+ "/v1/payment_methods",
29
+ params,
30
+ opts
31
+ )
32
+ end
33
+
34
+ def self.retrieve(id, opts = {})
35
+ id = Util.normalize_id(id)
36
+ request_object(
37
+ :get,
38
+ "/v1/payment_methods/#{CGI.escape(id)}",
39
+ {},
40
+ opts
41
+ )
42
+ end
43
+
44
+ def self.delete(id, params = {}, opts = {})
45
+ request_object(
46
+ :delete,
47
+ "/v1/payment_methods/#{CGI.escape(id)}",
48
+ params,
49
+ opts
50
+ )
51
+ end
52
+
53
+ def save(params = {}, opts = {})
54
+ values = serialize_params(self).merge(params)
55
+
56
+ if values.empty?
57
+ return self
58
+ end
59
+
60
+ updated = request_object(
61
+ :patch,
62
+ "/v1/payment_methods/#{CGI.escape(self["id"])}",
63
+ values,
64
+ opts
65
+ )
66
+
67
+ initialize_from(updated)
68
+ self
69
+ end
70
+
71
+ def delete(params = {}, opts = {})
72
+ request_object(
73
+ :delete,
74
+ "/v1/payment_methods/#{CGI.escape(self["id"])}",
75
+ params,
76
+ opts
77
+ )
78
+ end
79
+
80
+ def attach(customer_id, params = {}, opts = {})
81
+ request_object(
82
+ :post,
83
+ "/v1/payment_methods/#{CGI.escape(self["id"])}/attach",
84
+ {customer: customer_id}.merge(params),
85
+ opts
86
+ )
87
+ end
88
+
89
+ def self.attach(id, customer_id, params = {}, opts = {})
90
+ request_object(
91
+ :post,
92
+ "/v1/payment_methods/#{CGI.escape(id)}/attach",
93
+ {customer: customer_id}.merge(params),
94
+ opts
95
+ )
96
+ end
97
+
98
+ def detach(params = {}, opts = {})
99
+ request_object(
100
+ :post,
101
+ "/v1/payment_methods/#{CGI.escape(self["id"])}/detach",
102
+ params,
103
+ opts
104
+ )
105
+ end
106
+
107
+ def self.detach(id, params = {}, opts = {})
108
+ request_object(
109
+ :post,
110
+ "/v1/payment_methods/#{CGI.escape(id)}/detach",
111
+ params,
112
+ opts
113
+ )
114
+ end
115
+ end
116
+ end
@@ -0,0 +1,80 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Frame
4
+ class Product < APIResource
5
+ extend Frame::APIOperations::Create
6
+ extend Frame::APIOperations::List
7
+ include Frame::APIOperations::Delete
8
+ include Frame::APIOperations::Save
9
+
10
+ OBJECT_NAME = "product"
11
+
12
+ def self.object_name
13
+ OBJECT_NAME
14
+ end
15
+
16
+ def self.create(params = {}, opts = {})
17
+ request_object(
18
+ :post,
19
+ "/v1/products",
20
+ params,
21
+ opts
22
+ )
23
+ end
24
+
25
+ def self.list(params = {}, opts = {})
26
+ request_object(
27
+ :get,
28
+ "/v1/products",
29
+ params,
30
+ opts
31
+ )
32
+ end
33
+
34
+ def self.retrieve(id, opts = {})
35
+ id = Util.normalize_id(id)
36
+ request_object(
37
+ :get,
38
+ "/v1/products/#{CGI.escape(id)}",
39
+ {},
40
+ opts
41
+ )
42
+ end
43
+
44
+ def self.delete(id, params = {}, opts = {})
45
+ request_object(
46
+ :delete,
47
+ "/v1/products/#{CGI.escape(id)}",
48
+ params,
49
+ opts
50
+ )
51
+ end
52
+
53
+ def save(params = {}, opts = {})
54
+ values = serialize_params(self).merge(params)
55
+
56
+ if values.empty?
57
+ return self
58
+ end
59
+
60
+ updated = request_object(
61
+ :patch,
62
+ "/v1/products/#{CGI.escape(self["id"])}",
63
+ values,
64
+ opts
65
+ )
66
+
67
+ initialize_from(updated)
68
+ self
69
+ end
70
+
71
+ def delete(params = {}, opts = {})
72
+ request_object(
73
+ :delete,
74
+ "/v1/products/#{CGI.escape(self["id"])}",
75
+ params,
76
+ opts
77
+ )
78
+ end
79
+ end
80
+ end
@@ -0,0 +1,80 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Frame
4
+ class ProductPhase < APIResource
5
+ extend Frame::APIOperations::Create
6
+ extend Frame::APIOperations::List
7
+ include Frame::APIOperations::Delete
8
+ include Frame::APIOperations::Save
9
+
10
+ OBJECT_NAME = "product_phase"
11
+
12
+ def self.object_name
13
+ OBJECT_NAME
14
+ end
15
+
16
+ def self.create(params = {}, opts = {})
17
+ request_object(
18
+ :post,
19
+ "/v1/product_phases",
20
+ params,
21
+ opts
22
+ )
23
+ end
24
+
25
+ def self.list(params = {}, opts = {})
26
+ request_object(
27
+ :get,
28
+ "/v1/product_phases",
29
+ params,
30
+ opts
31
+ )
32
+ end
33
+
34
+ def self.retrieve(id, opts = {})
35
+ id = Util.normalize_id(id)
36
+ request_object(
37
+ :get,
38
+ "/v1/product_phases/#{CGI.escape(id)}",
39
+ {},
40
+ opts
41
+ )
42
+ end
43
+
44
+ def self.delete(id, params = {}, opts = {})
45
+ request_object(
46
+ :delete,
47
+ "/v1/product_phases/#{CGI.escape(id)}",
48
+ params,
49
+ opts
50
+ )
51
+ end
52
+
53
+ def save(params = {}, opts = {})
54
+ values = serialize_params(self).merge(params)
55
+
56
+ if values.empty?
57
+ return self
58
+ end
59
+
60
+ updated = request_object(
61
+ :patch,
62
+ "/v1/product_phases/#{CGI.escape(self["id"])}",
63
+ values,
64
+ opts
65
+ )
66
+
67
+ initialize_from(updated)
68
+ self
69
+ end
70
+
71
+ def delete(params = {}, opts = {})
72
+ request_object(
73
+ :delete,
74
+ "/v1/product_phases/#{CGI.escape(self["id"])}",
75
+ params,
76
+ opts
77
+ )
78
+ end
79
+ end
80
+ end