pay-abacatepay 0.1.0.pre.1

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 (35) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +10 -0
  3. data/MIT-LICENSE +21 -0
  4. data/README.md +248 -0
  5. data/app/controllers/pay/webhooks/abacatepay_controller.rb +104 -0
  6. data/lib/generators/pay_abacatepay/install/install_generator.rb +21 -0
  7. data/lib/generators/pay_abacatepay/install/templates/create_pay_abacatepay_processed_webhooks.rb.tt +15 -0
  8. data/lib/pay/abacatepay/charge.rb +77 -0
  9. data/lib/pay/abacatepay/customer.rb +136 -0
  10. data/lib/pay/abacatepay/engine.rb +33 -0
  11. data/lib/pay/abacatepay/payment_method.rb +21 -0
  12. data/lib/pay/abacatepay/processed_webhook.rb +19 -0
  13. data/lib/pay/abacatepay/subscription.rb +88 -0
  14. data/lib/pay/abacatepay/version.rb +5 -0
  15. data/lib/pay/abacatepay/webhooks/checkout_completed.rb +52 -0
  16. data/lib/pay/abacatepay/webhooks/checkout_disputed.rb +11 -0
  17. data/lib/pay/abacatepay/webhooks/checkout_lost.rb +11 -0
  18. data/lib/pay/abacatepay/webhooks/checkout_refunded.rb +38 -0
  19. data/lib/pay/abacatepay/webhooks/event.rb +95 -0
  20. data/lib/pay/abacatepay/webhooks/payout_completed.rb +11 -0
  21. data/lib/pay/abacatepay/webhooks/payout_failed.rb +11 -0
  22. data/lib/pay/abacatepay/webhooks/subscription_cancelled.rb +34 -0
  23. data/lib/pay/abacatepay/webhooks/subscription_completed.rb +53 -0
  24. data/lib/pay/abacatepay/webhooks/subscription_renewed.rb +45 -0
  25. data/lib/pay/abacatepay/webhooks/subscription_trial_started.rb +13 -0
  26. data/lib/pay/abacatepay/webhooks/transfer_completed.rb +11 -0
  27. data/lib/pay/abacatepay/webhooks/transfer_failed.rb +11 -0
  28. data/lib/pay/abacatepay/webhooks/transparent_completed.rb +11 -0
  29. data/lib/pay/abacatepay/webhooks/transparent_disputed.rb +11 -0
  30. data/lib/pay/abacatepay/webhooks/transparent_lost.rb +11 -0
  31. data/lib/pay/abacatepay/webhooks/transparent_refunded.rb +11 -0
  32. data/lib/pay/abacatepay/webhooks.rb +23 -0
  33. data/lib/pay/abacatepay.rb +75 -0
  34. data/lib/pay-abacatepay.rb +1 -0
  35. metadata +105 -0
