Handle
Last updated
Was this helpful?
Was this helpful?
from hyperswitch_prism import EventClient
event_client = EventClient(
connector='stripe',
api_key='YOUR_API_KEY'
)from flask import Flask, request
@app.route('/webhooks/stripe', methods=['POST'])
async def handle_webhook():
request_data = {
"merchant_event_id": f"evt_{int(time.time())}",
"payload": request.get_data().decode(),
"headers": dict(request.headers),
"webhook_secret": os.environ['STRIPE_WEBHOOK_SECRET']
}
try:
response = await event_client.handle(request_data)
if response["event_type"] == "payment.captured":
await fulfill_order(
response["event_response"]["payments_response"]["merchant_transaction_id"]
)
return "OK", 200
except Exception as e:
return str(e), 400{
"event_type": "payment.captured",
"event_response": {
"payments_response": {
"merchant_transaction_id": "txn_order_001",
"connector_transaction_id": "pi_3Oxxx...",
"status": "CAPTURED"
}
},
"source_verified": True,
"event_status": "COMPLETE"
}