Промокод Stripe: как проверить, использовал ли пользователь промокод раньше или нет

У меня есть проект Django, настроенный на использование Stripe для платежей. Я создал промокоды для скидок, которые могут быть использованы только один раз для одного клиента. Проблема заключается в том, что я хочу проверить, использовал ли данный клиент уже определенный промокод. Если он не был использован, я хочу перейти к следующему шагу; в противном случае я хочу остановить клиента на этом этапе.

Я ввел промокод, но он возвращает следующие значения:

{
  "active": true,
  "code": "test10",
  "coupon": {
    "amount_off": null,
    "created": 1716289929,
    "currency": "usd",
    "duration": "once",
    "duration_in_months": null,
    "id": "test10",
    "livemode": false,
    "max_redemptions": null,
    "metadata": {},
    "name": null,
    "object": "coupon",
    "percent_off": 10.0,
    "redeem_by": null,
    "times_redeemed": 1,
    "valid": true
  },
  "created": 1716289930,
  "customer": null,
  "expires_at": 1716595200,
  "id": "promo_1PIqc2B67hjAZnF4umv6pZCP",
  "livemode": false,
  "max_redemptions": null,
  "metadata": {},
  "object": "promotion_code",
  "restrictions": {
    "first_time_transaction": true,
    "minimum_amount": null,
    "minimum_amount_currency": null
  },
  "times_redeemed": 1
}

Я не могу найти API, который проверяет, использовал ли клиент уже данный промокод.

Я ожидаю метод или конечную точку API в Stripe, которая позволит мне проверить, использовал ли конкретный клиент (ID клиента) определенный промокод.

Я создал промокод, который может быть использован только один раз для одного клиента.

Вам нужно либо:

  • создайте отдельные объекты одноразового промокода для каждого клиента, а затем перечислите их по customer и code (в случае, если вы хотите использовать один и тот же код), чтобы проверить, был ли он использован, или
  • обновите поле metadata клиента, чтобы записать, был ли использован данный промокод.
Вернуться на верх