@@ -0,0 +1,75 @@
1
+ require "pay"
2
+ require "pay/env"
3
+ require "abacate_pay"
4
+
5
+ require "pay/abacatepay/version"
6
+ require "pay/abacatepay/engine"
7
+
8
+ module Pay
9
+ module Abacatepay
10
+ class Error < Pay::Error
11
+ end
12
+
13
+ extend Pay::Env
14
+
15
+ autoload :Charge, "pay/abacatepay/charge"
16
+ autoload :Customer, "pay/abacatepay/customer"
17
+ autoload :PaymentMethod, "pay/abacatepay/payment_method"
18
+ autoload :ProcessedWebhook, "pay/abacatepay/processed_webhook"
19
+ autoload :Subscription, "pay/abacatepay/subscription"
20
+ autoload :Webhooks, "pay/abacatepay/webhooks"
21
+
22
+ # Enabled when the processor is registered and the SDK constant is present.
23
+ def self.enabled?
24
+ Pay.enabled_processors.include?(:abacatepay) && defined?(::AbacatePay)
25
+ end
26
+
27
+ # Configures the upstream SDK with credentials resolved from Rails credentials
28
+ # or environment variables. Called by the engine's `to_prepare` hook.
29
+ def self.setup
30
+ ::AbacatePay.configure do |config|
31
+ config.api_token = api_key
32
+ config.environment = environment
33
+ end
34
+ end
35
+
36
+ # Registers handlers for every AbacatePay webhook event with Pay::Webhooks.
37
+ # Invoked by the engine's `before_initialize` hook so handlers are in place
38
+ # before host-app initializers run.
39
+ def self.configure_webhooks
40
+ Pay::Webhooks.configure do |events|
41
+ events.subscribe "abacatepay.checkout.completed", Pay::Abacatepay::Webhooks::CheckoutCompleted.new
42
+ events.subscribe "abacatepay.checkout.refunded", Pay::Abacatepay::Webhooks::CheckoutRefunded.new
43
+ events.subscribe "abacatepay.checkout.disputed", Pay::Abacatepay::Webhooks::CheckoutDisputed.new
44
+ events.subscribe "abacatepay.checkout.lost", Pay::Abacatepay::Webhooks::CheckoutLost.new
45
+ events.subscribe "abacatepay.transparent.completed", Pay::Abacatepay::Webhooks::TransparentCompleted.new
46
+ events.subscribe "abacatepay.transparent.refunded", Pay::Abacatepay::Webhooks::TransparentRefunded.new
47
+ events.subscribe "abacatepay.transparent.disputed", Pay::Abacatepay::Webhooks::TransparentDisputed.new
48
+ events.subscribe "abacatepay.transparent.lost", Pay::Abacatepay::Webhooks::TransparentLost.new
49
+ events.subscribe "abacatepay.subscription.completed", Pay::Abacatepay::Webhooks::SubscriptionCompleted.new
50
+ events.subscribe "abacatepay.subscription.cancelled", Pay::Abacatepay::Webhooks::SubscriptionCancelled.new
51
+ events.subscribe "abacatepay.subscription.renewed", Pay::Abacatepay::Webhooks::SubscriptionRenewed.new
52
+ events.subscribe "abacatepay.subscription.trial_started", Pay::Abacatepay::Webhooks::SubscriptionTrialStarted.new
53
+ events.subscribe "abacatepay.payout.completed", Pay::Abacatepay::Webhooks::PayoutCompleted.new
54
+ events.subscribe "abacatepay.payout.failed", Pay::Abacatepay::Webhooks::PayoutFailed.new
55
+ events.subscribe "abacatepay.transfer.completed", Pay::Abacatepay::Webhooks::TransferCompleted.new
56
+ events.subscribe "abacatepay.transfer.failed", Pay::Abacatepay::Webhooks::TransferFailed.new
57
+ end
58
+ end
59
+
60
+ def self.api_key
61
+ find_value_by_name(:abacatepay, :api_key)
62
+ end
63
+
64
+ def self.webhook_secret
65
+ find_value_by_name(:abacatepay, :webhook_secret)
66
+ end
67
+
68
+ # The SDK validates this against %i[sandbox production]. The actual API
69
+ # version (v1/v2) is chosen by the SDK based on the token prefix
70
+ # (`abc_dev_*` / `abc_live_*` → v2). Defaults to :sandbox for safety.
71
+ def self.environment
72
+ (find_value_by_name(:abacatepay, :environment) || "sandbox").to_sym
73
+ end
74
+ end
75
+ end
@@ -0,0 +1 @@
1
+ require "pay/abacatepay"
metadata ADDED
@@ -0,0 +1,105 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: pay-abacatepay
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0.pre.1
5
+ platform: ruby
6
+ authors:
7
+ - Daniel Moreira
8
+ bindir: bin
9
+ cert_chain: []
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
+ dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: pay
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - "~>"
17
+ - !ruby/object:Gem::Version
18
+ version: '11.0'
19
+ type: :runtime
20
+ prerelease: false
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - "~>"
24
+ - !ruby/object:Gem::Version
25
+ version: '11.0'
26
+ - !ruby/object:Gem::Dependency
27
+ name: abacatepay-ruby
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 0.2.0
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: 0.2.0
40
+ description: Community-maintained AbacatePay adapter for pay-rails/pay. Not affiliated
41
+ with AbacatePay.
42
+ email:
43
+ - daniel@invenio.dev.br
44
+ executables: []
45
+ extensions: []
46
+ extra_rdoc_files: []
47
+ files:
48
+ - CHANGELOG.md
49
+ - MIT-LICENSE
50
+ - README.md
51
+ - app/controllers/pay/webhooks/abacatepay_controller.rb
52
+ - lib/generators/pay_abacatepay/install/install_generator.rb
53
+ - lib/generators/pay_abacatepay/install/templates/create_pay_abacatepay_processed_webhooks.rb.tt
54
+ - lib/pay-abacatepay.rb
55
+ - lib/pay/abacatepay.rb
56
+ - lib/pay/abacatepay/charge.rb
57
+ - lib/pay/abacatepay/customer.rb
58
+ - lib/pay/abacatepay/engine.rb
59
+ - lib/pay/abacatepay/payment_method.rb
60
+ - lib/pay/abacatepay/processed_webhook.rb
61
+ - lib/pay/abacatepay/subscription.rb
62
+ - lib/pay/abacatepay/version.rb
63
+ - lib/pay/abacatepay/webhooks.rb
64
+ - lib/pay/abacatepay/webhooks/checkout_completed.rb
65
+ - lib/pay/abacatepay/webhooks/checkout_disputed.rb
66
+ - lib/pay/abacatepay/webhooks/checkout_lost.rb
67
+ - lib/pay/abacatepay/webhooks/checkout_refunded.rb
68
+ - lib/pay/abacatepay/webhooks/event.rb
69
+ - lib/pay/abacatepay/webhooks/payout_completed.rb
70
+ - lib/pay/abacatepay/webhooks/payout_failed.rb
71
+ - lib/pay/abacatepay/webhooks/subscription_cancelled.rb
72
+ - lib/pay/abacatepay/webhooks/subscription_completed.rb
73
+ - lib/pay/abacatepay/webhooks/subscription_renewed.rb
74
+ - lib/pay/abacatepay/webhooks/subscription_trial_started.rb
75
+ - lib/pay/abacatepay/webhooks/transfer_completed.rb
76
+ - lib/pay/abacatepay/webhooks/transfer_failed.rb
77
+ - lib/pay/abacatepay/webhooks/transparent_completed.rb
78
+ - lib/pay/abacatepay/webhooks/transparent_disputed.rb
79
+ - lib/pay/abacatepay/webhooks/transparent_lost.rb
80
+ - lib/pay/abacatepay/webhooks/transparent_refunded.rb
81
+ homepage: https://github.com/danielmoreira/pay-abacatepay
82
+ licenses:
83
+ - MIT
84
+ metadata:
85
+ homepage_uri: https://github.com/danielmoreira/pay-abacatepay
86
+ source_code_uri: https://github.com/danielmoreira/pay-abacatepay
87
+ changelog_uri: https://github.com/danielmoreira/pay-abacatepay/blob/main/CHANGELOG.md
88
+ rdoc_options: []
89
+ require_paths:
90
+ - lib
91
+ required_ruby_version: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - ">="
94
+ - !ruby/object:Gem::Version
95
+ version: 3.3.0
96
+ required_rubygems_version: !ruby/object:Gem::Requirement
97
+ requirements:
98
+ - - ">="
99
+ - !ruby/object:Gem::Version
100
+ version: '0'
101
+ requirements: []
102
+ rubygems_version: 3.6.9
103
+ specification_version: 4
104
+ summary: AbacatePay processor for the Pay gem (Rails payments engine).
105
+ test_files: []