क्या कहते हैं, एक बार, सही मात्रा के लिए

FixBillingService
शिप
10 अगस्त 2026 को 11:54 pm बजे UTC
लेखक
Kamo
Commit
c54414c

पांच दोष जो सभी असली पैसे चले गए, साथ ही उनके नीचे उप-संसाधन IDOR भी थे। बिलिंग चक्र। वार्षिक कीमतों पर संग्रहीत प्रति माह की दर पर स्ट्रिप को भेजा गया था एक YEAR अंतराल, इसलिए एक योजना जिसे "$28/मो वार्षिक" के रूप में जाना जाता है, ने एक वर्ष में एक बार $28 का बिल दिया - एक 12x अंडरचार्ज। क्वार्टरली और SEMI ANNUAL एक महीने के अंतराल के लिए मैप किया गया था और कभी नहीं अन्यथा दावा करने वाली एक टिप्पणी के बावजूद अंतराल काउंट सेट करें, पूर्ण बिलिंग हर महीने अवधि की राशि। बिलिंगसाइकल अब रूपांतरण और दस्तावेजों का मालिक है दो कीमत वास्तव में कोडबेस पर विचार करते हैं: सदस्यताPlanPrice प्रति माह की दर, ************* एक कुल है। मूल्य निर्धारण मॉडल। प्रत्येक ऐड-ऑन को मात्रा = सीटों पर बिल दिया गया था, भले ही इसकी परवाह किए बिना मूल्य निर्धारण मॉडल, इसलिए ऑर्ग-वाइड स्टोरेज ऐड-ऑन कॉस्ट 25x 25-सीट ऑर्ग पर, और क्योंकि स्ट्राइप एक मीटर की कीमत पर एक मात्रा को अस्वीकार करता है, जिसमें इसे बनाया जाता है संपूर्ण सदस्यता फेंक बनाती है। मात्रा अब मॉडल का अनुसरण करती है: सीटों के लिए Per SEAT, FLAT के लिए 1, USAGE BASED के लिए अनुपस्थित, One TIME के लिए छोड़ दिया। योजना परिवर्तन। कंसोल पोस्ट "चेंज प्लान" के लिए () बनाते हैं; निर्माण () बुलाया Subscription.create बिना शर्त और overwrote संग्रहीत आईडी, छोड़ने के लिए छोड़ दिया पिछले स्ट्रिप सदस्यता लाइव और unreferenced — दो बार बिल, हमेशा के लिए. यह अब एक होने पर मौजूदा सदस्यता में संशोधन करता है। अद्यतन () योजना प्राप्त की इसे चुपचाप खारिज कर दिया गया था, और हर लाइन आइटम के बजाय सामंजस्यपूर्ण केवल आइटम [0] की तुलना में, जो कुछ भी सीट पर जमे हुए ऐड-ऑन मात्रा को छोड़ दिया था गिनती उस दिन थी जब सदस्यता खुल गई थी। ऐड-ऑन प्राधिकरण। अद्यतन () ने अनुरोध निकाय से सीधे addonCodes लिखा, सटीक स्व-आवासित छेद बनाने () के खिलाफ सख्त हो गया था: एक मुक्त स्तरीय कॉलर {"addonCodes": ["MLOS"]} भेज सकते हैं और बंधक ऐप, uninvoiced हकदार हैं। दोनों पथ अब संकल्प एडोन कोड के माध्यम से जाते हैं। सीट. असाइन () ने केवल पूछा कि क्या एक संयुक्त राष्ट्रसंघ पंक्ति अस्तित्व में है, और पंक्तियां अस्तित्व में थीं। कभी नष्ट नहीं हुआ जब सीट की गिनती shrank, इसलिए एक ओरग जिसने 10 सीटों को 3 में काट दिया सभी दसियों को फिर से सौंप सकता है। यह अब ताजा और ताजा दोनों पर क्षमता की जांच करता है प्रतिक्रिया शाखा, एक विलंबित सदस्यता पर सीटों को जारी करने से मना करती है, और यह सुनिश्चित करता है कि SeatRows अतिरिक्त स्लॉट को पुनः प्राप्त करता है। एक रद्द या अदायगी स्ट्राइप सदस्यता अब अपने लाइसेंस को छोड़ देता है - वेबहुक ने स्थिति लिखी और रोक दी, इसलिए सदस्य निश्चित रूप से भुगतान की गई विशेषताएं रखी गई हैं। प्राधिकरण {accountUid} का स्वामित्व पूरी जांच थी; हैंडलर उसके बाद अपनी आईडी द्वारा सदस्यता और लाइसेंस लोड हो गया और कभी तुलना नहीं की गई, इसलिए एक विदेशी UUID के साथ अपने स्वयं के खाता आईडी को जोड़ी ने किसी और के भुगतान को रद्द कर दिया सदस्यता या अपनी सीट रद्द करना। केंद्रीय रूप से इंटरसेप्टर में इतना मार्ग बाद में जोड़ा डिफ़ॉल्ट रूप से कवर किया जाता है। मूल्य रूपांतरण पर पहला परीक्षण जोड़ता है, जिसमें कोई नहीं था।.

सभी बदलाव

जैसा कि आप शिपिंग देखते हैं?

इन अद्यतनों में से प्रत्येक स्वचालित रूप से अपने कार्यक्षेत्र में उतरता है। प्रारंभ करें और सप्ताह के बाद इसे सप्ताह के अंत में देखें।.

Foreverमूल्य निर्धारण देखें