दिलचस्प पोस्ट
JQuery और सीएसएस का इस्तेमाल करते हुए स्टार रेटिंग डिस्प्ले में कोई संख्या चालू करें कैसे AFNetworking कैश अक्षम करने के लिए Android इनपुट कनेक्शन त्रुटि शेल स्क्रिप्टिंग में एक तार्किक या संचालन कैसे करें अपने माता पिता के आयामों के आधार पर एक एंड्रॉइड व्यू आकार कैसे लाता है सामान्य भाषाओं में पीसीई (पर्ल संगत नियमित अभिव्यक्ति) के लिए क्या समर्थन है? JQuery.queue () का उपयोग कर AJAX अनुरोधों को कतार दें एसएएसएस: अंडरस्कोर फ़ाइल नाम बनाने से सीएसएस फाइलें बनायी जाती हैं JQuery के साथ ईवेंट हैंडलर्स के लिए बाध्य कार्यों को एक्सेस करना सभी प्रकार के व्युत्पन्न प्रकार प्राप्त करें उद्देश्य-सी में शून्य को संदेश भेजना मेस्लेमलबर्ट सामग्री की प्रतिलिपि बनाना ShaderMaterial का प्रयोग सामग्री को अनदेखा करता है अग्रणी शून्य के साथ एक स्ट्रिंग पैड करें, इसलिए यह SQL Server 2008 में 3 अक्षर लंबा है उद्देश्य-सी में urldecode ट्विटर बूटस्ट्रैप – क्लिक पर एक मॉडल के अंदर textarea पर फोकस करें

पेपैल रिटर्न यूआरएल को सेट करना और इसे ऑटो रिटर्न करना है?

यह एक अनुवर्ती प्रश्न है: PHP: पेपैल चेकआउट शुरू करने का आसान तरीका?

इसलिए, मेरी समस्या यह है कि मैं रिटर्न यूआरएल निर्दिष्ट कर रहा हूं। हालांकि, पेपैल के साथ भुगतान करने के बाद, मैं एएए स्क्रीन पर समाप्त होता है जो कहता है:

आपने अपना भुगतान पूरा किया XXXX, आपने अपना भुगतान पूरा किया इस भुगतान के लिए आपका लेनदेन आईडी है: XXXXXXXXXXXXX

हम एक पुष्टिकरण ईमेल XX@XXXX.com पर भेजेंगे। यह लेन-देन आपके स्टेटमेंट पर पेपैल के रूप में दिखाई देगा।

Go to PayPal account overview 

मुझे यह ज़रूरत है कि यह स्क्रीन न दिखाए और सीधे यूआरएल पर लौटें। मेरे पास है:

  • "वापसी" चर सेट करें
  • "Rm" चर को निर्धारित करें: 2 (जो गाइड के अनुसार = " खरीदार के ब्राउज़र को पोस्ट विधि का उपयोग करके रिटर्न यूआरएल पर पुनः निर्देशित किया जाता है, और सभी भुगतान चर शामिल हैं ")

वास्तव में, यह मेरा पूरा रूप है:

 <form method="post" action="https://www.sandbox.paypal.com/cgi-bin/webscr"> <input type="hidden" value="_xclick" name="cmd"> <input type="hidden" value="onlinestore@thegreekmerchant.com" name="business"> <!-- <input type="hidden" name="undefined_quantity" value="1" /> --> <input type="hidden" value="Order at The Greek Merchant:&lt;Br /&gt;Goldfish Flock BLG&lt;br /&gt;" name="item_name"> <input type="hidden" value="NA" name="item_number"> <input type="hidden" value="22.16" name="amount"> <input type="hidden" value="5.17" name="shipping"> <input type="hidden" value="0" name="discount_amount"> <input type="hidden" value="0" name="no_shipping"> <input type="hidden" value="No comments" name="cn"> <input type="hidden" value="USD" name="currency_code"> <input type="hidden" value="http://XXX/XXX/XXX/paypal/return" name="return"> <input type="hidden" value="2" name="rm"> <input type="hidden" value="11255XXX" name="invoice"> <input type="hidden" value="US" name="lc"> <input type="hidden" value="PP-BuyNowBF" name="bn"> <input type="submit" value="Place Order!" name="finalizeOrder" id="finalizeOrder" class="submitButton"> </form> 

