Как сохранить контекст api и использовать его для создания истории заказов
Я использую transbank api для имитации покупки продукта через приложение банка, и мне нужно сохранить данные, созданные в конце покупки, чтобы показать их в истории покупок пользователя, и я не знаю, как это сделать, заранее спасибо.
Вот код: успешный платеж
@csrf_exempt
def pago_exitoso(request, id):
if request.method == "GET":
token = request.GET.get("token_ws")
print("commit for token_ws: {}".format(token))
commercecode = "597055555532"
apikey = "579B532A7440BB0C9079DED94D31EA1615BACEB56610332264630D42D0A36B1C"
tx = Transaction(options=WebpayOptions(commerce_code=commercecode, api_key=apikey,
integration_type="TEST"))
response = tx.commit(token=token)
print("response: {}".format(response))
user = User.objects.get(username=response['session_id'])
perfil = PerfilUsuario.objects.get(user=user)
form = PerfilUsuarioForm()
producto = Producto.objects.get(id=id)
context = {
"buy_order": response['buy_order'],
"session_id": response['session_id'],
"amount": response['amount'],
"response": response,
"token_ws": token,
"first_name": user.first_name,
"last_name": user.last_name,
"email": user.email,
"rut": perfil.rut,
"direccion": perfil.direccion,
"response_code": response['response_code'],
"producto": producto
}
return render(request, "core/pago_exitoso.html", context)
else:
return redirect(index)
---- А вот код : Начать платеж
@csrf_exempt
def iniciar_pago(request, id):
print("Webpay Plus Transaction.create")
buy_order = str(random.randrange(1000000, 99999999))
session_id = request.user.username
amount = Producto.objects.get(id=id).precio
return_url = 'http://127.0.0.1:8000/pago_exitoso/'+ id
# response = Transaction.create(buy_order, session_id, amount, return_url)
commercecode = "597055555532"
apikey = "579B532A7440BB0C9079DED94D31EA1615BACEB56610332264630D42D0A36B1C"
tx = Transaction(options=WebpayOptions(commerce_code=commercecode, api_key=apikey, integration_type="TEST"))
response = tx.create(buy_order, session_id, amount, return_url )
print(response['token'])
perfil = PerfilUsuario.objects.get(user=request.user)
form = PerfilUsuarioForm()
context = {
"buy_order": buy_order,
"session_id": session_id,
"amount": amount,
"return_url": return_url,
"response": response,
"token_ws": response['token'],
"url_tbk": response['url'],
"first_name": request.user.first_name,
"last_name": request.user.last_name,
"email": request.user.email,
"rut": perfil.rut,
"direccion": perfil.direccion,
}
return render(request, "core/iniciar_pago.html", context)