cover/Elixir.WalletIntegrations.Events.PaymentCompleted.html

1 defmodule WalletIntegrations.Events.PaymentCompleted do
2 @moduledoc "Emitted when a provider confirms a payment as completed."
3 @behaviour WalletEvents.DomainEvent
4
5 @impl true
6
:-(
def event_name, do: "PaymentCompleted.v1"
7 @impl true
8
:-(
def event_version, do: 1
9
10
:-(
def build(request_id, opts \\ []) do
11
:-(
%{
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_reference: Keyword.get(opts, :provider_reference),
22 provider_status_code: Keyword.get(opts, :provider_status_code)
23 }
24 }
25 end
26 end
Line Hits Source