2012-07-24 13 views
11

इसलिए मैंने अपनी साइट में पेपैल आईपीएन लागू किया है और मैं कार्य प्रक्रिया के बीच में हूं। अब मैं केवलपेपैल आईपीएन प्रक्रिया एक से अधिक कस्टम चर

<input type="hidden" name="custom" value="<?php echo $user_id; ?>"> 

तो मैं नाम 'कस्टम' के साथ चर पता वर्तमान में मैं इस एक का उपयोग कर रहा पीपी रूप में 1 से अधिक कस्टम चर का उपयोग करना चाहते हैं अनुमति दी है। मैं जानना चाहता हूं कि मैं अधिक चर पारित कर सकता हूं ताकि मैं उनके मानदंडों के आधार पर भुगतान फ़िल्टर कर सकूं। तो अगर उदाहरण के लिए शिपिंग है अधिक $ 0.00 की तुलना में मैं इस तरह एक चर "shipping_cost" सेट:

<input type="hidden" name="shipping_cost" value="<?php echo $cost; ?>"> 

या अन्य प्रयोजनों के लिए। क्या यह अनुमति है? या पेपैल की स्वीकृत वेरिएबल्स की पहले से परिभाषित सूची है जिसका हम उपयोग कर सकते हैं? मैं वास्तव में इस समस्या को हल करना चाहता हूं क्योंकि हमेशा एक प्रकार का भुगतान नहीं है जिसे हम संसाधित कर सकते हैं ... धन्यवाद दोस्तों।

उत्तर

4

जैसा कि मैं (और कई अन्य लोगों की कल्पना करता हूं) भी इस समस्या का सामना कर रहा हूं, मैंने सोचा कि मैं कुछ समाधान साझा करूंगा जो मैं आया था।

This one पेपैल समुदाय में उठाया गया, विकल्प चर के उपयोग का सुझाव देता है जो 99 वर्णों तक पहुंचने के लिए एक कुंजी/मूल्य जोड़ी कार्यान्वयन प्रदान करता है (रिकॉर्ड के लिए मैंने वास्तव में यह कोशिश नहीं की है)।

सबसे सामान्य स्वीकार्य समाधान (जिसे मैं भी पक्ष करता हूं) अपने सभी डेटा को डीबी रिकॉर्ड में जोड़ना है, फिर अपने रिकॉर्ड आईडी को स्टोर करने के लिए कस्टम var का उपयोग करें, जिसे स्पष्ट रूप से बाद में उपयोग किया जा सकता है (उदाहरण के लिए आईपीएन के माध्यम से) अपना डेटा पुनः प्राप्त करें।

3

पेपैल परिभाषित करता है कि आप किस क्षेत्र का उपयोग कर सकते हैं here। किसी अन्य क्षेत्र को नजरअंदाज कर दिया जाएगा।

एक 'शिपिंग' फ़ील्ड परिभाषित किया गया है, और पेपैल शिपिंग के लिए अतिरिक्त राशि चार्ज करने के लिए उस फ़ील्ड के मान का उपयोग करेगा। आप आईपीएन या पीडीटी डेटा से वह मूल्य भी प्राप्त कर पाएंगे।

यदि आपको अन्य मानों को पारित करने की आवश्यकता है, तो आप 'कस्टम' फ़ील्ड में क्वेरी-स्ट्रिंग शैली (var1 = value1 & var2 = value2 ...) में स्वरूपित स्ट्रिंग को पार करने पर विचार कर सकते हैं। ध्यान दें कि इस क्षेत्र में अनुमत वर्णों की अधिकतम संख्या 256 है। जब आप आईपीएन या पीडीटी प्रतिक्रिया प्राप्त करते हैं तो आप इसका विश्लेषण करेंगे।

यदि कस्टम फ़ील्ड का आकार बहुत सीमित है, तो आप किसी अन्य answer here में वर्णित किए गए प्रयासों को आजमा सकते हैं।

+0

वास्तव में निराशाजनक। मुझे अपने इरादे को प्राप्त करने के लिए पेपैल आईपी के अन्य स्वीकृत चर के साथ खेलना पड़ा। मैंने उत्पाद का नाम और विवरण इस्तेमाल किया। हालांकि आपके उत्तर के लिए धन्यवाद। – inrob

+1

क्या आप वाकई "custom2" का उपयोग नहीं कर सकते हैं? मैं कुछ विरासत कोड के माध्यम से जा रहा हूं और मैंने पेपैल को भेजे गए फ़ील्ड के रूप में "कस्टम" और "कस्टम 2" के साथ एक फॉर्म देखा। – CMCDragonkai

8

इस तरह से आप अधिक मापदंडों

<input type="hidden" name="custom" value="variable1=234&var2=summa&etc=xyz"/> 

अपने पेपैल फार्म पर ऊपर से एक का उपयोग पारित कर सकते हैं।

और निम्न कोड के माध्यम से प्रक्रिया।

parse_str($_POST['custom'],$_MYVAR); 

echo $_MYVAR['variable1']; 
echo $_MYVAR['var2']; 
echo $_MYVAR['etc']; 

मुझे उम्मीद है कि यह आपकी मदद करेगा।

+0

अच्छा तरीका धन्यवाद। – inrob

+0

आप JSON के रूप में अपना कस्टम डेटा भी भेज सकते हैं ('json_encode ($ डेटा)' का उपयोग करके PHP डेटा प्रकार से कनवर्ट किया गया है) और फिर इसे 'json_decode ($ _ POST [' custom ']' का उपयोग करके पुनर्प्राप्त करें। –

+0

यह एक अच्छा समाधान है। धन्यवाद +1 –

संबंधित मुद्दे