dodopayments 2.4.1 → 2.6.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +29 -0
- data/README.md +1 -1
- data/lib/dodopayments/internal/util.rb +18 -4
- data/lib/dodopayments/models/abandoned_checkout_detected_webhook_event.rb +126 -0
- data/lib/dodopayments/models/abandoned_checkout_recovered_webhook_event.rb +126 -0
- data/lib/dodopayments/models/balance_ledger_entry.rb +2 -0
- data/lib/dodopayments/models/balance_retrieve_ledger_params.rb +2 -0
- data/lib/dodopayments/models/discount.rb +8 -1
- data/lib/dodopayments/models/discount_create_params.rb +9 -1
- data/lib/dodopayments/models/discount_update_params.rb +9 -1
- data/lib/dodopayments/models/dunning_recovered_webhook_event.rb +118 -0
- data/lib/dodopayments/models/dunning_started_webhook_event.rb +118 -0
- data/lib/dodopayments/models/payouts/breakup/detail_download_csv_params.rb +24 -0
- data/lib/dodopayments/models/payouts/breakup/detail_list_params.rb +41 -0
- data/lib/dodopayments/models/payouts/breakup/detail_list_response.rb +94 -0
- data/lib/dodopayments/models/payouts/breakup_retrieve_params.rb +22 -0
- data/lib/dodopayments/models/payouts/breakup_retrieve_response.rb +37 -0
- data/lib/dodopayments/models/subscription_update_params.rb +19 -1
- data/lib/dodopayments/models/unsafe_unwrap_webhook_event.rb +9 -1
- data/lib/dodopayments/models/unwrap_webhook_event.rb +9 -1
- data/lib/dodopayments/models/webhook_event_type.rb +6 -0
- data/lib/dodopayments/models/webhook_payload.rb +168 -3
- data/lib/dodopayments/models.rb +10 -0
- data/lib/dodopayments/resources/discounts.rb +6 -2
- data/lib/dodopayments/resources/payouts/breakup/details.rb +72 -0
- data/lib/dodopayments/resources/payouts/breakup.rb +43 -0
- data/lib/dodopayments/resources/payouts.rb +4 -0
- data/lib/dodopayments/resources/subscriptions.rb +3 -1
- data/lib/dodopayments/resources/webhooks.rb +2 -2
- data/lib/dodopayments/version.rb +1 -1
- data/lib/dodopayments.rb +11 -0
- data/rbi/dodopayments/internal/util.rbi +8 -0
- data/rbi/dodopayments/models/abandoned_checkout_detected_webhook_event.rbi +271 -0
- data/rbi/dodopayments/models/abandoned_checkout_recovered_webhook_event.rbi +273 -0
- data/rbi/dodopayments/models/balance_ledger_entry.rbi +10 -0
- data/rbi/dodopayments/models/balance_retrieve_ledger_params.rbi +10 -0
- data/rbi/dodopayments/models/discount.rbi +6 -0
- data/rbi/dodopayments/models/discount_create_params.rbi +11 -0
- data/rbi/dodopayments/models/discount_update_params.rbi +8 -0
- data/rbi/dodopayments/models/dunning_recovered_webhook_event.rbi +249 -0
- data/rbi/dodopayments/models/dunning_started_webhook_event.rbi +249 -0
- data/rbi/dodopayments/models/payouts/breakup/detail_download_csv_params.rbi +45 -0
- data/rbi/dodopayments/models/payouts/breakup/detail_list_params.rbi +70 -0
- data/rbi/dodopayments/models/payouts/breakup/detail_list_response.rbi +116 -0
- data/rbi/dodopayments/models/payouts/breakup_retrieve_params.rbi +40 -0
- data/rbi/dodopayments/models/payouts/breakup_retrieve_response.rbi +53 -0
- data/rbi/dodopayments/models/subscription_update_params.rbi +54 -0
- data/rbi/dodopayments/models/unsafe_unwrap_webhook_event.rbi +4 -0
- data/rbi/dodopayments/models/unwrap_webhook_event.rbi +4 -0
- data/rbi/dodopayments/models/webhook_event_type.rbi +21 -0
- data/rbi/dodopayments/models/webhook_payload.rbi +400 -4
- data/rbi/dodopayments/models.rbi +13 -0
- data/rbi/dodopayments/resources/discounts.rbi +6 -0
- data/rbi/dodopayments/resources/payouts/breakup/details.rbi +60 -0
- data/rbi/dodopayments/resources/payouts/breakup.rbi +36 -0
- data/rbi/dodopayments/resources/payouts.rbi +3 -0
- data/rbi/dodopayments/resources/subscriptions.rbi +5 -0
- data/rbi/dodopayments/resources/webhooks.rbi +8 -0
- data/sig/dodopayments/internal/util.rbs +4 -0
- data/sig/dodopayments/models/abandoned_checkout_detected_webhook_event.rbs +113 -0
- data/sig/dodopayments/models/abandoned_checkout_recovered_webhook_event.rbs +113 -0
- data/sig/dodopayments/models/balance_ledger_entry.rbs +4 -0
- data/sig/dodopayments/models/balance_retrieve_ledger_params.rbs +4 -0
- data/sig/dodopayments/models/discount.rbs +5 -0
- data/sig/dodopayments/models/discount_create_params.rbs +7 -0
- data/sig/dodopayments/models/discount_update_params.rbs +5 -0
- data/sig/dodopayments/models/dunning_recovered_webhook_event.rbs +110 -0
- data/sig/dodopayments/models/dunning_started_webhook_event.rbs +110 -0
- data/sig/dodopayments/models/payouts/breakup/detail_download_csv_params.rbs +28 -0
- data/sig/dodopayments/models/payouts/breakup/detail_list_params.rbs +40 -0
- data/sig/dodopayments/models/payouts/breakup/detail_list_response.rbs +64 -0
- data/sig/dodopayments/models/payouts/breakup_retrieve_params.rbs +25 -0
- data/sig/dodopayments/models/payouts/breakup_retrieve_response.rbs +23 -0
- data/sig/dodopayments/models/subscription_update_params.rbs +20 -0
- data/sig/dodopayments/models/unsafe_unwrap_webhook_event.rbs +5 -1
- data/sig/dodopayments/models/unwrap_webhook_event.rbs +5 -1
- data/sig/dodopayments/models/webhook_event_type.rbs +12 -0
- data/sig/dodopayments/models/webhook_payload.rbs +165 -0
- data/sig/dodopayments/models.rbs +10 -0
- data/sig/dodopayments/resources/discounts.rbs +2 -0
- data/sig/dodopayments/resources/payouts/breakup/details.rbs +23 -0
- data/sig/dodopayments/resources/payouts/breakup.rbs +16 -0
- data/sig/dodopayments/resources/payouts.rbs +2 -0
- data/sig/dodopayments/resources/subscriptions.rbs +1 -0
- data/sig/dodopayments/resources/webhooks.rbs +10 -2
- metadata +35 -2
|
@@ -143,6 +143,27 @@ module Dodopayments
|
|
|
143
143
|
:"credit.balance_low",
|
|
144
144
|
Dodopayments::WebhookEventType::TaggedSymbol
|
|
145
145
|
)
|
|
146
|
+
ABANDONED_CHECKOUT_DETECTED =
|
|
147
|
+
T.let(
|
|
148
|
+
:"abandoned_checkout.detected",
|
|
149
|
+
Dodopayments::WebhookEventType::TaggedSymbol
|
|
150
|
+
)
|
|
151
|
+
ABANDONED_CHECKOUT_RECOVERED =
|
|
152
|
+
T.let(
|
|
153
|
+
:"abandoned_checkout.recovered",
|
|
154
|
+
Dodopayments::WebhookEventType::TaggedSymbol
|
|
155
|
+
)
|
|
156
|
+
DUNNING_STARTED =
|
|
157
|
+
T.let(:"dunning.started", Dodopayments::WebhookEventType::TaggedSymbol)
|
|
158
|
+
DUNNING_RECOVERED =
|
|
159
|
+
T.let(
|
|
160
|
+
:"dunning.recovered",
|
|
161
|
+
Dodopayments::WebhookEventType::TaggedSymbol
|
|
162
|
+
)
|
|
163
|
+
ACR_EMAIL =
|
|
164
|
+
T.let(:"acr.email", Dodopayments::WebhookEventType::TaggedSymbol)
|
|
165
|
+
DUNNING_EMAIL =
|
|
166
|
+
T.let(:"dunning.email", Dodopayments::WebhookEventType::TaggedSymbol)
|
|
146
167
|
|
|
147
168
|
sig do
|
|
148
169
|
override.returns(T::Array[Dodopayments::WebhookEventType::TaggedSymbol])
|
|
@@ -21,7 +21,9 @@ module Dodopayments
|
|
|
21
21
|
Dodopayments::WebhookPayload::Data::Dispute,
|
|
22
22
|
Dodopayments::WebhookPayload::Data::LicenseKey,
|
|
23
23
|
Dodopayments::WebhookPayload::Data::CreditLedgerEntry,
|
|
24
|
-
Dodopayments::WebhookPayload::Data::CreditBalanceLow
|
|
24
|
+
Dodopayments::WebhookPayload::Data::CreditBalanceLow,
|
|
25
|
+
Dodopayments::WebhookPayload::Data::AbandonedCheckout,
|
|
26
|
+
Dodopayments::WebhookPayload::Data::DunningAttempt
|
|
25
27
|
)
|
|
26
28
|
)
|
|
27
29
|
end
|
|
@@ -47,7 +49,9 @@ module Dodopayments
|
|
|
47
49
|
Dodopayments::WebhookPayload::Data::Dispute::OrHash,
|
|
48
50
|
Dodopayments::WebhookPayload::Data::LicenseKey::OrHash,
|
|
49
51
|
Dodopayments::WebhookPayload::Data::CreditLedgerEntry::OrHash,
|
|
50
|
-
Dodopayments::WebhookPayload::Data::CreditBalanceLow::OrHash
|
|
52
|
+
Dodopayments::WebhookPayload::Data::CreditBalanceLow::OrHash,
|
|
53
|
+
Dodopayments::WebhookPayload::Data::AbandonedCheckout::OrHash,
|
|
54
|
+
Dodopayments::WebhookPayload::Data::DunningAttempt::OrHash
|
|
51
55
|
),
|
|
52
56
|
timestamp: Time,
|
|
53
57
|
type: Dodopayments::WebhookEventType::OrSymbol
|
|
@@ -77,7 +81,9 @@ module Dodopayments
|
|
|
77
81
|
Dodopayments::WebhookPayload::Data::Dispute,
|
|
78
82
|
Dodopayments::WebhookPayload::Data::LicenseKey,
|
|
79
83
|
Dodopayments::WebhookPayload::Data::CreditLedgerEntry,
|
|
80
|
-
Dodopayments::WebhookPayload::Data::CreditBalanceLow
|
|
84
|
+
Dodopayments::WebhookPayload::Data::CreditBalanceLow,
|
|
85
|
+
Dodopayments::WebhookPayload::Data::AbandonedCheckout,
|
|
86
|
+
Dodopayments::WebhookPayload::Data::DunningAttempt
|
|
81
87
|
),
|
|
82
88
|
timestamp: Time,
|
|
83
89
|
type: Dodopayments::WebhookEventType::OrSymbol
|
|
@@ -100,7 +106,9 @@ module Dodopayments
|
|
|
100
106
|
Dodopayments::WebhookPayload::Data::Dispute,
|
|
101
107
|
Dodopayments::WebhookPayload::Data::LicenseKey,
|
|
102
108
|
Dodopayments::WebhookPayload::Data::CreditLedgerEntry,
|
|
103
|
-
Dodopayments::WebhookPayload::Data::CreditBalanceLow
|
|
109
|
+
Dodopayments::WebhookPayload::Data::CreditBalanceLow,
|
|
110
|
+
Dodopayments::WebhookPayload::Data::AbandonedCheckout,
|
|
111
|
+
Dodopayments::WebhookPayload::Data::DunningAttempt
|
|
104
112
|
)
|
|
105
113
|
end
|
|
106
114
|
|
|
@@ -618,6 +626,394 @@ module Dodopayments
|
|
|
618
626
|
end
|
|
619
627
|
end
|
|
620
628
|
|
|
629
|
+
class AbandonedCheckout < Dodopayments::Internal::Type::BaseModel
|
|
630
|
+
OrHash =
|
|
631
|
+
T.type_alias do
|
|
632
|
+
T.any(
|
|
633
|
+
Dodopayments::WebhookPayload::Data::AbandonedCheckout,
|
|
634
|
+
Dodopayments::Internal::AnyHash
|
|
635
|
+
)
|
|
636
|
+
end
|
|
637
|
+
|
|
638
|
+
sig { returns(Time) }
|
|
639
|
+
attr_accessor :abandoned_at
|
|
640
|
+
|
|
641
|
+
sig do
|
|
642
|
+
returns(
|
|
643
|
+
Dodopayments::WebhookPayload::Data::AbandonedCheckout::AbandonmentReason::OrSymbol
|
|
644
|
+
)
|
|
645
|
+
end
|
|
646
|
+
attr_accessor :abandonment_reason
|
|
647
|
+
|
|
648
|
+
sig { returns(String) }
|
|
649
|
+
attr_accessor :customer_id
|
|
650
|
+
|
|
651
|
+
sig do
|
|
652
|
+
returns(
|
|
653
|
+
Dodopayments::WebhookPayload::Data::AbandonedCheckout::PayloadType::OrSymbol
|
|
654
|
+
)
|
|
655
|
+
end
|
|
656
|
+
attr_accessor :payload_type
|
|
657
|
+
|
|
658
|
+
sig { returns(String) }
|
|
659
|
+
attr_accessor :payment_id
|
|
660
|
+
|
|
661
|
+
sig do
|
|
662
|
+
returns(
|
|
663
|
+
Dodopayments::WebhookPayload::Data::AbandonedCheckout::Status::OrSymbol
|
|
664
|
+
)
|
|
665
|
+
end
|
|
666
|
+
attr_accessor :status
|
|
667
|
+
|
|
668
|
+
sig { returns(T.nilable(String)) }
|
|
669
|
+
attr_accessor :recovered_payment_id
|
|
670
|
+
|
|
671
|
+
sig do
|
|
672
|
+
params(
|
|
673
|
+
abandoned_at: Time,
|
|
674
|
+
abandonment_reason:
|
|
675
|
+
Dodopayments::WebhookPayload::Data::AbandonedCheckout::AbandonmentReason::OrSymbol,
|
|
676
|
+
customer_id: String,
|
|
677
|
+
payload_type:
|
|
678
|
+
Dodopayments::WebhookPayload::Data::AbandonedCheckout::PayloadType::OrSymbol,
|
|
679
|
+
payment_id: String,
|
|
680
|
+
status:
|
|
681
|
+
Dodopayments::WebhookPayload::Data::AbandonedCheckout::Status::OrSymbol,
|
|
682
|
+
recovered_payment_id: T.nilable(String)
|
|
683
|
+
).returns(T.attached_class)
|
|
684
|
+
end
|
|
685
|
+
def self.new(
|
|
686
|
+
abandoned_at:,
|
|
687
|
+
abandonment_reason:,
|
|
688
|
+
customer_id:,
|
|
689
|
+
payload_type:,
|
|
690
|
+
payment_id:,
|
|
691
|
+
status:,
|
|
692
|
+
recovered_payment_id: nil
|
|
693
|
+
)
|
|
694
|
+
end
|
|
695
|
+
|
|
696
|
+
sig do
|
|
697
|
+
override.returns(
|
|
698
|
+
{
|
|
699
|
+
abandoned_at: Time,
|
|
700
|
+
abandonment_reason:
|
|
701
|
+
Dodopayments::WebhookPayload::Data::AbandonedCheckout::AbandonmentReason::OrSymbol,
|
|
702
|
+
customer_id: String,
|
|
703
|
+
payload_type:
|
|
704
|
+
Dodopayments::WebhookPayload::Data::AbandonedCheckout::PayloadType::OrSymbol,
|
|
705
|
+
payment_id: String,
|
|
706
|
+
status:
|
|
707
|
+
Dodopayments::WebhookPayload::Data::AbandonedCheckout::Status::OrSymbol,
|
|
708
|
+
recovered_payment_id: T.nilable(String)
|
|
709
|
+
}
|
|
710
|
+
)
|
|
711
|
+
end
|
|
712
|
+
def to_hash
|
|
713
|
+
end
|
|
714
|
+
|
|
715
|
+
module AbandonmentReason
|
|
716
|
+
extend Dodopayments::Internal::Type::Enum
|
|
717
|
+
|
|
718
|
+
TaggedSymbol =
|
|
719
|
+
T.type_alias do
|
|
720
|
+
T.all(
|
|
721
|
+
Symbol,
|
|
722
|
+
Dodopayments::WebhookPayload::Data::AbandonedCheckout::AbandonmentReason
|
|
723
|
+
)
|
|
724
|
+
end
|
|
725
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
726
|
+
|
|
727
|
+
PAYMENT_FAILED =
|
|
728
|
+
T.let(
|
|
729
|
+
:payment_failed,
|
|
730
|
+
Dodopayments::WebhookPayload::Data::AbandonedCheckout::AbandonmentReason::TaggedSymbol
|
|
731
|
+
)
|
|
732
|
+
CHECKOUT_INCOMPLETE =
|
|
733
|
+
T.let(
|
|
734
|
+
:checkout_incomplete,
|
|
735
|
+
Dodopayments::WebhookPayload::Data::AbandonedCheckout::AbandonmentReason::TaggedSymbol
|
|
736
|
+
)
|
|
737
|
+
|
|
738
|
+
sig do
|
|
739
|
+
override.returns(
|
|
740
|
+
T::Array[
|
|
741
|
+
Dodopayments::WebhookPayload::Data::AbandonedCheckout::AbandonmentReason::TaggedSymbol
|
|
742
|
+
]
|
|
743
|
+
)
|
|
744
|
+
end
|
|
745
|
+
def self.values
|
|
746
|
+
end
|
|
747
|
+
end
|
|
748
|
+
|
|
749
|
+
module PayloadType
|
|
750
|
+
extend Dodopayments::Internal::Type::Enum
|
|
751
|
+
|
|
752
|
+
TaggedSymbol =
|
|
753
|
+
T.type_alias do
|
|
754
|
+
T.all(
|
|
755
|
+
Symbol,
|
|
756
|
+
Dodopayments::WebhookPayload::Data::AbandonedCheckout::PayloadType
|
|
757
|
+
)
|
|
758
|
+
end
|
|
759
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
760
|
+
|
|
761
|
+
ABANDONED_CHECKOUT =
|
|
762
|
+
T.let(
|
|
763
|
+
:AbandonedCheckout,
|
|
764
|
+
Dodopayments::WebhookPayload::Data::AbandonedCheckout::PayloadType::TaggedSymbol
|
|
765
|
+
)
|
|
766
|
+
|
|
767
|
+
sig do
|
|
768
|
+
override.returns(
|
|
769
|
+
T::Array[
|
|
770
|
+
Dodopayments::WebhookPayload::Data::AbandonedCheckout::PayloadType::TaggedSymbol
|
|
771
|
+
]
|
|
772
|
+
)
|
|
773
|
+
end
|
|
774
|
+
def self.values
|
|
775
|
+
end
|
|
776
|
+
end
|
|
777
|
+
|
|
778
|
+
module Status
|
|
779
|
+
extend Dodopayments::Internal::Type::Enum
|
|
780
|
+
|
|
781
|
+
TaggedSymbol =
|
|
782
|
+
T.type_alias do
|
|
783
|
+
T.all(
|
|
784
|
+
Symbol,
|
|
785
|
+
Dodopayments::WebhookPayload::Data::AbandonedCheckout::Status
|
|
786
|
+
)
|
|
787
|
+
end
|
|
788
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
789
|
+
|
|
790
|
+
ABANDONED =
|
|
791
|
+
T.let(
|
|
792
|
+
:abandoned,
|
|
793
|
+
Dodopayments::WebhookPayload::Data::AbandonedCheckout::Status::TaggedSymbol
|
|
794
|
+
)
|
|
795
|
+
RECOVERING =
|
|
796
|
+
T.let(
|
|
797
|
+
:recovering,
|
|
798
|
+
Dodopayments::WebhookPayload::Data::AbandonedCheckout::Status::TaggedSymbol
|
|
799
|
+
)
|
|
800
|
+
RECOVERED =
|
|
801
|
+
T.let(
|
|
802
|
+
:recovered,
|
|
803
|
+
Dodopayments::WebhookPayload::Data::AbandonedCheckout::Status::TaggedSymbol
|
|
804
|
+
)
|
|
805
|
+
EXHAUSTED =
|
|
806
|
+
T.let(
|
|
807
|
+
:exhausted,
|
|
808
|
+
Dodopayments::WebhookPayload::Data::AbandonedCheckout::Status::TaggedSymbol
|
|
809
|
+
)
|
|
810
|
+
OPTED_OUT =
|
|
811
|
+
T.let(
|
|
812
|
+
:opted_out,
|
|
813
|
+
Dodopayments::WebhookPayload::Data::AbandonedCheckout::Status::TaggedSymbol
|
|
814
|
+
)
|
|
815
|
+
|
|
816
|
+
sig do
|
|
817
|
+
override.returns(
|
|
818
|
+
T::Array[
|
|
819
|
+
Dodopayments::WebhookPayload::Data::AbandonedCheckout::Status::TaggedSymbol
|
|
820
|
+
]
|
|
821
|
+
)
|
|
822
|
+
end
|
|
823
|
+
def self.values
|
|
824
|
+
end
|
|
825
|
+
end
|
|
826
|
+
end
|
|
827
|
+
|
|
828
|
+
class DunningAttempt < Dodopayments::Internal::Type::BaseModel
|
|
829
|
+
OrHash =
|
|
830
|
+
T.type_alias do
|
|
831
|
+
T.any(
|
|
832
|
+
Dodopayments::WebhookPayload::Data::DunningAttempt,
|
|
833
|
+
Dodopayments::Internal::AnyHash
|
|
834
|
+
)
|
|
835
|
+
end
|
|
836
|
+
|
|
837
|
+
sig { returns(Time) }
|
|
838
|
+
attr_accessor :created_at
|
|
839
|
+
|
|
840
|
+
sig { returns(String) }
|
|
841
|
+
attr_accessor :customer_id
|
|
842
|
+
|
|
843
|
+
sig do
|
|
844
|
+
returns(
|
|
845
|
+
Dodopayments::WebhookPayload::Data::DunningAttempt::PayloadType::OrSymbol
|
|
846
|
+
)
|
|
847
|
+
end
|
|
848
|
+
attr_accessor :payload_type
|
|
849
|
+
|
|
850
|
+
sig do
|
|
851
|
+
returns(
|
|
852
|
+
Dodopayments::WebhookPayload::Data::DunningAttempt::Status::OrSymbol
|
|
853
|
+
)
|
|
854
|
+
end
|
|
855
|
+
attr_accessor :status
|
|
856
|
+
|
|
857
|
+
sig { returns(String) }
|
|
858
|
+
attr_accessor :subscription_id
|
|
859
|
+
|
|
860
|
+
sig do
|
|
861
|
+
returns(
|
|
862
|
+
Dodopayments::WebhookPayload::Data::DunningAttempt::TriggerState::OrSymbol
|
|
863
|
+
)
|
|
864
|
+
end
|
|
865
|
+
attr_accessor :trigger_state
|
|
866
|
+
|
|
867
|
+
sig { returns(T.nilable(String)) }
|
|
868
|
+
attr_accessor :payment_id
|
|
869
|
+
|
|
870
|
+
sig do
|
|
871
|
+
params(
|
|
872
|
+
created_at: Time,
|
|
873
|
+
customer_id: String,
|
|
874
|
+
payload_type:
|
|
875
|
+
Dodopayments::WebhookPayload::Data::DunningAttempt::PayloadType::OrSymbol,
|
|
876
|
+
status:
|
|
877
|
+
Dodopayments::WebhookPayload::Data::DunningAttempt::Status::OrSymbol,
|
|
878
|
+
subscription_id: String,
|
|
879
|
+
trigger_state:
|
|
880
|
+
Dodopayments::WebhookPayload::Data::DunningAttempt::TriggerState::OrSymbol,
|
|
881
|
+
payment_id: T.nilable(String)
|
|
882
|
+
).returns(T.attached_class)
|
|
883
|
+
end
|
|
884
|
+
def self.new(
|
|
885
|
+
created_at:,
|
|
886
|
+
customer_id:,
|
|
887
|
+
payload_type:,
|
|
888
|
+
status:,
|
|
889
|
+
subscription_id:,
|
|
890
|
+
trigger_state:,
|
|
891
|
+
payment_id: nil
|
|
892
|
+
)
|
|
893
|
+
end
|
|
894
|
+
|
|
895
|
+
sig do
|
|
896
|
+
override.returns(
|
|
897
|
+
{
|
|
898
|
+
created_at: Time,
|
|
899
|
+
customer_id: String,
|
|
900
|
+
payload_type:
|
|
901
|
+
Dodopayments::WebhookPayload::Data::DunningAttempt::PayloadType::OrSymbol,
|
|
902
|
+
status:
|
|
903
|
+
Dodopayments::WebhookPayload::Data::DunningAttempt::Status::OrSymbol,
|
|
904
|
+
subscription_id: String,
|
|
905
|
+
trigger_state:
|
|
906
|
+
Dodopayments::WebhookPayload::Data::DunningAttempt::TriggerState::OrSymbol,
|
|
907
|
+
payment_id: T.nilable(String)
|
|
908
|
+
}
|
|
909
|
+
)
|
|
910
|
+
end
|
|
911
|
+
def to_hash
|
|
912
|
+
end
|
|
913
|
+
|
|
914
|
+
module PayloadType
|
|
915
|
+
extend Dodopayments::Internal::Type::Enum
|
|
916
|
+
|
|
917
|
+
TaggedSymbol =
|
|
918
|
+
T.type_alias do
|
|
919
|
+
T.all(
|
|
920
|
+
Symbol,
|
|
921
|
+
Dodopayments::WebhookPayload::Data::DunningAttempt::PayloadType
|
|
922
|
+
)
|
|
923
|
+
end
|
|
924
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
925
|
+
|
|
926
|
+
DUNNING_ATTEMPT =
|
|
927
|
+
T.let(
|
|
928
|
+
:DunningAttempt,
|
|
929
|
+
Dodopayments::WebhookPayload::Data::DunningAttempt::PayloadType::TaggedSymbol
|
|
930
|
+
)
|
|
931
|
+
|
|
932
|
+
sig do
|
|
933
|
+
override.returns(
|
|
934
|
+
T::Array[
|
|
935
|
+
Dodopayments::WebhookPayload::Data::DunningAttempt::PayloadType::TaggedSymbol
|
|
936
|
+
]
|
|
937
|
+
)
|
|
938
|
+
end
|
|
939
|
+
def self.values
|
|
940
|
+
end
|
|
941
|
+
end
|
|
942
|
+
|
|
943
|
+
module Status
|
|
944
|
+
extend Dodopayments::Internal::Type::Enum
|
|
945
|
+
|
|
946
|
+
TaggedSymbol =
|
|
947
|
+
T.type_alias do
|
|
948
|
+
T.all(
|
|
949
|
+
Symbol,
|
|
950
|
+
Dodopayments::WebhookPayload::Data::DunningAttempt::Status
|
|
951
|
+
)
|
|
952
|
+
end
|
|
953
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
954
|
+
|
|
955
|
+
RECOVERING =
|
|
956
|
+
T.let(
|
|
957
|
+
:recovering,
|
|
958
|
+
Dodopayments::WebhookPayload::Data::DunningAttempt::Status::TaggedSymbol
|
|
959
|
+
)
|
|
960
|
+
RECOVERED =
|
|
961
|
+
T.let(
|
|
962
|
+
:recovered,
|
|
963
|
+
Dodopayments::WebhookPayload::Data::DunningAttempt::Status::TaggedSymbol
|
|
964
|
+
)
|
|
965
|
+
EXHAUSTED =
|
|
966
|
+
T.let(
|
|
967
|
+
:exhausted,
|
|
968
|
+
Dodopayments::WebhookPayload::Data::DunningAttempt::Status::TaggedSymbol
|
|
969
|
+
)
|
|
970
|
+
|
|
971
|
+
sig do
|
|
972
|
+
override.returns(
|
|
973
|
+
T::Array[
|
|
974
|
+
Dodopayments::WebhookPayload::Data::DunningAttempt::Status::TaggedSymbol
|
|
975
|
+
]
|
|
976
|
+
)
|
|
977
|
+
end
|
|
978
|
+
def self.values
|
|
979
|
+
end
|
|
980
|
+
end
|
|
981
|
+
|
|
982
|
+
module TriggerState
|
|
983
|
+
extend Dodopayments::Internal::Type::Enum
|
|
984
|
+
|
|
985
|
+
TaggedSymbol =
|
|
986
|
+
T.type_alias do
|
|
987
|
+
T.all(
|
|
988
|
+
Symbol,
|
|
989
|
+
Dodopayments::WebhookPayload::Data::DunningAttempt::TriggerState
|
|
990
|
+
)
|
|
991
|
+
end
|
|
992
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
993
|
+
|
|
994
|
+
ON_HOLD =
|
|
995
|
+
T.let(
|
|
996
|
+
:on_hold,
|
|
997
|
+
Dodopayments::WebhookPayload::Data::DunningAttempt::TriggerState::TaggedSymbol
|
|
998
|
+
)
|
|
999
|
+
CANCELLED =
|
|
1000
|
+
T.let(
|
|
1001
|
+
:cancelled,
|
|
1002
|
+
Dodopayments::WebhookPayload::Data::DunningAttempt::TriggerState::TaggedSymbol
|
|
1003
|
+
)
|
|
1004
|
+
|
|
1005
|
+
sig do
|
|
1006
|
+
override.returns(
|
|
1007
|
+
T::Array[
|
|
1008
|
+
Dodopayments::WebhookPayload::Data::DunningAttempt::TriggerState::TaggedSymbol
|
|
1009
|
+
]
|
|
1010
|
+
)
|
|
1011
|
+
end
|
|
1012
|
+
def self.values
|
|
1013
|
+
end
|
|
1014
|
+
end
|
|
1015
|
+
end
|
|
1016
|
+
|
|
621
1017
|
sig do
|
|
622
1018
|
override.returns(
|
|
623
1019
|
T::Array[Dodopayments::WebhookPayload::Data::Variants]
|
data/rbi/dodopayments/models.rbi
CHANGED
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
# typed: strong
|
|
2
2
|
|
|
3
3
|
module Dodopayments
|
|
4
|
+
AbandonedCheckoutDetectedWebhookEvent =
|
|
5
|
+
Dodopayments::Models::AbandonedCheckoutDetectedWebhookEvent
|
|
6
|
+
|
|
7
|
+
AbandonedCheckoutRecoveredWebhookEvent =
|
|
8
|
+
Dodopayments::Models::AbandonedCheckoutRecoveredWebhookEvent
|
|
9
|
+
|
|
4
10
|
AddMeterToPrice = Dodopayments::Models::AddMeterToPrice
|
|
5
11
|
|
|
6
12
|
AddonCartResponseItem = Dodopayments::Models::AddonCartResponseItem
|
|
@@ -205,6 +211,11 @@ module Dodopayments
|
|
|
205
211
|
|
|
206
212
|
DisputeWonWebhookEvent = Dodopayments::Models::DisputeWonWebhookEvent
|
|
207
213
|
|
|
214
|
+
DunningRecoveredWebhookEvent =
|
|
215
|
+
Dodopayments::Models::DunningRecoveredWebhookEvent
|
|
216
|
+
|
|
217
|
+
DunningStartedWebhookEvent = Dodopayments::Models::DunningStartedWebhookEvent
|
|
218
|
+
|
|
208
219
|
Event = Dodopayments::Models::Event
|
|
209
220
|
|
|
210
221
|
EventInput = Dodopayments::Models::EventInput
|
|
@@ -307,6 +318,8 @@ module Dodopayments
|
|
|
307
318
|
|
|
308
319
|
PayoutListParams = Dodopayments::Models::PayoutListParams
|
|
309
320
|
|
|
321
|
+
Payouts = Dodopayments::Models::Payouts
|
|
322
|
+
|
|
310
323
|
Price = Dodopayments::Models::Price
|
|
311
324
|
|
|
312
325
|
Product = Dodopayments::Models::Product
|
|
@@ -11,6 +11,7 @@ module Dodopayments
|
|
|
11
11
|
type: Dodopayments::DiscountType::OrSymbol,
|
|
12
12
|
code: T.nilable(String),
|
|
13
13
|
expires_at: T.nilable(Time),
|
|
14
|
+
metadata: T::Hash[Symbol, String],
|
|
14
15
|
name: T.nilable(String),
|
|
15
16
|
preserve_on_plan_change: T::Boolean,
|
|
16
17
|
restricted_to: T.nilable(T::Array[String]),
|
|
@@ -38,6 +39,8 @@ module Dodopayments
|
|
|
38
39
|
code: nil,
|
|
39
40
|
# When the discount expires, if ever.
|
|
40
41
|
expires_at: nil,
|
|
42
|
+
# Additional metadata for the discount
|
|
43
|
+
metadata: nil,
|
|
41
44
|
name: nil,
|
|
42
45
|
# Whether this discount should be preserved when a subscription changes plans.
|
|
43
46
|
# Default: false (discount is removed on plan change)
|
|
@@ -75,6 +78,7 @@ module Dodopayments
|
|
|
75
78
|
amount: T.nilable(Integer),
|
|
76
79
|
code: T.nilable(String),
|
|
77
80
|
expires_at: T.nilable(Time),
|
|
81
|
+
metadata: T.nilable(T::Hash[Symbol, String]),
|
|
78
82
|
name: T.nilable(String),
|
|
79
83
|
preserve_on_plan_change: T.nilable(T::Boolean),
|
|
80
84
|
restricted_to: T.nilable(T::Array[String]),
|
|
@@ -98,6 +102,8 @@ module Dodopayments
|
|
|
98
102
|
# If present, update the discount code (uppercase).
|
|
99
103
|
code: nil,
|
|
100
104
|
expires_at: nil,
|
|
105
|
+
# Additional metadata for the discount
|
|
106
|
+
metadata: nil,
|
|
101
107
|
name: nil,
|
|
102
108
|
# Whether this discount should be preserved when a subscription changes plans. If
|
|
103
109
|
# not provided, the existing value is kept.
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Dodopayments
|
|
4
|
+
module Resources
|
|
5
|
+
class Payouts
|
|
6
|
+
class Breakup
|
|
7
|
+
class Details
|
|
8
|
+
# Returns paginated individual balance ledger entries for a payout, with each
|
|
9
|
+
# entry's amount pro-rated into the payout's currency. Supports pagination via
|
|
10
|
+
# `page_size` (default 10, max 100) and `page_number` (default 0) query
|
|
11
|
+
# parameters.
|
|
12
|
+
sig do
|
|
13
|
+
params(
|
|
14
|
+
payout_id: String,
|
|
15
|
+
page_number: Integer,
|
|
16
|
+
page_size: Integer,
|
|
17
|
+
request_options: Dodopayments::RequestOptions::OrHash
|
|
18
|
+
).returns(
|
|
19
|
+
Dodopayments::Internal::DefaultPageNumberPagination[
|
|
20
|
+
Dodopayments::Models::Payouts::Breakup::DetailListResponse
|
|
21
|
+
]
|
|
22
|
+
)
|
|
23
|
+
end
|
|
24
|
+
def list(
|
|
25
|
+
# Id of the Payout to get breakup for
|
|
26
|
+
payout_id,
|
|
27
|
+
# Page number (0-indexed). Default: 0.
|
|
28
|
+
page_number: nil,
|
|
29
|
+
# Number of items per page. Default: 10, Max: 100.
|
|
30
|
+
page_size: nil,
|
|
31
|
+
request_options: {}
|
|
32
|
+
)
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
# Downloads the complete payout breakup as a CSV file. Each row represents a
|
|
36
|
+
# balance ledger entry with columns: Ledger ID, Event Type, Original Amount,
|
|
37
|
+
# Original Currency, Reference Object ID, Description, Created At, USD Equivalent
|
|
38
|
+
# Amount, and Payout Currency Amount.
|
|
39
|
+
sig do
|
|
40
|
+
params(
|
|
41
|
+
payout_id: String,
|
|
42
|
+
request_options: Dodopayments::RequestOptions::OrHash
|
|
43
|
+
).void
|
|
44
|
+
end
|
|
45
|
+
def download_csv(
|
|
46
|
+
# Id of the Payout to get breakup for
|
|
47
|
+
payout_id,
|
|
48
|
+
request_options: {}
|
|
49
|
+
)
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
# @api private
|
|
53
|
+
sig { params(client: Dodopayments::Client).returns(T.attached_class) }
|
|
54
|
+
def self.new(client:)
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
end
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Dodopayments
|
|
4
|
+
module Resources
|
|
5
|
+
class Payouts
|
|
6
|
+
class Breakup
|
|
7
|
+
sig { returns(Dodopayments::Resources::Payouts::Breakup::Details) }
|
|
8
|
+
attr_reader :details
|
|
9
|
+
|
|
10
|
+
# Returns the breakdown of a payout by event type (payments, refunds, disputes,
|
|
11
|
+
# fees, etc.) in the payout's currency. Each amount is proportionally allocated
|
|
12
|
+
# based on USD equivalent values, ensuring the total sums exactly to the payout
|
|
13
|
+
# amount.
|
|
14
|
+
sig do
|
|
15
|
+
params(
|
|
16
|
+
payout_id: String,
|
|
17
|
+
request_options: Dodopayments::RequestOptions::OrHash
|
|
18
|
+
).returns(
|
|
19
|
+
T::Array[Dodopayments::Models::Payouts::BreakupRetrieveResponseItem]
|
|
20
|
+
)
|
|
21
|
+
end
|
|
22
|
+
def retrieve(
|
|
23
|
+
# Id of the Payout to get breakup for
|
|
24
|
+
payout_id,
|
|
25
|
+
request_options: {}
|
|
26
|
+
)
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
# @api private
|
|
30
|
+
sig { params(client: Dodopayments::Client).returns(T.attached_class) }
|
|
31
|
+
def self.new(client:)
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
@@ -112,6 +112,10 @@ module Dodopayments
|
|
|
112
112
|
subscription_id: String,
|
|
113
113
|
billing: T.nilable(Dodopayments::BillingAddress::OrHash),
|
|
114
114
|
cancel_at_next_billing_date: T.nilable(T::Boolean),
|
|
115
|
+
cancel_reason:
|
|
116
|
+
T.nilable(
|
|
117
|
+
Dodopayments::SubscriptionUpdateParams::CancelReason::OrSymbol
|
|
118
|
+
),
|
|
115
119
|
credit_entitlement_cart:
|
|
116
120
|
T.nilable(
|
|
117
121
|
T::Array[
|
|
@@ -136,6 +140,7 @@ module Dodopayments
|
|
|
136
140
|
billing: nil,
|
|
137
141
|
# When set, the subscription will remain active until the end of billing period
|
|
138
142
|
cancel_at_next_billing_date: nil,
|
|
143
|
+
cancel_reason: nil,
|
|
139
144
|
# Update credit entitlement cart settings
|
|
140
145
|
credit_entitlement_cart: nil,
|
|
141
146
|
customer_name: nil,
|
|
@@ -131,6 +131,8 @@ module Dodopayments
|
|
|
131
131
|
sig do
|
|
132
132
|
params(payload: String).returns(
|
|
133
133
|
T.any(
|
|
134
|
+
Dodopayments::AbandonedCheckoutDetectedWebhookEvent,
|
|
135
|
+
Dodopayments::AbandonedCheckoutRecoveredWebhookEvent,
|
|
134
136
|
Dodopayments::CreditAddedWebhookEvent,
|
|
135
137
|
Dodopayments::CreditBalanceLowWebhookEvent,
|
|
136
138
|
Dodopayments::CreditDeductedWebhookEvent,
|
|
@@ -146,6 +148,8 @@ module Dodopayments
|
|
|
146
148
|
Dodopayments::DisputeLostWebhookEvent,
|
|
147
149
|
Dodopayments::DisputeOpenedWebhookEvent,
|
|
148
150
|
Dodopayments::DisputeWonWebhookEvent,
|
|
151
|
+
Dodopayments::DunningRecoveredWebhookEvent,
|
|
152
|
+
Dodopayments::DunningStartedWebhookEvent,
|
|
149
153
|
Dodopayments::LicenseKeyCreatedWebhookEvent,
|
|
150
154
|
Dodopayments::PaymentCancelledWebhookEvent,
|
|
151
155
|
Dodopayments::PaymentFailedWebhookEvent,
|
|
@@ -177,6 +181,8 @@ module Dodopayments
|
|
|
177
181
|
key: T.nilable(String)
|
|
178
182
|
).returns(
|
|
179
183
|
T.any(
|
|
184
|
+
Dodopayments::AbandonedCheckoutDetectedWebhookEvent,
|
|
185
|
+
Dodopayments::AbandonedCheckoutRecoveredWebhookEvent,
|
|
180
186
|
Dodopayments::CreditAddedWebhookEvent,
|
|
181
187
|
Dodopayments::CreditBalanceLowWebhookEvent,
|
|
182
188
|
Dodopayments::CreditDeductedWebhookEvent,
|
|
@@ -192,6 +198,8 @@ module Dodopayments
|
|
|
192
198
|
Dodopayments::DisputeLostWebhookEvent,
|
|
193
199
|
Dodopayments::DisputeOpenedWebhookEvent,
|
|
194
200
|
Dodopayments::DisputeWonWebhookEvent,
|
|
201
|
+
Dodopayments::DunningRecoveredWebhookEvent,
|
|
202
|
+
Dodopayments::DunningStartedWebhookEvent,
|
|
195
203
|
Dodopayments::LicenseKeyCreatedWebhookEvent,
|
|
196
204
|
Dodopayments::PaymentCancelledWebhookEvent,
|
|
197
205
|
Dodopayments::PaymentFailedWebhookEvent,
|