View Source Stripe.PromotionCode (Striped v0.5.0) (generated)

A Promotion Code represents a customer-redeemable code for a coupon. It can be used to create multiple codes for a single coupon.

Link to this section Summary

Types

Settings that restrict the redemption of the promotion code.

t()

The promotion_code type.

Functions

A promotion code points to a coupon. You can optionally restrict the code to a specific customer, redemption limit, and expiration date.

Returns a list of your promotion codes.

Retrieves the promotion code with the given ID. In order to retrieve a promotion code by the customer-facing code use list with the desired code.

Updates the specified promotion code by setting the values of the parameters passed. Most fields are, by design, not editable.

Link to this section Types

@type created() :: %{
  optional(:gt) => integer(),
  optional(:gte) => integer(),
  optional(:lt) => integer(),
  optional(:lte) => integer()
}
@type restrictions() :: %{
  optional(:currency_options) => map(),
  optional(:first_time_transaction) => boolean(),
  optional(:minimum_amount) => integer(),
  optional(:minimum_amount_currency) => binary()
}

Settings that restrict the redemption of the promotion code.

@type t() :: %Stripe.PromotionCode{
  active: boolean(),
  code: binary(),
  coupon: Stripe.Coupon.t(),
  created: integer(),
  customer: (binary() | Stripe.Customer.t() | Stripe.DeletedCustomer.t()) | nil,
  expires_at: integer() | nil,
  id: binary(),
  livemode: boolean(),
  max_redemptions: integer() | nil,
  metadata: term() | nil,
  object: binary(),
  restrictions: term(),
  times_redeemed: integer()
}

The promotion_code type.

  • active Whether the promotion code is currently active. A promotion code is only active if the coupon is also valid.
  • code The customer-facing code. Regardless of case, this code must be unique across all active promotion codes for each customer.
  • coupon
  • created Time at which the object was created. Measured in seconds since the Unix epoch.
  • customer The customer that this promotion code can be used by.
  • expires_at Date at which the promotion code can no longer be redeemed.
  • id Unique identifier for the object.
  • livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode.
  • max_redemptions Maximum number of times this promotion code can be redeemed.
  • metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
  • object String representing the object's type. Objects of the same type share the same value.
  • restrictions
  • times_redeemed Number of times this promotion code has been used.

Link to this section Functions

Link to this function

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

View Source
@spec create(
  client :: Stripe.t(),
  params :: %{
    optional(:active) => boolean(),
    optional(:code) => binary(),
    optional(:coupon) => binary(),
    optional(:customer) => binary(),
    optional(:expand) => [binary()],
    optional(:expires_at) => integer(),
    optional(:max_redemptions) => integer(),
    optional(:metadata) => %{optional(binary()) => binary()},
    optional(:restrictions) => restrictions()
  },
  opts :: Keyword.t()
) :: {:ok, t()} | {:error, Stripe.ApiErrors.t()} | {:error, term()}

A promotion code points to a coupon. You can optionally restrict the code to a specific customer, redemption limit, and expiration date.

Details

  • Method: post
  • Path: /v1/promotion_codes
Link to this function

list(client, params \\ %{}, opts \\ [])

View Source
@spec list(
  client :: Stripe.t(),
  params :: %{
    optional(:active) => boolean(),
    optional(:code) => binary(),
    optional(:coupon) => binary(),
    optional(:created) => created() | integer(),
    optional(:customer) => binary(),
    optional(:ending_before) => binary(),
    optional(:expand) => [binary()],
    optional(:limit) => integer(),
    optional(:starting_after) => binary()
  },
  opts :: Keyword.t()
) ::
  {:ok, Stripe.List.t(t())} | {:error, Stripe.ApiErrors.t()} | {:error, term()}

Returns a list of your promotion codes.

Details

  • Method: get
  • Path: /v1/promotion_codes
Link to this function

retrieve(client, promotion_code, params \\ %{}, opts \\ [])

View Source
@spec retrieve(
  client :: Stripe.t(),
  promotion_code :: binary(),
  params :: %{optional(:expand) => [binary()]},
  opts :: Keyword.t()
) :: {:ok, t()} | {:error, Stripe.ApiErrors.t()} | {:error, term()}

Retrieves the promotion code with the given ID. In order to retrieve a promotion code by the customer-facing code use list with the desired code.

Details

  • Method: get
  • Path: /v1/promotion_codes/{promotion_code}
Link to this function

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

View Source
@spec update(
  client :: Stripe.t(),
  promotion_code :: binary(),
  params :: %{
    optional(:active) => boolean(),
    optional(:expand) => [binary()],
    optional(:metadata) => %{optional(binary()) => binary()} | binary(),
    optional(:restrictions) => restrictions()
  },
  opts :: Keyword.t()
) :: {:ok, t()} | {:error, Stripe.ApiErrors.t()} | {:error, term()}

Updates the specified promotion code by setting the values of the parameters passed. Most fields are, by design, not editable.

Details

  • Method: post
  • Path: /v1/promotion_codes/{promotion_code}