Braintree.HTTP (Braintree v0.12.0)

Base client for all server interaction, used by all endpoint specific modules.

This request wrapper coordinates the remote server, headers, authorization and SSL options.

Using Braintree.HTTP requires the presence of three config values:

  • merchant_id - Braintree merchant id
  • private_key - Braintree private key
  • public_key - Braintree public key

All three values must be set or a Braintree.ConfigError will be raised at runtime. All those config values support the {:system, "VAR_NAME"} as a value - in which case the value will be read from the system environment with System.get_env("VAR_NAME").

Link to this section Summary

Functions

Centralized request handling function. All convenience structs use this function to interact with the Braintree servers. This function can be used directly to supplement missing functionality.

Link to this section Types

Specs

response() ::
  {:ok, map() | {:error, atom()}}
  | {:error, Braintree.ErrorResponse.t()}
  | {:error, binary()}

Link to this section Functions

Specs

delete(binary()) :: response()
Link to this function

delete(path, payload)

Specs

delete(binary(), map() | list()) :: response()
Link to this function

delete(path, payload, opts)

Specs

delete(binary(), map(), list()) :: response()

Specs

get(binary()) :: response()
Link to this function

get(path, payload)

Specs

get(binary(), map() | list()) :: response()
Link to this function

get(path, payload, opts)

Specs

get(binary(), map(), list()) :: response()

Specs

post(binary()) :: response()
Link to this function

post(path, payload)

Specs

post(binary(), map() | list()) :: response()
Link to this function

post(path, payload, opts)

Specs

post(binary(), map(), list()) :: response()

Specs

put(binary()) :: response()
Link to this function

put(path, payload)

Specs

put(binary(), map() | list()) :: response()
Link to this function

put(path, payload, opts)

Specs

put(binary(), map(), list()) :: response()
Link to this function

request(method, path, body \\ %{}, opts \\ [])

Specs

request(atom(), binary(), binary() | map(), Keyword.t()) :: response()

Centralized request handling function. All convenience structs use this function to interact with the Braintree servers. This function can be used directly to supplement missing functionality.

Example

defmodule MyApp.Disbursement do
  alias Braintree.HTTP

  def disburse(params \ %{}) do
    HTTP.request(:get, "disbursements", params)
  end
end