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
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 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.
activeWhether the promotion code is currently active. A promotion code is only active if the coupon is also valid.codeThe customer-facing code. Regardless of case, this code must be unique across all active promotion codes for each customer.couponcreatedTime at which the object was created. Measured in seconds since the Unix epoch.customerThe customer that this promotion code can be used by.expires_atDate at which the promotion code can no longer be redeemed.idUnique identifier for the object.livemodeHas the valuetrueif the object exists in live mode or the valuefalseif the object exists in test mode.max_redemptionsMaximum number of times this promotion code can be redeemed.metadataSet 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.objectString representing the object's type. Objects of the same type share the same value.restrictionstimes_redeemedNumber of times this promotion code has been used.
Functions
@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 
@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 
@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} 
@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}