send the student back to the web app after paying, not to a raw JSON page
ZARINPAL_REDIRECT_URL was empty on the server, so after a real (non-sandbox)
payment the callback answered with {"orderId","status"} on the API domain and
the student was stranded there. It now defaults to FRONTEND_URL
(https://math.tadrisino2.ir/) with ?orderId=&status=; reopening a finished
order's pay link goes back to the app the same way. "-" keeps the old JSON.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -692,10 +692,17 @@ ZARINPAL_CALLBACK_URL = os.environ.get(
|
||||
'ZARINPAL_CALLBACK_URL',
|
||||
f'{PUBLIC_BASE_URL}/api/payment/zarinpal/callback' if PUBLIC_BASE_URL else '',
|
||||
)
|
||||
# اختیاری: بعدِ verify، مرورگر/کلاینت را به این URL (مثلاً یک deep link اپ)
|
||||
# با ?orderId=...&status=... ریدایرکت میکنیم. اگه خالی باشه، همونجا یک
|
||||
# پاسخِ JSON ساده برمیگرده.
|
||||
ZARINPAL_REDIRECT_URL = os.environ.get('ZARINPAL_REDIRECT_URL', '')
|
||||
# آدرسِ خودِ اپ (فرانت) برای برگرداندنِ کاربر بعد از پرداخت.
|
||||
FRONTEND_URL = (
|
||||
os.environ.get('FRONTEND_URL', '').strip() or 'https://math.tadrisino2.ir'
|
||||
).rstrip('/')
|
||||
# بعدِ verify، مرورگر را به این URL با ?orderId=...&status=... برمیگردانیم
|
||||
# (برای اپِ موبایل میتواند یک deep link باشد). پیشفرض خودِ اپِ وب است؛ قبلاً
|
||||
# خالی بود و دانشآموز بعد از پرداختِ واقعی روی یک صفحهی JSONِ خام روی دامنهی
|
||||
# API میماند. مقدارِ صریحِ `-` یعنی همان پاسخِ JSON (برای تست/ابزار).
|
||||
ZARINPAL_REDIRECT_URL = os.environ.get('ZARINPAL_REDIRECT_URL', '').strip() or f'{FRONTEND_URL}/'
|
||||
if ZARINPAL_REDIRECT_URL == '-':
|
||||
ZARINPAL_REDIRECT_URL = ''
|
||||
|
||||
# -----------------------------------------------------------------------
|
||||
# RAG / AI provider (اپ rag + ai_tutor.generate_tutor_answer)
|
||||
|
||||
Reference in New Issue
Block a user