Current section

Files

Jump to
ex_saferpay lib ex_saferpay request transaction_capture.ex
Raw

lib/ex_saferpay/request/transaction_capture.ex

defmodule ExSaferpay.Request.TransactionCapture do
@moduledoc """
Request Body for http://saferpay.github.io/jsonapi/#Payment_v1_Transaction_Capture
"""
use ExSaferpay.RequestNormalizer
alias ExSaferpay.Request
@type t :: %__MODULE__{
request_header: Request.RequestHeader.t(),
transaction_reference: Request.TransactionReference.t(),
amount: nil | Request.Amount.t(),
billpay: nil | Request.Billpay.t(),
partial: nil | Request.Partial.t(),
pending_notification: Request.PendingNotification.t()
}
@enforce_keys [
:request_header,
:transaction_reference
]
defstruct @enforce_keys ++
[
:amount,
:billpay,
:partial,
:pending_notification
]
def new(attrs), do: struct!(__MODULE__, attrs)
def generate(attrs) do
%{
request_header: Request.RequestHeader.generate()
}
|> Map.merge(attrs)
|> new
end
end