@@ -7,6 +7,9 @@ defmodule AlgoraWeb.User.TransactionsLive do
7
7
8
8
alias Algora.Accounts.User
9
9
alias Algora.Payments
10
+ alias Algora.Payments.StripeAccountCreateError
11
+ alias Algora.Payments.StripeAccountDeleteError
12
+ alias Algora.Payments.StripeAccountLinkError
10
13
alias Algora.Stripe.ConnectCountries
11
14
alias Algora.Util
12
15
@@ -79,8 +82,16 @@ defmodule AlgoraWeb.User.TransactionsLive do
79
82
80
83
def handle_event ( "setup_payout_account" , _params , socket ) do
81
84
case Payments . create_account_link ( socket . assigns . account , AlgoraWeb.Endpoint . url ( ) ) do
82
- { :ok , % { url: url } } -> { :noreply , redirect ( socket , external: url ) }
83
- { :error , _reason } -> { :noreply , put_flash ( socket , :error , "Something went wrong" ) }
85
+ { :ok , % { url: url } } ->
86
+ { :noreply , redirect ( socket , external: url ) }
87
+
88
+ { :error , % Stripe.Error { } = error } ->
89
+ Algora.Notifier . notify_stripe_account_link_error ( socket . assigns . current_user , error )
90
+ Algora.Signal . send_stripe_error ( error , % StripeAccountLinkError { } )
91
+ { :noreply , put_flash ( socket , :error , "Failed to link payout account for your country" ) }
92
+
93
+ { :error , _reason } ->
94
+ { :noreply , put_flash ( socket , :error , "Something went wrong" ) }
84
95
end
85
96
end
86
97
@@ -98,8 +109,13 @@ defmodule AlgoraWeb.User.TransactionsLive do
98
109
{ :ok , % { url: url } } <- Payments . create_account_link ( account , AlgoraWeb.Endpoint . url ( ) ) do
99
110
{ :noreply , redirect ( socket , external: url ) }
100
111
else
101
- { :error , _reason } ->
112
+ { :error , % Stripe.Error { } = error } ->
113
+ Algora.Notifier . notify_stripe_account_link_error ( socket . assigns . current_user , error )
114
+ Algora.Signal . send_stripe_error ( error , % StripeAccountCreateError { } )
102
115
{ :noreply , put_flash ( socket , :error , "Failed to create payout account" ) }
116
+
117
+ { :error , _reason } ->
118
+ { :noreply , put_flash ( socket , :error , "Something went wrong" ) }
103
119
end
104
120
else
105
121
{ :noreply , assign ( socket , :payout_account_form , to_form ( changeset ) ) }
@@ -124,11 +140,15 @@ defmodule AlgoraWeb.User.TransactionsLive do
124
140
|> assign ( :show_manage_payout_drawer , false )
125
141
|> put_flash ( :info , "Payout account deleted successfully" ) }
126
142
143
+ { :error , % Stripe.Error { } = error } ->
144
+ Algora.Signal . send_stripe_error ( error , % StripeAccountDeleteError { } )
145
+ { :noreply , put_flash ( socket , :error , "Failed to delete payout account" ) }
146
+
127
147
{ :error , _reason } ->
128
148
{ :noreply ,
129
149
socket
130
150
|> assign ( :show_delete_confirmation , false )
131
- |> put_flash ( :error , "Failed to delete payout account " ) }
151
+ |> put_flash ( :error , "Something went wrong " ) }
132
152
end
133
153
end
134
154
0 commit comments