jera_payment 1.0.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.
Files changed (110) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/Rakefile +2 -0
  4. data/app/controllers/jera_payment/callbacks_controller.rb +22 -0
  5. data/app/controllers/jera_payment/jera_payment_controller.rb +5 -0
  6. data/config/locale/jera_payment.pt-BR.yml +243 -0
  7. data/config/routes.rb +5 -0
  8. data/lib/generators/active_record/jera_payment_generator.rb +59 -0
  9. data/lib/generators/active_record/templates/create_jera_payment_charges.rb +36 -0
  10. data/lib/generators/active_record/templates/create_jera_payment_credit_cards.rb +20 -0
  11. data/lib/generators/active_record/templates/create_jera_payment_customers.rb +22 -0
  12. data/lib/generators/active_record/templates/create_jera_payment_households.rb +18 -0
  13. data/lib/generators/active_record/templates/create_jera_payment_invoices.rb +42 -0
  14. data/lib/generators/active_record/templates/create_jera_payment_plans.rb +18 -0
  15. data/lib/generators/active_record/templates/create_jera_payment_sub_accounts.rb +39 -0
  16. data/lib/generators/active_record/templates/create_jera_payment_subscriptions.rb +26 -0
  17. data/lib/generators/active_record/templates/create_jera_payment_transfers.rb +15 -0
  18. data/lib/generators/active_record/templates/create_jera_payment_withdrawals.rb +15 -0
  19. data/lib/generators/jera_payment/install_generator.rb +68 -0
  20. data/lib/generators/jera_payment/jera_payment_generator.rb +46 -0
  21. data/lib/generators/jera_payment/templates/jera_payment.rb +9 -0
  22. data/lib/jera_payment.rb +39 -0
  23. data/lib/jera_payment/api/iugu/base.rb +55 -0
  24. data/lib/jera_payment/api/iugu/charge.rb +12 -0
  25. data/lib/jera_payment/api/iugu/customer.rb +37 -0
  26. data/lib/jera_payment/api/iugu/household.rb +13 -0
  27. data/lib/jera_payment/api/iugu/invoice.rb +55 -0
  28. data/lib/jera_payment/api/iugu/payment_method.rb +39 -0
  29. data/lib/jera_payment/api/iugu/payment_token.rb +12 -0
  30. data/lib/jera_payment/api/iugu/plan.rb +42 -0
  31. data/lib/jera_payment/api/iugu/sub_account.rb +40 -0
  32. data/lib/jera_payment/api/iugu/subscription.rb +72 -0
  33. data/lib/jera_payment/api/iugu/transfer.rb +24 -0
  34. data/lib/jera_payment/api/iugu/withdrawal.rb +26 -0
  35. data/lib/jera_payment/application.rb +79 -0
  36. data/lib/jera_payment/engine.rb +5 -0
  37. data/lib/jera_payment/models/charge.rb +30 -0
  38. data/lib/jera_payment/models/concerns/household_methods.rb +33 -0
  39. data/lib/jera_payment/models/concerns/invoice_methods.rb +42 -0
  40. data/lib/jera_payment/models/concerns/resource_callbacks.rb +40 -0
  41. data/lib/jera_payment/models/concerns/sub_account_methods.rb +18 -0
  42. data/lib/jera_payment/models/concerns/subscription_methods.rb +34 -0
  43. data/lib/jera_payment/models/concerns/transfer_methods.rb +18 -0
  44. data/lib/jera_payment/models/concerns/withdrawal_methods.rb +18 -0
  45. data/lib/jera_payment/models/credit_card.rb +16 -0
  46. data/lib/jera_payment/models/customer.rb +14 -0
  47. data/lib/jera_payment/models/household.rb +51 -0
  48. data/lib/jera_payment/models/invoice.rb +49 -0
  49. data/lib/jera_payment/models/plan.rb +16 -0
  50. data/lib/jera_payment/models/sub_account.rb +53 -0
  51. data/lib/jera_payment/models/subscription.rb +29 -0
  52. data/lib/jera_payment/models/transfer.rb +20 -0
  53. data/lib/jera_payment/models/withdrawal.rb +24 -0
  54. data/lib/jera_payment/parsers/iugu/charge_parser.rb +39 -0
  55. data/lib/jera_payment/parsers/iugu/credit_card_parser.rb +31 -0
  56. data/lib/jera_payment/parsers/iugu/household_parser.rb +16 -0
  57. data/lib/jera_payment/parsers/iugu/invoice_parser.rb +31 -0
  58. data/lib/jera_payment/parsers/iugu/sub_account_parser.rb +26 -0
  59. data/lib/jera_payment/parsers/iugu/transfer_parser.rb +15 -0
  60. data/lib/jera_payment/services/iugu/base.rb +23 -0
  61. data/lib/jera_payment/services/iugu/charges/create.rb +30 -0
  62. data/lib/jera_payment/services/iugu/credit_cards/create.rb +40 -0
  63. data/lib/jera_payment/services/iugu/credit_cards/destroy.rb +23 -0
  64. data/lib/jera_payment/services/iugu/credit_cards/update.rb +19 -0
  65. data/lib/jera_payment/services/iugu/customers/create.rb +27 -0
  66. data/lib/jera_payment/services/iugu/customers/destroy.rb +22 -0
  67. data/lib/jera_payment/services/iugu/customers/update.rb +30 -0
  68. data/lib/jera_payment/services/iugu/handle_callbacks/invoice/base.rb +24 -0
  69. data/lib/jera_payment/services/iugu/handle_callbacks/invoice/created.rb +8 -0
  70. data/lib/jera_payment/services/iugu/handle_callbacks/invoice/due.rb +8 -0
  71. data/lib/jera_payment/services/iugu/handle_callbacks/invoice/dunning_action.rb +8 -0
  72. data/lib/jera_payment/services/iugu/handle_callbacks/invoice/installment_released.rb +8 -0
  73. data/lib/jera_payment/services/iugu/handle_callbacks/invoice/payment_failed.rb +8 -0
  74. data/lib/jera_payment/services/iugu/handle_callbacks/invoice/refund.rb +8 -0
  75. data/lib/jera_payment/services/iugu/handle_callbacks/invoice/released.rb +8 -0
  76. data/lib/jera_payment/services/iugu/handle_callbacks/invoice/status_changed.rb +8 -0
  77. data/lib/jera_payment/services/iugu/handle_callbacks/referrals/bank_verification.rb +39 -0
  78. data/lib/jera_payment/services/iugu/handle_callbacks/referrals/base.rb +16 -0
  79. data/lib/jera_payment/services/iugu/handle_callbacks/referrals/verification.rb +24 -0
  80. data/lib/jera_payment/services/iugu/handle_callbacks/subscription/activated.rb +12 -0
  81. data/lib/jera_payment/services/iugu/handle_callbacks/subscription/base.rb +18 -0
  82. data/lib/jera_payment/services/iugu/handle_callbacks/subscription/changed.rb +12 -0
  83. data/lib/jera_payment/services/iugu/handle_callbacks/subscription/created.rb +12 -0
  84. data/lib/jera_payment/services/iugu/handle_callbacks/subscription/expired.rb +12 -0
  85. data/lib/jera_payment/services/iugu/handle_callbacks/subscription/renewed.rb +12 -0
  86. data/lib/jera_payment/services/iugu/handle_callbacks/subscription/suspended.rb +8 -0
  87. data/lib/jera_payment/services/iugu/handle_callbacks/withdraw_request/base.rb +16 -0
  88. data/lib/jera_payment/services/iugu/handle_callbacks/withdraw_request/created.rb +8 -0
  89. data/lib/jera_payment/services/iugu/handle_callbacks/withdraw_request/status_changed.rb +20 -0
  90. data/lib/jera_payment/services/iugu/households/create.rb +19 -0
  91. data/lib/jera_payment/services/iugu/invoices/create.rb +31 -0
  92. data/lib/jera_payment/services/iugu/invoices/duplicate.rb +54 -0
  93. data/lib/jera_payment/services/iugu/invoices/send_email.rb +18 -0
  94. data/lib/jera_payment/services/iugu/invoices/update_status.rb +31 -0
  95. data/lib/jera_payment/services/iugu/plans/create.rb +26 -0
  96. data/lib/jera_payment/services/iugu/plans/destroy.rb +17 -0
  97. data/lib/jera_payment/services/iugu/plans/update.rb +18 -0
  98. data/lib/jera_payment/services/iugu/sub_accounts/create.rb +26 -0
  99. data/lib/jera_payment/services/iugu/sub_accounts/update.rb +19 -0
  100. data/lib/jera_payment/services/iugu/sub_accounts/verify.rb +38 -0
  101. data/lib/jera_payment/services/iugu/subscriptions/change_plan.rb +41 -0
  102. data/lib/jera_payment/services/iugu/subscriptions/create.rb +29 -0
  103. data/lib/jera_payment/services/iugu/subscriptions/destroy.rb +26 -0
  104. data/lib/jera_payment/services/iugu/subscriptions/update.rb +18 -0
  105. data/lib/jera_payment/services/iugu/subscriptions/update_credits.rb +37 -0
  106. data/lib/jera_payment/services/iugu/subscriptions/update_situation.rb +36 -0
  107. data/lib/jera_payment/services/iugu/transfers/create.rb +28 -0
  108. data/lib/jera_payment/services/iugu/withdrawals/create.rb +27 -0
  109. data/lib/jera_payment/version.rb +3 -0
  110. metadata +208 -0
