Moibe's picture
Pagos cachados con exactitud no via cierre de sesión
e6aca3f
raw
history blame
2.71 kB
import time
import stripe
from fastapi import FastAPI, Request, Header
import sulkuPypi
import globales
import herramientas
app = FastAPI()
string_key = globales.llave
# This is a terrible idea, only used for demo purposes!
app.state.stripe_customer_id = None
@app.get("/")
def start():
return {f"Status":"Deployed"}
@app.post("/webhook")
async def webhook_received(request: Request, stripe_signature: str = Header(None)):
webhook_secret = globales.webhook
data = await request.body()
print("Construyendo el evento:")
try:
event = stripe.Webhook.construct_event(
payload=data,
sig_header=stripe_signature,
secret=webhook_secret
)
# print("Evento construido...")
# print(event)
# print("Evento impreso")
except Exception as e:
print("Excepción es: ", e)
try:
event_data = event['data']['object']
except Exception as e:
print("Excepción-183 es: ", e)
event_type = event['type']
print("Voy a imprimir el event type:")
print(event_type)
if event_type == 'checkout.session.async_payment_succeeded':
print("OXXO SE PAGO")
time.sleep(18)
if event_type == 'payment_intent.succeeded':
print("PAGO CON TARJETA SE PAGO...")
time.sleep(80)
# print('PAYMENT182')
# print(event_data)
# print("Ready")
# print("Created:")
# print(event_data['created'])
# print("Id")
# print(event_data['id'])
# print("Payment_method:")
# print(event_data['payment_method'])
# print("Customer:")
# cus = event_data['customer']
# print(cus)
# if event_type == 'checkout.session.completed':
# print('CHECKOUT182')
# #print(event_data)
# print("Payment Status:")
# print(event_data['payment_status'])
# print("Nombre Cliente:")
# print(event_data['customer_details']['name'])
# print("Metadata:")
# print(event_data['metadata'])
# cus_id = event_data['metadata']['stripe_customer_id']
# print("Metadata Cusid:")
# print(cus_id)
# imagenes = event_data['metadata']['imagenes']
# print("Imágenes:")
# print(imagenes)
# cus = event_data['customer']
# print("Customer directo:")
# print(cus)
# herramientas.registrar_evento(cus_id, int(imagenes))
else:
print(f'unhandled event: {event_type}')
return {"status": "success"}