Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 31, 2022 15:44:20

SwanAvs
Зарегистрирован: 2022-01-07
Сообщения: 24
Репутация: +  0  -
Профиль   Отправить e-mail  

как получить имя(id) платежа?

Сайт на Django использует систему оплаты Юkassa.

Проведение платежа:

    Configuration.configure('123', 'test')
    Configuration.configure_user_agent(framework=Version('Django', '3.1.7'))
    idempotence_key = str(uuid.uuid4())
    payment = Payment.create({
        "amount": {
            "value": "2.00",
            "currency": "RUB"
        },
        "payment_method_data": {
            "type": "bank_card"
        },
        "confirmation": {
            "type": "redirect",
            "return_url": "url"
        },
        "capture": True, # автоматический переход платежа в статус succeeded
        "description": "Описание"
    }, idempotence_key)
    confirmation_url = payment.confirmation.confirmation_url # ссылка на страницу оплаты

ниже получаю данные платежа, где делаю проверку на статус:

    payment_id = '29886c50-000f-5000-8000-113bdfdebe75'
    payment_one = Payment.find_one(payment_id)
    dict_payment = vars(payment_one) # вывод: {'_PaymentResponse__id': '29886c50-000f-5000-8000-113bdfdebe75', '_PaymentResponse__status': 'succeeded', '...'}
    if dict_payment['_PaymentResponse__status'] == 'succeeded': # если оплата успешна
        ...

но в payment_one передается id только одного платежа, а мне нужно, чтобы передавался id для текущего пользователя. как так сделать?

Отредактировано SwanAvs (Фев. 2, 2022 06:28:48)

Офлайн

#2 Фев. 2, 2022 08:01:34

xam1816
Зарегистрирован: 2020-05-11
Сообщения: 1352
Репутация: +  118  -
Профиль   Отправить e-mail  

как получить имя(id) платежа?

SwanAvs
как получить имя(id) платежа?
выведите в консоль что покажет
 idempotence_key = str(uuid.uuid4())

предполагаю что они одинаковые c payment_id,после проведения платежа.А вообще наверное id платежа может устанавливать сам продавец при продаже, который потом хранится в базе данных


Отредактировано xam1816 (Фев. 2, 2022 08:26:25)

Офлайн

#3 Фев. 2, 2022 14:31:36

SwanAvs
Зарегистрирован: 2022-01-07
Сообщения: 24
Репутация: +  0  -
Профиль   Отправить e-mail  

как получить имя(id) платежа?

xam1816
предполагаю что они одинаковые c payment_id
Они разные. Вообще, оказалось, что в payment можно было не прописывать idempotence_key. Похоже, Юкасса сама генерирует id.

idempotence_key:
 eef2299f-fc9d-4034-8a91-bfd931d49cf4

id платежа:
 298c8be6-000f-5000-9000-145d8dbca4a6

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version