Braintree.PaymentMethod (Braintree v0.13.0)

Create, update, find and delete payment methods. Payment methods may be a CreditCard or a PaypalAccount.

Link to this section Summary

Functions

Create a payment method record, or return an error response with after failed validation.

Delete a payment method record, or return an error response if token invalid

Find a payment method record, or return an error response if token invalid

Update a payment method record, or return an error response with after failed validation.

Link to this section Functions

Link to this function

create(params \\ %{}, opts \\ [])

@spec create(map(), Keyword.t()) ::
  {:ok, Braintree.CreditCard.t()}
  | {:ok, Braintree.PaypalAccount.t()}
  | {:ok, Braintree.UsBankAccount.t()}
  | {:error, Braintree.ErrorResponse.t()}

Create a payment method record, or return an error response with after failed validation.

example

Example

{:ok, customer} = Braintree.Customer.create(%{
  first_name: "Jen",
  last_name: "Smith"
})

{:ok, credit_card} = Braintree.PaymentMethod.create(%{
  customer_id: customer.id,
  payment_method_nonce: Braintree.Testing.Nonces.transactable
})

credit_card.type # "Visa"
Link to this function

delete(token, opts \\ [])

@spec delete(String.t(), Keyword.t()) :: :ok | {:error, Braintree.ErrorResponse.t()}

Delete a payment method record, or return an error response if token invalid

example

Example

{:ok, "Success"} = Braintree.PaymentMethod.delete(token)
Link to this function

find(token, opts \\ [])

Find a payment method record, or return an error response if token invalid

example

Example

{:ok, payment_method} = Braintree.PaymentMethod.find(token)

payment_method.type # CreditCard
Link to this function

update(token, params \\ %{}, opts \\ [])

@spec update(String.t(), map(), Keyword.t()) ::
  {:ok, Braintree.CreditCard.t()}
  | {:ok, Braintree.PaypalAccount.t()}
  | {:error, Braintree.ErrorResponse.t()}

Update a payment method record, or return an error response with after failed validation.

example

Example

{:ok, customer} = Braintree.Customer.create(%{
  first_name: "Jen",
  last_name: "Smith"
})

{:ok, credit_card} = Braintree.PaymentMethod.create(%{
  customer_id: customer.id,
  cardholder_name: "CH Name",
  payment_method_nonce: Braintree.Testing.Nonces.transactable
})

{:ok, payment_method} = Braintree.PaymentMethod.update(
  credit_card.token,
  %{cardholder_name: "NEW"}
)

payment_method.cardholder_name # "NEW"