Coupon.php 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. <?php
  2. // File generated from our OpenAPI spec
  3. namespace Stripe;
  4. /**
  5. * A coupon contains information about a percent-off or amount-off discount you
  6. * might want to apply to a customer. Coupons may be applied to <a
  7. * href="https://stripe.com/docs/api#subscriptions">subscriptions</a>, <a
  8. * href="https://stripe.com/docs/api#invoices">invoices</a>, <a
  9. * href="https://stripe.com/docs/api/checkout/sessions">checkout sessions</a>, <a
  10. * href="https://stripe.com/docs/api#quotes">quotes</a>, and more. Coupons do not
  11. * work with conventional one-off <a
  12. * href="https://stripe.com/docs/api#create_charge">charges</a> or <a
  13. * href="https://stripe.com/docs/api/payment_intents">payment intents</a>.
  14. *
  15. * @property string $id Unique identifier for the object.
  16. * @property string $object String representing the object's type. Objects of the same type share the same value.
  17. * @property null|int $amount_off Amount (in the <code>currency</code> specified) that will be taken off the subtotal of any invoices for this customer.
  18. * @property null|\Stripe\StripeObject $applies_to
  19. * @property int $created Time at which the object was created. Measured in seconds since the Unix epoch.
  20. * @property null|string $currency If <code>amount_off</code> has been set, the three-letter <a href="https://stripe.com/docs/currencies">ISO code for the currency</a> of the amount to take off.
  21. * @property null|\Stripe\StripeObject $currency_options Coupons defined in each available currency option. Each key must be a three-letter <a href="https://www.iso.org/iso-4217-currency-codes.html">ISO currency code</a> and a <a href="https://stripe.com/docs/currencies">supported currency</a>.
  22. * @property string $duration One of <code>forever</code>, <code>once</code>, and <code>repeating</code>. Describes how long a customer who applies this coupon will get the discount.
  23. * @property null|int $duration_in_months If <code>duration</code> is <code>repeating</code>, the number of months the coupon applies. Null if coupon <code>duration</code> is <code>forever</code> or <code>once</code>.
  24. * @property bool $livemode Has the value <code>true</code> if the object exists in live mode or the value <code>false</code> if the object exists in test mode.
  25. * @property null|int $max_redemptions Maximum number of times this coupon can be redeemed, in total, across all customers, before it is no longer valid.
  26. * @property null|\Stripe\StripeObject $metadata Set of <a href="https://stripe.com/docs/api/metadata">key-value pairs</a> that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
  27. * @property null|string $name Name of the coupon displayed to customers on for instance invoices or receipts.
  28. * @property null|float $percent_off Percent that will be taken off the subtotal of any invoices for this customer for the duration of the coupon. For example, a coupon with percent_off of 50 will make a %s100 invoice %s50 instead.
  29. * @property null|int $redeem_by Date after which the coupon can no longer be redeemed.
  30. * @property int $times_redeemed Number of times this coupon has been applied to a customer.
  31. * @property bool $valid Taking account of the above properties, whether this coupon can still be applied to a customer.
  32. */
  33. class Coupon extends ApiResource
  34. {
  35. const OBJECT_NAME = 'coupon';
  36. use ApiOperations\All;
  37. use ApiOperations\Create;
  38. use ApiOperations\Delete;
  39. use ApiOperations\Retrieve;
  40. use ApiOperations\Update;
  41. }