elavon v0.1.1 Elavon View Source

Provides functions to interact with USBank Elavon Converge API. You can configure the API with a mock for testing if necessary.

Configuration

config :elavon, api_module: Elavon.API.HTTP

In test mode:

config :elavon, api_module: Elavon.API.Mock

Link to this section Summary

Functions

Creates a sale with the specified parameters

Link to this section Functions

Link to this function sale(params, opts \\ []) View Source
sale(map(), list()) ::
  {:ok, %Elavon.Transaction{EDate: term(), SDate: term(), Site: term(), ssl_access_code: term(), ssl_account_balance: term(), ssl_account_status: term(), ssl_amount: term(), ssl_approval_code: term(), ssl_avs_response: term(), ssl_card_number: term(), ssl_card_type: term(), ssl_completion_date: term(), ssl_cvv2_response: term(), ssl_departure_date: term(), ssl_enrollment: term(), ssl_exp_date: term(), ssl_invoice_number: term(), ssl_issue_points: term(), ssl_loyalty_account_balance: term(), ssl_loyalty_program: term(), ssl_promo_code: term(), ssl_result: term(), ssl_result_message: term(), ssl_salestax: term(), ssl_tender_amount: term(), ssl_txn_id: term(), ssl_txn_time: term()}} |
  {:error, %Elavon.Exception{__exception__: term(), code: term(), message: term(), name: term(), raw_body: term()}} |
  {:error, map()}

Creates a sale with the specified parameters.

Examples

#=> Elavon.sale(%{
  ssl_card_number: 4124939999999990,
  ssl_cvv2cvc2_indicator: 1,
  ssl_cvv2cvc2: 123,
  ssl_amount: 10.00,
  ssl_exp_date: 1220
})
{:ok, %Elavon.Transaction{}}