cover/Elixir.WalletIntegrations.Events.PaymentInitiated.html

1 defmodule WalletIntegrations.Events.PaymentInitiated do
2 @moduledoc "Emitted when an outbound payment request is created and enqueued."
3 @behaviour WalletEvents.DomainEvent
4
5 @impl true
6 21 def event_name, do: "PaymentInitiated.v1"
7 @impl true
8 21 def event_version, do: 1
9
10
:-(
def build(request_id, opts \\ []) do
11 21 %{
12 event_id: WalletSharedKernel.Correlation.new_request_id(),
13 event_name: event_name(),
14 event_version: event_version(),
15 aggregate_id: request_id,
16 correlation_id: Keyword.get(opts, :correlation_id, WalletSharedKernel.Correlation.new_correlation_id()),
17 occurred_at: DateTime.utc_now(),
18 payload: %{
19 request_id: request_id,
20 transfer_id: Keyword.get(opts, :transfer_id),
21 provider: Keyword.get(opts, :provider),
22 amount: Keyword.get(opts, :amount),
23 currency: Keyword.get(opts, :currency)
24 }
25 }
26 end
27 end
Line Hits Source