किसी भी विचार से मैं इसे स्वचालित रूप से वापस जाने के लिए कैसे प्राप्त कर सकता हूं? वैकल्पिक रूप से, मैं भुगतान के परिणाम को अपनी वेबसाइट पर वापस कैसे प्राप्त करूं, ताकि मैं डेटाबेस को अपडेट कर सकूं? आईपीएन क्या है?

Solutions Collecting From Web of "पेपैल रिटर्न यूआरएल को सेट करना और इसे ऑटो रिटर्न करना है?"

आपको अपने पेपैल खाते में ऑटो रिटर्न को सक्षम करना होगा, अन्यथा यह return क्षेत्र की उपेक्षा करेगा।

प्रलेखन से (नए लेआउट को प्रदर्शित करने के लिए अद्यतन):

ऑटो रिटर्न डिफ़ॉल्ट रूप से बंद है ऑटो रिटर्न चालू करने के लिए:

  1. https://www.paypal.com पर अपने पेपैल खाते में प्रवेश करें । मेरा खाता अवलोकन पृष्ठ प्रकट होता है
  2. प्रोफ़ाइल उपटैब पर क्लिक करें प्रोफ़ाइल सारांश पृष्ठ प्रकट होता है।
  3. बाएं स्तंभ में मेरा बेचना उपकरण लिंक पर क्लिक करें।
  4. बेचना ऑनलाइन अनुभाग के अंतर्गत, वेबसाइट वरीयताओं के लिए पंक्ति में अपडेट लिंक पर क्लिक करें। वेबसाइट भुगतान वरीयताएँ पेज प्रकट होता है
  5. वेबसाइट भुगतान के लिए ऑटो रिटर्न के तहत, ऑटो रिटर्न को सक्षम करने के लिए ऑन रेडियो बटन पर क्लिक करें।
  6. लौटें URL फ़ील्ड में, उस यूआरएल को दर्ज करें जिसमें आप अपने दाताओं को अपने भुगतान पूरा करने के बाद पुनर्निर्देशित करना चाहते हैं। नोट: पेपैल उस यूआरएल की जांच करता है जिसे आप दर्ज करते हैं। यदि URL ठीक से स्वरूपित नहीं है या मान्य नहीं किया जा सकता है, तो पेपैल ऑटो रिटर्न को सक्रिय नहीं करेगा।
  7. पृष्ठ के निचले भाग तक स्क्रॉल करें, और सहेजें बटन पर क्लिक करें।

आईपीएन तत्काल भुगतान अधिसूचना के लिए है यह आपको ऑटो-रिटर्न से क्या मिलेगा से अधिक विश्वसनीय / उपयोगी जानकारी देगा।

आईपीएन के लिए दस्तावेज यहां है: https://www.x.com/sites/default/files/ipnguide.pdf

आईपीएन के लिए ऑनलाइन दस्तावेज: https://developer.paypal.com/docs/classic/ipn/gs_IPN/

सामान्य प्रक्रिया यह है कि आप अनुरोध के साथ एक notify_url पैरामीटर पास करते हैं, और एक पृष्ठ सेट करते हैं जो आईपीएन नोटिफिकेशन को हैंडल और मान्य करता है, और पेपैल भुगतान / धनवापसी / आदि के बारे में आपको सूचित करने के लिए उस पृष्ठ पर अनुरोध भेज देगा। के माध्यम से जाना। आईपीएन हेन्डलर पृष्ठ तब भुगतान करने के लिए आदेश को चिह्नित करने के लिए डेटाबेस को अपडेट करने के लिए सही स्थान होगा।

प्रत्यक्ष भुगतान के लिए PHP का उपयोग करते हुए नमूना फ़ॉर्म

 <form action="https://www.paypal.com/cgi-bin/webscr" method="post"> <input type="hidden" name="cmd" value="_cart"> <input type="hidden" name="upload" value="1"> <input type="hidden" name="business" value="you@youremail.com"> <input type="hidden" name="item_name_' . $x . '" value="' . $product_name . '"> <input type="hidden" name="amount_' . $x . '" value="' . $price . '"> <input type="hidden" name="quantity_' . $x . '" value="' . $each_item['quantity'] . '"> <input type="hidden" name="custom" value="' . $product_id_array . '"> <input type="hidden" name="notify_url" value="https://www.yoursite.com/my_ipn.php"> <input type="hidden" name="return" value="https://www.yoursite.com/checkout_complete.php"> <input type="hidden" name="rm" value="2"> <input type="hidden" name="cbt" value="Return to The Store"> <input type="hidden" name="cancel_return" value="https://www.yoursite.com/paypal_cancel.php"> <input type="hidden" name="lc" value="US"> <input type="hidden" name="currency_code" value="USD"> <input type="image" src="http://www.paypal.com/en_US/i/btn/x-click-but01.gif" name="submit" alt="Make payments with PayPal - its fast, free and secure!"> </form> 