@@ -0,0 +1,13 @@
1
+ module JeraPayment
2
+ module Api
3
+ module Iugu
4
+ class Household < Base
5
+ BASE_ENDPOINT = 'bank_verification'
6
+
7
+ def self.create(body = {}, access_token = nil)
8
+ response = post(BASE_ENDPOINT, body, access_token)
9
+ end
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,55 @@
1
+ module JeraPayment
2
+ module Api
3
+ module Iugu
4
+ class Invoice < Base
5
+
6
+ BASE_ENDPOINT = 'invoices'
7
+
8
+ def self.index(query = nil, access_token = nil)
9
+ response = get(BASE_ENDPOINT, query, access_token)
10
+ end
11
+
12
+ def self.create(body = {}, access_token = nil)
13
+ response = post(BASE_ENDPOINT, body, access_token)
14
+ end
15
+
16
+ def self.show(id, access_token = nil)
17
+ url = "#{BASE_ENDPOINT}/#{id}"
18
+
19
+ response = get(url, nil, access_token)
20
+ end
21
+
22
+ def self.duplicate(id, body = {}, access_token = nil)
23
+ url = "#{BASE_ENDPOINT}/#{id}/duplicate"
24
+
25
+ response = post(url, body, access_token)
26
+ end
27
+
28
+ def self.capture(id, access_token = nil)
29
+ url = "#{BASE_ENDPOINT}/#{id}/capture"
30
+
31
+ response = post(url, nil, access_token)
32
+ end
33
+
34
+ def self.cancel(id, access_token = nil)
35
+ url = "#{BASE_ENDPOINT}/#{id}/cancel"
36
+
37
+ response = put(url, nil, access_token)
38
+ end
39
+
40
+ def self.refund(id, access_token = nil)
41
+ url = "#{BASE_ENDPOINT}/#{id}/refund"
42
+
43
+ response = post(url, nil, access_token)
44
+ end
45
+
46
+ def self.send_email(id, access_token = nil)
47
+ url = "#{BASE_ENDPOINT}/#{id}/send_email"
48
+
49
+ response = post(url, nil, access_token)
50
+ end
51
+
52
+ end
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,39 @@
1
+ module JeraPayment
2
+ module Api
3
+ module Iugu
4
+ class PaymentMethod < Base
5
+
6
+ def self.index(customer_id, access_token = nil)
7
+ url = "customers/#{customer_id}/payment_methods"
8
+
9
+ response = get(url, nil, access_token)
10
+ end
11
+
12
+ def self.show(customer_id, id, access_token = nil)
13
+ url = "customers/#{customer_id}/payment_methods/#{id}"
14
+
15
+ response = get(url, nil, access_token)
16
+ end
17
+
18
+ def self.create(customer_id, body = {}, access_token = nil)
19
+ url = "customers/#{customer_id}/payment_methods"
20
+
21
+ response = post(url, body, access_token)
22
+ end
23
+
24
+ def self.update(customer_id, id, body = {}, access_token = nil)
25
+ url = "customers/#{customer_id}/payment_methods/#{id}"
26
+
27
+ response = put(url, body, access_token)
28
+ end
29
+
30
+ def self.destroy(customer_id, id, access_token = nil)
31
+ url = "customers/#{customer_id}/payment_methods/#{id}"
32
+
33
+ response = delete(url, access_token)
34
+ end
35
+
36
+ end
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,12 @@
1
+ module JeraPayment
2
+ module Api
3
+ module Iugu
4
+ class PaymentToken < Base
5
+ BASE_ENDPOINT = 'payment_token'
6
+ def self.create(body = {}, access_token = nil)
7
+ response = post(BASE_ENDPOINT, body, access_token)
8
+ end
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,42 @@
1
+ module JeraPayment
2
+ module Api
3
+ module Iugu
4
+ class Plan < Base
5
+ BASE_ENDPOINT = 'plans'
6
+
7
+ def self.create(body = {}, access_token = nil)
8
+ response = post(BASE_ENDPOINT, body, access_token)
9
+ end
10
+
11
+ def self.update(id, body = {}, access_token = nil)
12
+ url = "#{BASE_ENDPOINT}/#{id}"
13
+
14
+ response = put(url, body, access_token)
15
+ end
16
+
17
+ def self.destroy(id, access_token = nil)
18
+ url = "#{BASE_ENDPOINT}/#{id}"
19
+
20
+ response = delete(url, access_token)
21
+ end
22
+
23
+ def self.show(id, access_token = nil)
24
+ url = "#{BASE_ENDPOINT}/#{id}"
25
+
26
+ response = get(url, nil, access_token)
27
+ end
28
+
29
+ def self.show_by_identifier(identifier, access_token = nil)
30
+ url = "#{BASE_ENDPOINT}/identifier/#{identifier}"
31
+
32
+ response = get(url, nil, access_token)
33
+ end
34
+
35
+ def self.index(query = nil, access_token = nil)
36
+ response = get(BASE_ENDPOINT, query, access_token)
37
+ end
38
+
39
+ end
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,40 @@
1
+ module JeraPayment
2
+ module Api
3
+ module Iugu
4
+ class SubAccount < Base
5
+ BASE_ENDPOINT = 'accounts'
6
+
7
+ def self.create(body = {}, access_token = nil)
8
+ url = 'marketplace/create_account'
9
+
10
+ response = post(url, body, access_token)
11
+ end
12
+
13
+ def self.update(body = {}, access_token = nil)
14
+ url = "#{BASE_ENDPOINT}/configuration"
15
+
16
+ response = post(url, body, access_token)
17
+ end
18
+
19
+ def self.verify(id, body = {}, access_token = nil)
20
+ url = "#{BASE_ENDPOINT}/#{id}/request_verification"
21
+
22
+ response = post(url, body, access_token)
23
+ end
24
+
25
+ def self.show(id, access_token = nil)
26
+ url = "#{BASE_ENDPOINT}/#{id}"
27
+
28
+ response = get(url, nil, access_token)
29
+ end
30
+
31
+ def self.list_accounts(query = nil, access_token = nil)
32
+ url = 'marketplace'
33
+
34
+ response = get(url, query, access_token)
35
+ end
36
+
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,72 @@
1
+ module JeraPayment
2
+ module Api
3
+ module Iugu
4
+ class Subscription < Base
5
+ BASE_ENDPOINT = 'subscriptions'
6
+
7
+ def self.create(body = {}, access_token = nil)
8
+ response = post(BASE_ENDPOINT, body, access_token)
9
+ end
10
+
11
+ def self.activate(id, access_token = nil)
12
+ url = "#{BASE_ENDPOINT}/#{id}/activate"
13
+
14
+ response = post(url, nil, access_token)
15
+ end
16
+
17
+ def self.suspend(id, access_token = nil)
18
+ url = "#{BASE_ENDPOINT}/#{id}/suspend"
19
+
20
+ response = post(url, nil, access_token)
21
+ end
22
+
23
+ def self.change_plan_simulation(id, plan_identifier, access_token = nil)
24
+ url = "#{BASE_ENDPOINT}/#{id}/change_plan_simulation/#{plan_identifier}"
25
+
26
+ response = get(url, nil, access_token)
27
+ end
28
+
29
+ def self.change_plan(id, plan_identifier, access_token = nil)
30
+ url = "#{BASE_ENDPOINT}/#{id}/change_plan/#{plan_identifier}"
31
+
32
+ response = post(url, nil, access_token)
33
+ end
34
+
35
+ def self.add_credits(id, body = {}, access_token = nil)
36
+ url = "#{BASE_ENDPOINT}/#{id}/add_credits"
37
+
38
+ response = put(url, body, access_token)
39
+ end
40
+
41
+ def self.remove_credits(id, body = {}, access_token = nil)
42
+ url = "#{BASE_ENDPOINT}/#{id}/remove_credits"
43
+
44
+ response = put(url, body, access_token)
45
+ end
46
+
47
+ def self.update(id, body = {}, access_token = nil)
48
+ url = "#{BASE_ENDPOINT}/#{id}"
49
+
50
+ response = put(url, body, access_token)
51
+ end
52
+
53
+ def self.destroy(id, access_token = nil)
54
+ url = "#{BASE_ENDPOINT}/#{id}"
55
+
56
+ response = delete(url, access_token)
57
+ end
58
+
59
+ def self.show(id, access_token = nil)
60
+ url = "#{BASE_ENDPOINT}/#{id}"
61
+
62
+ response = get(url, nil, access_token)
63
+ end
64
+
65
+ def self.index(query = nil, access_token = nil)
66
+ response = get(BASE_ENDPOINT, query, access_token)
67
+ end
68
+
69
+ end
70
+ end
71
+ end
72
+ end
@@ -0,0 +1,24 @@
1
+ module JeraPayment
2
+ module Api
3
+ module Iugu
4
+ class Transfer < Base
5
+ BASE_ENDPOINT = 'transfers'
6
+
7
+ def self.create(body = {}, access_token = nil)
8
+ response = post(BASE_ENDPOINT, body, access_token)
9
+ end
10
+
11
+ def self.index(query = nil, access_token = nil)
12
+ response = get(BASE_ENDPOINT, query, access_token)
13
+ end
14
+
15
+ def self.show(id, access_token = nil)
16
+ url = "#{BASE_ENDPOINT}/#{id}"
17
+
18
+ response = get(url, nil, access_token)
19
+ end
20
+
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,26 @@
1
+ module JeraPayment
2
+ module Api
3
+ module Iugu
4
+ class Withdrawal < Base
5
+ BASE_ENDPOINT = 'withdraw_requests'
6
+
7
+ def self.request_withdrawal(id, body = {}, access_token = nil)
8
+ url = "accounts/#{id}/request_withdraw"
9
+
10
+ response = post(url, body, access_token)
11
+ end
12
+
13
+ def self.index(query = nil, access_token = nil)
14
+ response = get(BASE_ENDPOINT, query, access_token)
15
+ end
16
+
17
+ def self.show(id, access_token = nil)
18
+ url = "#{BASE_ENDPOINT}/#{id}"
19
+
20
+ response = get(url, nil, access_token)
21
+ end
22
+
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,79 @@
1
+ require 'httparty'
2
+ require 'jera_payment/engine'
3
+
4
+ # IUGU API RESOURCES
5
+ require 'jera_payment/api/iugu/base'
6
+ require 'jera_payment/api/iugu/customer'
7
+ require 'jera_payment/api/iugu/payment_token'
8
+ require 'jera_payment/api/iugu/payment_method'
9
+ require 'jera_payment/api/iugu/invoice'
10
+ require 'jera_payment/api/iugu/charge'
11
+ require 'jera_payment/api/iugu/plan'
12
+ require 'jera_payment/api/iugu/subscription'
13
+ require 'jera_payment/api/iugu/sub_account'
14
+ require 'jera_payment/api/iugu/withdrawal'
15
+ require 'jera_payment/api/iugu/household'
16
+ require 'jera_payment/api/iugu/transfer'
17
+
18
+ # PARSERS
19
+ require 'jera_payment/parsers/iugu/credit_card_parser'
20
+ require 'jera_payment/parsers/iugu/invoice_parser'
21
+ require 'jera_payment/parsers/iugu/charge_parser'
22
+ require 'jera_payment/parsers/iugu/transfer_parser'
23
+ require 'jera_payment/parsers/iugu/household_parser'
24
+ require 'jera_payment/parsers/iugu/sub_account_parser'
25
+
26
+ #SERVICES BASE
27
+ require 'jera_payment/services/iugu/base'
28
+
29
+ #IUGU CUSTOMERS SERVICES
30
+ require 'jera_payment/services/iugu/customers/create'
31
+ require 'jera_payment/services/iugu/customers/update'
32
+ require 'jera_payment/services/iugu/customers/destroy'
33
+
34
+ # IUGU CREDIT CARDS SERVICES
35
+ require 'jera_payment/services/iugu/credit_cards/create'
36
+ require 'jera_payment/services/iugu/credit_cards/update'
37
+ require 'jera_payment/services/iugu/credit_cards/destroy'
38
+
39
+ # IUGU INVOICES SERVICES
40
+ require 'jera_payment/services/iugu/invoices/create'
41
+ require 'jera_payment/services/iugu/invoices/update_status'
42
+ require 'jera_payment/services/iugu/invoices/duplicate'
43
+ require 'jera_payment/services/iugu/invoices/send_email'
44
+
45
+ # IUGU CHARGE SERVICES
46
+ require 'jera_payment/services/iugu/charges/create'
47
+
48
+ # IUGU PLAN SERVICES
49
+ require 'jera_payment/services/iugu/plans/create'
50
+ require 'jera_payment/services/iugu/plans/update'
51
+ require 'jera_payment/services/iugu/plans/destroy'
52
+
53
+ # IUGU SUBSCRIPTION SERVICES
54
+ require 'jera_payment/services/iugu/subscriptions/create'
55
+ require 'jera_payment/services/iugu/subscriptions/update'
56
+ require 'jera_payment/services/iugu/subscriptions/destroy'
57
+ require 'jera_payment/services/iugu/subscriptions/change_plan'
58
+ require 'jera_payment/services/iugu/subscriptions/update_credits'
59
+ require 'jera_payment/services/iugu/subscriptions/update_situation'
60
+
61
+ # IUGU SUBACCOUNT SERVICES
62
+ require 'jera_payment/services/iugu/sub_accounts/create'
63
+ require 'jera_payment/services/iugu/sub_accounts/update'
64
+ require 'jera_payment/services/iugu/sub_accounts/verify'
65
+
66
+ # IUGU HOUSEHOLD SERVICES
67
+ require 'jera_payment/services/iugu/households/create'
68
+
69
+ # IUGU TRANSFER SERVICES
70
+ require 'jera_payment/services/iugu/transfers/create'
71
+
72
+ # MODEL CONCERNS
73
+ require 'jera_payment/models/concerns/resource_callbacks'
74
+ require 'jera_payment/models/concerns/invoice_methods'
75
+ require 'jera_payment/models/concerns/subscription_methods'
76
+ require 'jera_payment/models/concerns/sub_account_methods'
77
+ require 'jera_payment/models/concerns/household_methods'
78
+ require 'jera_payment/models/concerns/withdrawal_methods'
79
+ require 'jera_payment/models/concerns/transfer_methods'
@@ -0,0 +1,5 @@
1
+ module JeraPayment
2
+ class Engine < Rails::Engine
3
+
4
+ end
5
+ end
@@ -0,0 +1,30 @@
1
+ class JeraPayment::Charge < ActiveRecord::Base
2
+ include JeraPayment::Concerns::ResourceCallbacks
3
+
4
+ self.table_name = 'jera_payment_charges'
5
+
6
+ attr_readonly :invoice_id, :method, :token, :customer_payment_method_id, :restrict_payment_method,
7
+ :customer_id, :email, :months, :discount_cents, :bank_slip_extra_days, :keep_dunning,
8
+ :items, :cpf_cnpj, :name, :phone_prefix, :phone, :zip_code, :street, :number,
9
+ :neighborhood, :city, :state, :country, :complement, :url, :pdf, :identification
10
+
11
+ belongs_to :invoice, class_name: 'JeraPayment::Invoice'
12
+ belongs_to :sub_account, class_name: 'JeraPayment::SubAccount'
13
+
14
+ def has_update_callback?
15
+ false
16
+ end
17
+
18
+ def has_destroy_callback?
19
+ false
20
+ end
21
+
22
+ def items=(value)
23
+ write_attribute(:items, value&.to_json)
24
+ end
25
+
26
+ def items
27
+ ActiveSupport::JSON.decode(self[:items]).map{ |item| item.deep_symbolize_keys } if self[:items]
28
+ end
29
+
30
+ end