Merchant.Orders (Merchant v0.6.0)

View Source

Module for orders.

Summary

Functions

Cancel a Merchant.Order object.

Capture a Merchant.Order object.

Create a Merchant.Order object.

Pay a Merchant.Order object.

Refund a Merchant.Order object.

Retrieve a Merchant.Order object.

Retrieve payments list for a Merchant.Order object.

Update a Merchant.Order object.

Types

capture_params()

@type capture_params() :: %{optional(:amount) => integer()}

create_params()

@type create_params() :: %{
  :amount => integer(),
  :currency => String.t(),
  optional(:description) => String.t(),
  optional(:customer) => Merchant.Customer.t(),
  optional(:enforce_challenge) => String.t(),
  optional(:line_items) => [Merchant.LineItem.t()],
  optional(:shipping) => Merchant.Shipping.t(),
  optional(:capture_mode) => String.t(),
  optional(:cancel_authorised_after) => String.t(),
  optional(:location_id) => String.t(),
  optional(:metadata) => Merchant.Metadata.t(),
  optional(:industry_data) =>
    Merchant.AirlineData.t()
    | Merchant.CryptoTransactions.t()
    | Merchant.Events.t()
    | Merchant.Lodging.t()
    | Merchant.Marketplace.t(),
  optional(:merchant_order_data) => Merchant.MerchantOrderData.t(),
  optional(:upcoming_payment_data) => Merchant.UpcomingPayment.t(),
  optional(:redirect_url) => String.t(),
  optional(:statement_descriptor_suffix) => String.t()
}

pay_params()

@type pay_params() :: %{
  saved_payment_method: %{
    id: String.t(),
    type: String.t(),
    initiator: String.t(),
    environment: %{
      type: String.t(),
      time_zone_utc_offset: integer(),
      color_depth: integer(),
      screen_width: integer(),
      screen_height: integer(),
      java_enabled: boolean(),
      challenge_window_width: integer(),
      browser_url: String.t()
    }
  }
}

pay_result()

@type pay_result() :: %{
  id: String.t(),
  order_id: String.t(),
  payment_method: map(),
  state: String.t(),
  authentication_challenge: map() | nil
}

refund_params()

@type refund_params() :: %{
  :amount => integer(),
  :currency => String.t(),
  optional(:merchant_order_data) => Merchant.MerchantOrderData.t(),
  optional(:metadata) => Merchant.Metadata.t(),
  optional(:description) => String.t()
}

update_params()

@type update_params() :: %{
  optional(:amount) => integer(),
  optional(:currency) => String.t(),
  optional(:settlement_currency) => String.t(),
  optional(:description) => String.t(),
  optional(:customer) => Merchant.Customer.t(),
  optional(:shipping) => Merchant.Shipping.t(),
  optional(:enforce_challenge) => String.t(),
  optional(:line_items) => [Merchant.LineItem.t()],
  optional(:capture_mode) => String.t(),
  optional(:cancel_authorised_after) => String.t(),
  optional(:metadata) => Merchant.Metadata.t(),
  optional(:industry_data) =>
    Merchant.AirlineData.t()
    | Merchant.CryptoTransactions.t()
    | Merchant.Events.t()
    | Merchant.Lodging.t()
    | Merchant.Marketplace.t(),
  optional(:merchant_order_data) => Merchant.MerchantOrderData.t(),
  optional(:upcoming_payment_data) => Merchant.UpcomingPayment.t(),
  optional(:redirect_url) => String.t(),
  optional(:statement_descriptor_suffix) => String.t()
}

Functions

cancel(id)

@spec cancel(String.t()) :: {:ok, Merchant.OrderV4.t()} | Merchant.Client.error()

Cancel a Merchant.Order object.

capture(id, params \\ %{})

@spec capture(String.t(), capture_params()) ::
  {:ok, Merchant.OrderV4.t()} | Merchant.Client.error()

Capture a Merchant.Order object.

create(params)

@spec create(create_params()) :: {:ok, Merchant.OrderV4.t()} | Merchant.Client.error()

Create a Merchant.Order object.

pay(id, params)

@spec pay(String.t(), pay_params()) :: {:ok, pay_result()} | Merchant.Client.error()

Pay a Merchant.Order object.

refund(id, refund_params)

@spec refund(String.t(), refund_params()) ::
  {:ok, Merchant.OrderV4.t()} | Merchant.Client.error()

Refund a Merchant.Order object.

retrieve(id)

@spec retrieve(String.t()) :: {:ok, Merchant.OrderV4.t()} | Merchant.Client.error()

Retrieve a Merchant.Order object.

retrieve_payments_list(id)

@spec retrieve_payments_list(String.t()) ::
  {:ok, [Merchant.PaymentV2.t()]} | Merchant.Client.error()

Retrieve payments list for a Merchant.Order object.

update(id, params)

@spec update(String.t(), update_params()) ::
  {:ok, Merchant.OrderV4.t()} | Merchant.Client.error()

Update a Merchant.Order object.