Braintree.HTTP (Braintree v0.13.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

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

Link to this section Functions

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

delete(path, payload)

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

delete(path, payload, opts)

@spec delete(binary(), map(), list()) :: response()
@spec get(binary()) :: response()
Link to this function

get(path, payload)

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

get(path, payload, opts)

@spec get(binary(), map(), list()) :: response()
@spec post(binary()) :: response()
Link to this function

post(path, payload)

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

post(path, payload, opts)

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

put(path, payload)

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

put(path, payload, opts)

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

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

@spec 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

Example

defmodule MyApp.Disbursement do
  alias Braintree.HTTP

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