View Source Stripe.PromotionCode (stripity_stripe v3.2.0)

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

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.

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.

Functions

Link to this function

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

View Source
@spec create(
  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(params \\ %{}, opts \\ [])

View Source
@spec list(
  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(promotion_code, params \\ %{}, opts \\ [])

View Source
@spec retrieve(
  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(promotion_code, params \\ %{}, opts \\ [])

View Source
@spec update(
  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}