Packages

An Elixir library for interacting with the Bold API, providing seamless integration to manage payments efficiently.

Current section

Files

Jump to
bold lib ports payment_gateway.ex
Raw

lib/ports/payment_gateway.ex

defmodule Bold.Ports.PaymentGateway do
@moduledoc """
Behaviour for payment gateways.
"""
alias Bold.Types.{
Error,
PaymentLinkRequest,
PaymentLinkResponse,
PaymentMethodsResponse,
PaymentStatusResponse
}
@callback create_link(PaymentLinkRequest.t()) ::
{:ok, PaymentLinkResponse.t()} | {:errors, list(Error.t())}
@callback get_link(String.t()) :: {:ok, PaymentStatusResponse.t()} | {:errors, list(Error.t())}
@callback list_methods() :: {:ok, PaymentMethodsResponse.t()} | {:errors, list(Error.t())}
end