Current section
Files
Jump to
Current section
Files
lib/base_payment/credit_card_behaviour.ex
defmodule BasePayment.CreditCardBehaviour do
@moduledoc """
Credit card behaviour for payment gateways.
"""
alias BasePayment.{CardTokenPayload, CreditCardPayload, SuccessResponse, ErrorResponse}
@callback create_token(payload :: %CardTokenPayload{}) :: {:ok, %SuccessResponse{}} | {:error, %ErrorResponse{}}
@callback process_payment(payload :: %CreditCardPayload{}) :: {:ok, %SuccessResponse{}} | {:error, %ErrorResponse{}}
end