С Stripe каждый запрос API возвращает ответ JSON, который затем может быть десериализован в соответствующем ресурсе API. Это означает, что когда вы вызываете Create Product API , вы получаете Product
обратно, а когда вы вызываете Create Price API , вы получаете Price
обратно.
Большинство ресурсов API, с которыми вы взаимодействуете, будут иметь идентификатор. Итак, для Product
это prod_123456
, а для Price
это price_abcdefg
.
В вашем коде вам необходимо сохранить результат создания продукта в переменной, чтобы вы могли ссылаться на него при создании цены.
def checkout(request):
customer = request.user.customer
order = Order.objects.get(customer=customer)
items = order.orderitem_set.all()
for item in items:
product = stripe.Product.create(
name = item.name
description= item.desc
)
price = stripe.Price.create(
product= product.id,
unit_amount=int(order.get_cart_total),
currency='gbp',
)
Точно так же, когда вы go пытаетесь создать сеанс, вам необходимо убедиться, что вы установили список позиций с правильными ценовыми идентификаторами, которые вы только что создали.
Точно так же в большинстве случаев вы уже заранее создали бы свой каталог продуктов и цен в Stripe. Идея состоит в том, что вы уже знаете, какие продукты и по какой цене продаете, и настраиваете все это в Stripe. Позже ваша собственная модель заказа будет ссылаться на эти цены и идентификаторы продукта, когда вы go и создадите сеанс оформления заказа.
Если вам нужны только одноразовые продукты, то вместо этого вы должны создать их встроенными, когда вы создаете сеанс оформления заказа, используя price_data
в качестве параметра .
Наконец, для части URL-адреса это будет URL-адрес вашего веб-сайта, на который вы хотите отправить клиента обратно. после оплаты. Идея состоит в том, что после оплаты на своем веб-сайте вы перенаправляете своего клиента в Checkout прямо на Stripe. Как только они заплатят, Stripe отправит их вам обратно по указанному вами URL-адресу c, чтобы вы могли поблагодарить их за заказ. Это описано в документации , здесь . Точно так же часть {CHECKOUT_SESSION_ID}
в URL-адресе - это просто значение magi c, которое Stripe заменит реальным идентификатором сеанса проверки cs_test_1234567
, когда они отправят клиента обратно на ваш веб-сайт.
( Если у вас возникнут дополнительные вопросы, вы, вероятно, захотите напрямую поговорить с командой поддержки Stripe )