Найти - Пользователи
Полная версия: Платеж на сайте Django
Начало » Django » Платеж на сайте Django
1
SwanAvs
Я пытаюсь подключить систему оплаты для приема платежей. Но моя проблема и задача состоит в том, чтобы сделать проверку - провел ли пользователь оплату для дальнейших с ним действий.

Система оплаты - Fondy. Их github

Вот код, который успешно проводит оплату:

 api = Api(merchant_id=123, secret_key='key')
checkout = Checkout(api=api)
data = {
    "currency": "RUB",
    "amount": 100,
    "order_desc": "Описание платежа",
    "order_id": str(time.time())
}
url = checkout.url(data).get('checkout_url')

Однако, мне ведь нужно сделать проверку для оплаты.
Идея такова:
если статус заказа = оплачено:
выполнить нужные действия с пользователем.

Как мне получить статус заказа, и будет ли такой принцип верно работать? Если будет, то как это прописать? Помогите ине пожалуйста

И еще, могу ли я писать один вопрос на этом форуме несколько раз, но в разные категории?
slav0nic
обычно это делается через callback ф–цию, адрес которой задается в админке платежки
https://docs.fondy.eu/ru/docs/page/28/ видимо, код в оф. репе - гавно
efrenwynn
Для того, чтобы проверить статус заказа в системе Fondy, вам необходимо использовать API методы, которые позволяют получить информацию о заказе. Для этого можно использовать метод order_status() из библиотеки fondy.

Пример кода для получения статуса заказа:

scheme
api = Api(merchant_id=123, secret_key='key')
response = api.order_status(order_id='your_order_id')
status = response['response']['order_status']
В этом коде вы создаете объект api с помощью своего merchant_id и secret_key. Затем вызываете метод order_status() и передаете в него идентификатор вашего заказа в параметре order_id. В ответе на запрос вы получите словарь, в котором будет содержаться информация о статусе заказа (order_status).
После получения статуса заказа, вы можете проверить его значение и выполнить нужные действия с пользователем, если статус заказа равен “оплачен”. Например:
bloxd io
if status == 'approved':
# выполнить нужные действия с пользователем
else:
# обработать другие статусы заказа
Обратите внимание, что в зависимости от того, какую информацию вы запрашиваете, вам может потребоваться дополнительно указать другие параметры при вызове метода order_status(). Например, если вы хотите получить подробную информацию о заказе, вам может потребоваться указать параметр params={'general': True, ‘transactions’: True}. Дополнительную информацию можно найти в документации к API Fondy.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB