2013-02-11 54 views
6

मैं घटनाओं (संगीत कार्यक्रमों) के लिए ऑनलाइन टिकट प्रणाली विकसित कर रहा हूं। एक मूल भाग एक सीट चार्ट है जहां आगंतुकों को चुनने के लिए उपलब्ध सीटें/टिकट प्रस्तुत किए जाएंगे। एक बार चयन करने के बाद, सिस्टम तुरंत 10 मिनट के लिए टिकट आरक्षित करने की कोशिश करता है (टिकट आईडी में एक टेबल में प्रवेश करके जहां टिकट आईडी कुंजी है)। केवल आरक्षण सफल होने पर, भुगतान करने के लिए एक पेपैल बटन प्रस्तुत किया जाता है।ऑनलाइन टिकट बुकिंग: एक ही टिकट खरीदने से कई आगंतुकों को रोकें

यह सब ठीक काम करता है। टिकट आरक्षण मेरे लिए कोई समस्या नहीं है। मैं इसे अपने सिस्टम में संभाल सकता हूं। लेकिन एक बार पेपैल खेल में आता है, चीजें मुश्किल हो जाती हैं।

समस्या: यदि उपयोगकर्ता किसी कारण से पेपैल (10 मिनट से अधिक) में बहुत समय बिताता है, तो मेरी वेबसाइट पर टिकट आरक्षण समाप्त हो जाएगा, टिकटों को किसी अन्य आगंतुक द्वारा खरीदा जा सकता है, जो हो सकता है विज़िटर 1 भुगतान करने से पहले। आगंतुक 1 में से कोई भी ऐसा नहीं देखता क्योंकि वह अभी भी पेपैल में है ... कुछ समय पर, वह भुगतान करने के लिए प्रबंधन करेगा (उदाहरण के लिए 15 मिनट के बाद), जो पूरी तरह से काम करेगा क्योंकि पेपैल को समाप्त होने वाले आरक्षणों के बारे में कुछ नहीं पता ।

अंत में, मेरे पास दो टिकट एक ही टिकट/सीट के लिए भुगतान कर सकते हैं!

मैं इसे कैसे होने से रोक सकता हूं? यदि दो सिस्टम शामिल हैं और उनमें से एक आपके नियंत्रण से बाहर है तो आप रेस स्थितियों को कैसे संभालेंगे?

मेरी सोच थी: वास्तव में भुगतान होने से पहले एक चेक किया जाना चाहिए, लेकिन निश्चित रूप से मेरे पास पेपैल में क्या होता है इसके बारे में नियंत्रण नहीं है!

मुझे पता है कि मैं पेपैल के आईपीएन का उपयोग कर सकता हूं और ऐसा ही होता है, लेकिन यह केवल भुगतान के बाद होता है जो बहुत देर हो चुकी है।

वैकल्पिक रूप से, अगर पेपैल ने मुझे भुगतान की पुष्टि करने के लिए एपीआई के माध्यम से मुझसे पूछा तो यह बहुत अच्छा होगा। तो अगर टिकट किसी और को बेचा गया हो तो मैं "नहीं" कह सकता था। लेकिन मुझे नहीं लगता कि पेपैल के साथ यह संभव है।

उत्तर

2

मैं एक्सप्रेस चेकआउट का उपयोग करने की सलाह दूंगा। एक्सप्रेस चेकआउट आपको भुगतान होने पर नियंत्रित करने की अनुमति देता है, क्योंकि आप वास्तव में भुगतान को संसाधित करने के लिए पेपैल को एपीआई कॉल बंद कर देंगे।

अन्य संभावना जो आप देख सकते हैं बिक्री लेनदेन के बजाय प्राधिकरण का उपयोग कर रही है। इस तरह, यदि कोई अन्य खरीदार सीट लेता है, तो आप प्राधिकरण को रद्द कर सकते हैं, और खरीदार से शुल्क नहीं लिया जाएगा। (पेपैल शायद आपको वायर्ड प्रमाणीकरण के लिए चार्ज करेगा।)

+0

धन्यवाद। एक्सप्रेस चेकआउट अच्छा लगता है और मैं इसका शोध करूंगा। दूसरे भाग के बारे में: क्या यह पेपैल की एक विशिष्ट विशेषता है? मैंने खोजा है और वास्तव में "प्राधिकरण" के संबंध में कुछ भी नहीं मिला है। – user1595494

+0

नहीं, क्रेडिट कार्ड उद्योग में प्राधिकरण बहुत मानक हैं। यह पृष्ठ एक्सप्रेस भुगतान ऑफ़र के विभिन्न भुगतान प्रकारों का एक बहुत अच्छा रन-डाउन देता है: https://www.x.com/developers/paypal/documentation-tools/express-checkout/integration-guide/ECRelatedAPIOps –

1

मैट कोल के रूप में एक समाधान का सुझाव है कि 'बिक्री' के बजाय 'प्राधिकरण' का उपयोग करना है।

जब आप पेपैल भुगतान बना रहे हैं तो आप पेपैल एपीआई पर अपनी कॉल में 'बिक्री' ({मंशा: "प्राधिकृत"} के बजाय 'अधिकृत' करने के लिए 'इरादा' सेट करके इसे कर सकते हैं। एक बार ग्राहक लेनदेन को मंजूरी दे देता है, भुगतान पर कब्जा करके इस लेनदेन को अधिकृत करने के लिए आप पर निर्भर है।