कृपया खेतों के माध्यम से जाना, सूचित करें, यूआरएल, वापसी, रद्द करें

ipn (my_ipn.php) से निपटने के लिए नमूना कोड जिसे भुगतान के बाद पेपैल द्वारा अनुरोध किया गया है।

आईपीएन बनाने के बारे में अधिक जानकारी के लिए, कृपया इस लिंक को देखें।

 <?php // Check to see there are posted variables coming into the script if ($_SERVER['REQUEST_METHOD'] != "POST") die("No Post Variables"); // Initialize the $req variable and add CMD key value pair $req = 'cmd=_notify-validate'; // Read the post from PayPal foreach ($_POST as $key => $value) { $value = urlencode(stripslashes($value)); $req .= "&$key=$value"; } // Now Post all of that back to PayPal's server using curl, and validate everything with PayPal // We will use CURL instead of PHP for this for a more universally operable script (fsockopen has issues on some environments) //$url = "https://www.sandbox.paypal.com/cgi-bin/webscr"; $url = "https://www.paypal.com/cgi-bin/webscr"; $curl_result = $curl_err = ''; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $req); curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: application/x-www-form-urlencoded", "Content-Length: " . strlen($req))); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_VERBOSE, 1); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_TIMEOUT, 30); $curl_result = @curl_exec($ch); $curl_err = curl_error($ch); curl_close($ch); $req = str_replace("&", "\n", $req); // Make it a nice list in case we want to email it to ourselves for reporting // Check that the result verifies if (strpos($curl_result, "VERIFIED") !== false) { $req .= "\n\nPaypal Verified OK"; } else { $req .= "\n\nData NOT verified from Paypal!"; mail("you@youremail.com", "IPN interaction not verified", "$req", "From: you@youremail.com"); exit(); } /* CHECK THESE 4 THINGS BEFORE PROCESSING THE TRANSACTION, HANDLE THEM AS YOU WISH 1. Make sure that business email returned is your business email 2. Make sure that the transaction s payment status is  completed  3. Make sure there are no duplicate txn_id 4. Make sure the payment amount matches what you charge for items. (Defeat Price-Jacking) */ // Check Number 1 ------------------------------------------------------------------------------------------------------------ $receiver_email = $_POST['receiver_email']; if ($receiver_email != "you@youremail.com") { //handle the wrong business url exit(); // exit script } // Check number 2 ------------------------------------------------------------------------------------------------------------ if ($_POST['payment_status'] != "Completed") { // Handle how you think you should if a payment is not complete yet, a few scenarios can cause a transaction to be incomplete } // Check number 3 ------------------------------------------------------------------------------------------------------------ $this_txn = $_POST['txn_id']; //check for duplicate txn_ids in the database // Check number 4 ------------------------------------------------------------------------------------------------------------ $product_id_string = $_POST['custom']; $product_id_string = rtrim($product_id_string, ","); // remove last comma // Explode the string, make it an array, then query all the prices out, add them up, and make sure they match the payment_gross amount // END ALL SECURITY CHECKS NOW IN THE DATABASE IT GOES ------------------------------------ //////////////////////////////////////////////////// // Homework - Examples of assigning local variables from the POST variables $txn_id = $_POST['txn_id']; $payer_email = $_POST['payer_email']; $custom = $_POST['custom']; // Place the transaction into the database // Mail yourself the details mail("you@youremail.com", "NORMAL IPN RESULT YAY MONEY!", $req, "From: you@youremail.com"); ?> 

नीचे दी गई छवि पेपैल प्रक्रिया को समझने में आपकी सहायता करेगी। पेपैल प्रक्रिया प्रवाह

निम्नलिखित रीडिंग के लिए आगे पढ़ने के लिए;

आशा है कि यह आपकी सहायता करता है .. 🙂

एक तरह से मैंने पाया है:

इस फ़ील्ड को अपने उत्पन्न फ़ॉर्म कोड में सम्मिलित करने का प्रयास करें:

 <input type='hidden' name='rm' value='2'> 

