Проблема с получением успешных транзакций после вызова API
я только что интегрировал paystack на свой сайт и испытываю проблемы с проверкой статуса транзакции. эта транзакция успешна, когда пользователи вводят данные карты, но в документации неясно, как проверить эту успешную транзакцию.
Смотрите документ ниже, чтобы понять мою точку зрения Документы для проверки оплаты
В документации говорится об использовании url обратного вызова для проверки транзакций, а это не так просто в python. пожалуйста, взгляните на мой код.
def paystackdeposit(request, comment = None):
user = request.user
email = user.email
if request.method == 'POST':
form = DepositForm(request.POST)
if form.is_valid():
amount = form.cleaned_data.get('amount')
#the callback is expected to return the url and replace YOUR_REFERENCE with the reference code used in making get request to verify transaction status
url = 'http://127.0.0.1:8000//postpayment_callback.php?reference=YOUR_REFERENCE'
parsed_url = urlparse(url)
captured_value = parse_qs(parsed_url.query)['reference'][0]
url = "https://api.paystack.co/transaction/verify/:captured_value"
headers = {'Authorization': 'Bearer sxk_lixzve_1xxreeeeeeeeeeeeeb8e794f74ffzzfdddd','Content-Type': 'application/json'}
response = requests.request("GET", url, headers=headers)
if response.data.status == success:
account.balance += amount
asof = account.modified
account.save(update_fields=[
'balance',
'modified',
])
return render (request, 'accounting/deposit_successful.html', { 'amount':amount,
'balance':balance, 'created': created, })
else:
form = DepositForm(request.POST)
return render(request, 'depositing/paystack_deposit_fund.html', {'form': form, 'refcode': refcode})
об этом говорится в документации.
Если транзакция прошла успешно, Paystack перенаправит пользователя обратно на установленный вами callback_url. Мы добавим ссылку на транзакцию в URL. В приведенном выше примере пользователь будет перенаправлен по адресу http://your_website.com/postpayment_callback.php?reference=YOUR_REFERENCE.
Итак, вы получаете ссылку из параметра URL и используете ее, чтобы вызова конечной точки verify для подтверждения статуса транзакции.
Очень важно, чтобы вы вызывали конечную точку Verify для подтверждения статуса транзакции. статус транзакций до предоставления ценности. То, что callback_url был посещен, не доказывает, что транзакция была успешной.
Я использовал эту библиотеку, но не смог ничего добиться
from urllib.parse import urlparse
from urllib.parse import parse_qs
Помогите сделать это успешным.