Skip to content

Commit 2961da3

Browse files
committed
init transfers
1 parent d0f078e commit 2961da3

File tree

2 files changed

+20
-4
lines changed

2 files changed

+20
-4
lines changed
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
defmodule Algora.Payments.Jobs.ExecuteTransfer do
2+
@moduledoc false
3+
use Oban.Worker, queue: :execute_transfer
4+
5+
@impl Oban.Worker
6+
def perform(%Oban.Job{args: %{transfer_id: transfer_id, user_id: user_id}}) do
7+
# TODO: execute transfer
8+
dbg("executing transfer #{transfer_id} for user #{user_id}")
9+
{:error, :not_implemented}
10+
end
11+
end

lib/algora_web/controllers/webhooks/stripe_controller.ex

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ defmodule AlgoraWeb.Webhooks.StripeController do
44
import Ecto.Query
55

66
alias Algora.Payments
7+
alias Algora.Payments.Jobs.ExecuteTransfer
78
alias Algora.Payments.Transaction
89
alias Algora.Repo
910

@@ -22,10 +23,14 @@ defmodule AlgoraWeb.Webhooks.StripeController do
2223
set: [status: :succeeded, succeeded_at: DateTime.utc_now()]
2324
)
2425

25-
# TODO: initiate pending transfers if any recipient has a payout account
26-
# %{transfer_id: transfer_id, user_id: user_id}
27-
# |> Algora.Workers.InitiateTransfer.new()
28-
# |> Oban.insert()
26+
# TODO: get pending transfers (recipient with active payout accounts)
27+
transfers = []
28+
29+
Enum.map(transfers, fn %{transfer_id: transfer_id, user_id: user_id} ->
30+
%{transfer_id: transfer_id, user_id: user_id}
31+
|> ExecuteTransfer.new()
32+
|> Oban.insert()
33+
end)
2934

3035
{:ok, count}
3136
end)

0 commit comments

Comments
 (0)