आरएम का मतलब वापसी पद्धति है ;

2 साधन (पोस्ट)

उपयोगकर्ता की खरीद के बाद और आपकी साइट यूआरएल पर लौटता है, तो उस यूआरएल को POST पैरामीटर भी मिल जाता है

पीएच प्रयोग करने पर ps, var_dump($_POST); सम्मिलित करने का प्रयास करें var_dump($_POST); आपकी वापसी यूआरएल (स्क्रिप्ट) में, फिर एक परीक्षण खरीद लें और जब आप अपनी साइट पर वापस लौटते हैं तो आप देखेंगे कि आपके यूआरएल में कौन-सी वेरिएबल्स हैं

मुझे लगता है कि केविन द्वारा वर्णित ऑटो रिटर्न मानों को सेट करने का विचार थोड़ा अजीब है!

उदाहरण के लिए कहें, कि आपके पास कई वेबसाइटें हैं जो आपके पेमेंट को संभालने के लिए उसी पेपैल खाते का उपयोग करती हैं, या कहती हैं कि आपके पास एक वेबसाइट में बहुत सारे अनुभाग हैं जो अलग क्रय कार्य करते हैं, और भुगतान करते समय भिन्न रिटर्न-पतों की आवश्यकता होती है पूरा हो गया है। यदि मैंने 'सीधे भुगतान के लिए PHP का उपयोग करते हुए नमूना फॉर्म' खंड में ऊपर वर्णित के रूप में अपने पृष्ठ पर एक बटन डाल दिया है, तो आप देख सकते हैं कि वहां एक पंक्ति है:

 input type="hidden" name="return" value="https://www.yoursite.com/checkout_complete.php" 

जहां आप व्यक्तिगत रिटर्न मान सेट करते हैं यह सामान्य रूप से प्रोफ़ाइल अनुभाग में भी क्यों सेट होना चाहिए?!?!

इसके अलावा, क्योंकि आप प्रोफ़ाइल अनुभाग में केवल एक मान निर्धारित कर सकते हैं, इसका अर्थ है (एएफएआईके) कि आप कई कार्यों के साथ साइट पर ऑटो रिटर्न का उपयोग नहीं कर सकते हैं

टिप्पणियाँ कृपया ??

चेकआउट पृष्ठ पर, 'cancel_return' छिपे हुए फ़ॉर्म तत्व की तलाश करें:

यूआरएल को रद्द करने के लिए यूआरएल को रद्द करें_ वापसी फार्म का मान सेट करें जिसे आप वापस करना चाहते हैं:

इसे साझा करना जैसा कि मैंने हाल ही में इस धागे के समान मुद्दों का सामना किया है

एक लंबे समय के लिए, मेरी स्क्रिप्ट अच्छी तरह से काम करती है (बुनियादी भुगतान प्रपत्र) और डाक चर को मेरी success.php पृष्ठ पर और आईपीएन डेटा को POST चर के रूप में भी लौटा दिया। हालांकि, हाल ही में, मैंने देखा कि रिटर्न पृष्ठ (success.php) अब कोई पोस्ट वार्स प्राप्त नहीं कर रहा था। मैंने सैंडबॉक्स में लाइव परीक्षण किया और मुझे पूरा यकीन है कि पेपल ने कुछ बदल दिया है!

Notify_url अभी भी सही आईपीएन डेटा मुझे डीबी को अपडेट करने की इजाजत देता है, लेकिन मैं अपने रिटर्न यूआरएल (success.php) पेज पर सफलता संदेश प्रदर्शित करने में सक्षम नहीं हूं।

पेपल वेबसाइट भुगतान वरीयताओं और आईपीएन में विकल्पों को बदलने और बंद करने के कई संयोजनों की कोशिश करने के बावजूद, मुझे यह सुनिश्चित करने के लिए कुछ बदलाव करना पड़ा कि मैं अभी भी एक संदेश संसाधित कर सकता हूं। मैंने इस उत्कृष्ट मार्गदर्शक का अनुसरण करने के बाद , पीडीटी और ऑटो रिटर्न को बदल कर इसे पूरा किया है।

अब यह सब ठीक काम करता है, लेकिन एकमात्र समस्या है कि वापसी यूआरएल में सभी पीडीटी वैरिएबल होते हैं जो बदसूरत हैं!

आपको यह सहायक भी मिल सकता है