2010-10-27 17 views
7

भुगतान के बाद पेपैल के साथ कॉलबैक करने के तरीके पर मैंने अब 4 घंटे से अधिक समय की खोज की है।पेपैल भुगतान कॉलबैक

बात यह है कि, मेरे पास एक लैन पार्टी के लिए टिकट बेचने वाली साइट है, और भुगतान करने का एकमात्र तरीका पेपैल के साथ है। , वह हिस्सा मैं समाप्त कर दिया है

<form target="paypal" action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post"> 
<input type="hidden" name="add" value="1"> 
<input type="hidden" name="cmd" value="_cart"> 
<input type="hidden" name="business" value="_MY_PAYPAL_EMAIL_"> 
<input type="hidden" name="item_number" value="<?php echo mktime(); ?>"> 
<input type="hidden" name="cn" value="<?php echo $_SESSION['userid']; ?>"> 
<input type="hidden" name="return" value="http://80.202.213.240/apps/tickets/buy/success/" /> 
<input type="hidden" name="cancel_return" value="http://80.202.213.240/apps/tickets/buy/cancelled/" /> 
<input type="hidden" name="notify_url" value="http://80.202.213.240/apps/tickets/buy/ipn/" /> 
<input type="hidden" name="lc" value="NO"> 
<input type="hidden" name="item_name" value="BitHack - Standard Ticket"> 
<input type="hidden" name="amount" value="100.00"> 
<input type="hidden" name="currency_code" value="NOK"> 
<input type="hidden" name="no_shipping" value="1"> 
<input type="hidden" name="button_subtype" value="Tickets"> 
<input type="hidden" name="add" value="1"> 
<input type="hidden" name="bn" value="PP-ShopCartBF:btn_cart_LG.gif:NonHostedGuest"> 
<input type="submit" value="Add to Cart" class="ticketShowButton submit" title="Payment via PayPal"> 

जानकारी तो एक डेटाबेस में डाला जाना चाहिए:
यहाँ मेरी पेपैल खरीद बटन कोड है। बस काम करने के लिए कॉलबैक सिस्टम की आवश्यकता है। किसी को भी कोई अच्छा कॉलबैक स्क्रिप्ट उदाहरण पता है?

बीटीडब्ल्यू, क्या यह कस्टम इनपुट का उपयोग करना संभव है?

http://www.vibralogix.com/linklokipn/

कोई PHP संस्करण की एक संतुष्ट ग्राहक के रूप में की तुलना में अन्य कनेक्शन:

उत्तर

10

वापसी में उल्लिखित कॉलबैक फ़ंक्शन और यूआरएल चर को सूचित करने के लिए प्रोग्रामर की ज़िम्मेदारी है। क्यूं कर? चूंकि प्रत्येक वेबसाइट के पास ऑर्डर के लिए अपनी तालिका संरचना होती है। इसे एक गाइड के रूप में आज़माएं:

अपनी पेपैल प्रोफ़ाइल पर ऑर्डर के बाद स्वचालित रूप से रीडायरेक्ट करने के लिए अपनी वरीयता सेट करें। आपको एक डिफ़ॉल्ट रिटर्न यूआरएल भी सेट करने की आवश्यकता होगी। यदि आप पेपैल को भेजे गए आपके ऑर्डर फॉर्म या क्वेरी स्ट्रिंग पर रिटर्न यूआरएल निर्दिष्ट करना भूल गए हैं तो इसका उपयोग किया जाएगा।

इसके बाद, अपने rm क्षेत्र/चर सेट "2" (इस Paypal एपीआई बता देंगे आदेश के बाद अपनी वापसी यूआरएल को autoredirect के लिए और पोस्ट प्रारूप में आदेश की जानकारी पारित)

आप से प्रतिक्रिया देख सकते हैं करने के लिए एक var_dump ($ _ POST) या print_r ($ _ POST) करके पेपैल।

प्रतिक्रिया से महत्वपूर्ण चरों में से एक $ _POST ['payment_status'] है जो आपको आदेश का नतीजा बताएगा। एक सफल लेनदेन 'पूर्ण' है। एक लेनदेन जिसके लिए पेपैल से या व्यापारी के पक्ष से सत्यापन की आवश्यकता होती है वह 'लंबित' है।

अंत में, अपने पेपैल फ़ील्ड/अनुरोध पर 'चालान' निर्दिष्ट करना न भूलें ताकि आप अपने आदेश की स्थिति अपडेट कर सकें। कुछ ऐसा:

$status = $_POST['payment_status']; 
$invoice = $_POST['invoice']; 
mysql_query("UPDATE Orders SET status='$status' WHERE order_id='$invoice'"); 

मुझे पता है कि यह खराब कोडिंग है लेकिन कम से कम आपको इसका सबसे सरल रूप में सामान्य विचार मिलता है।

फिर से, दूसरे के कोड पर भरोसा न करें। नेट में कोड संदर्भ उद्देश्यों के लिए मौजूद हैं, न कि भगवान के हैंडवर्क के रूप में। केवल आपके पास अपनी कृति बनाने की शक्ति है: डी

मुझे उम्मीद है कि इससे मदद मिलती है। अगर आपको यह पसंद है तो वोट दें। अगर नहीं तो अनदेखा करें।

+0

'$ _POST' सुरक्षित है? क्या होता है जब भुगतान किए बिना कोई व्यक्ति, कॉलबैक यूआरएल को 'payment_status = 1' भेजता है? – Cooper

1

एक वाणिज्यिक लेकिन कम लागत समाधान में LinkLokIPN स्क्रिप्ट है। कभी-कभी पहिया को फिर से शुरू करने के बजाय एक कामकाजी समाधान खरीदने (और शायद अनुकूलित) करना बहुत आसान होता है।

+0

धन्यवाद, इसमें एक नज़र डालेंगे। – NoobiCake

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