Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CRITICAL:root:callbackUrl is not valid #133

Open
Stink-Po opened this issue Nov 18, 2024 · 0 comments
Open

CRITICAL:root:callbackUrl is not valid #133

Stink-Po opened this issue Nov 18, 2024 · 0 comments

Comments

@Stink-Po
Copy link

Stink-Po commented Nov 18, 2024

سلام در اول تشکر میکنم از پکیج خوبتون و خسته نباشید من با توضیحات ویدیو پیش رفتم و تنظیماتم رو در اینجا میزارم ولی کلا دارم این خطا رو میگیرم که callbackUrl is not valid و زمانی که از sampelpayment هم افدام میکنم همین خطا رو میگیرم :
BankGatewayAutoConnectionFailed at /bankgateways/sample-payment/
callbackUrl is not valid

setting :

"GATEWAYS": {
"ZIBAL": {
           "MERCHANT_CODE": "zibal",
       },
},
   "IS_SAMPLE_FORM_ENABLE": True,  # اختیاری و پیش فرض غیر فعال است
   "DEFAULT": "ZIBAL",
   "CURRENCY": "IRR",  # اختیاری
   "TRACKING_CODE_QUERY_PARAM": "tc",  # اختیاری
   "TRACKING_CODE_LENGTH": 16,  # اختیاری
   "SETTING_VALUE_READER_CLASS": "azbankgateways.readers.DefaultReader",  # اختیاری
   "BANK_PRIORITIES": [

   ],  # اختیاری

   "IS_SAFE_GET_GATEWAY_PAYMENT": True,  # اختیاری، بهتر است True بزارید.
   "CUSTOM_APP": None,  # اختیاری
}

USE_X_FORWARDED_HOST = True
SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https'
```)
urls:

urlpatterns = [
path('admin/', admin.site.urls),
path("bankgateways/", az_bank_gateways_urls()),
path("go-to-gateway/", send_request),
path("callback-gateway/", verify, name="callback"),
]

views :

def send_request(request):
    # خواندن مبلغ از هر جایی که مد نظر است
    amount = 100000
    # تنظیم شماره موبایل کاربر از هر جایی که مد نظر است
    user_mobile_number = "+989112221234"  # اختیاری
    print(request.build_absolute_uri(reverse("callback")))
    factory = bankfactories.BankFactory()
    try:
        bank = (
            factory.auto_create()
        )  # or factory.create(bank_models.BankType.BMI) or set identifier
        bank.set_request(request)
        bank.set_amount(amount)
        # یو آر ال بازگشت به نرم افزار برای ادامه فرآیند
        callback_url = request.build_absolute_uri(reverse("callback"))
        print(callback_url)
        bank.set_client_callback_url(callback_url)
        bank.set_mobile_number(user_mobile_number)

        # در صورت تمایل اتصال این رکورد به رکورد فاکتور یا هر چیزی که بعدا بتوانید ارتباط بین محصول یا خدمات را با این
        # پرداخت برقرار کنید.
        bank_record = bank.ready()

        # هدایت کاربر به درگاه بانک
        context = bank.get_gateway()
        return render(request, "orders/redirect_to_bank.html", context=context)
    except AZBankGatewaysException as e:
        print(e.args)
        print(e)
        return render(request, "orders/redirect_to_bank.html")


def verify(request):
    print("calling call back")
    print(f"TRACKING_CODE_QUERY_PARAM: {settings.TRACKING_CODE_QUERY_PARAM}")
    tracking_code = request.GET.get(settings.TRACKING_CODE_QUERY_PARAM, None)
    print(tracking_code)
    if not tracking_code:
        logging.debug("این لینک معتبر نیست.")
        return HttpResponse("این لینک معتبر نیست.")

    try:
        bank_record = bank_models.Bank.objects.get(tracking_code=tracking_code)
    except bank_models.Bank.DoesNotExist:
        logging.debug("این لینک معتبر نیست.")
        raise HttpResponse("این لینک معتبر نیست.")

    # در این قسمت باید از طریق داده هایی که در بانک رکورد وجود دارد، رکورد متناظر یا هر اقدام مقتضی دیگر را انجام دهیم
    if bank_record.is_success:
        # پرداخت با موفقیت انجام پذیرفته است و بانک تایید کرده است.
        # می توانید کاربر را به صفحه نتیجه هدایت کنید یا نتیجه را نمایش دهید.
        return HttpResponse("پرداخت با موفقیت انجام شد.")

    # پرداخت موفق نبوده است. اگر پول کم شده است ظرف مدت ۴۸ ساعت پول به حساب شما بازخواهد گشت.
    return HttpResponse(
        "پرداخت با شکست مواجه شده است. اگر پول کم شده است ظرف مدت ۴۸ ساعت پول به حساب شما بازخواهد گشت."
    )
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant