2013-03-25 7 views
5

मैं Wordpress सीएमएस के लिए एक उत्पाद पीढ़ी और प्रदर्शन प्लगइन का निर्माण किया है और अब मैं जांच प्रक्रिया के लिए पेपैल एकीकरण के कुछ फार्म को एकीकृत करने की कोशिश कर रहा हूँ।पेपैल एक्सप्रेस चेकआउट को एकीकृत करने का आसान तरीका?

मेरे पास कार्ट, उत्पाद, शिपिंग, योग, जो मेरे अंत में पता लगाया गया है और मुझे आशा है कि कोई मुझे पेपैल को यह जानकारी भेजने की सबसे सरल दिशा में इंगित कर सकता है। मैं समझता हूं कि ऐसा करने के कुछ तरीके सुरक्षित नहीं हैं और अन्य आपको कुछ प्रकार के शो कुत्ते की तरह हुप्स के माध्यम से कूदते हैं। मैं सीखने की कोशिश कर रहा हूं कि कर्ल का उपयोग कैसे करें और फिर PHP के साथ काम करने के लिए इसे कैसे प्राप्त करें - यह वास्तव में एक गड़बड़ की तरह लगता है। मैं अब cURL मेरे WAMP सर्वर पर काम कर रहा है है ... लेकिन ..

वहाँ एक बेहतर तरीका है या मैं cURL जानने के लिए जारी रखना चाहिए?

मैं डेटा को प्रारूपित कर सकता हूं हालांकि इसे पेपैल को भेजना होगा और जावास्क्रिप्ट के साथ ऐसा करने में कोई फर्क नहीं पड़ता - यह एक वेतन-दीवार नहीं है और प्रत्येक आदेश मानव द्वारा सटीकता के लिए चेक किया जाता है - इसलिए कोई गड़बड़ कर रहा है क्लाइंट-साइड स्क्रिप्ट मुझे परेशान नहीं करेगी। मैं निश्चित रूप से उन्हें पेपैल भेजना चाहता हूं, मैं अपनी क्रेडिट कार्ड की जानकारी को संग्रहित/संसाधित करने का कोई हिस्सा नहीं चाहता हूं। हालांकि, आईपीएन होना अच्छा लगेगा। क्या कोई मुझे सही दिशा में इंगित कर सकता है या मुझे विश्वास दिला सकता है कि मैं पहले से ही इस तरह से आगे बढ़ रहा हूं?

बहुत बहुत धन्यवाद।

उत्तर

7

यह मैं कैसे स्वचालित रूप से सभी प्रपत्र के विवरण के साथ पेपैल पर पुन: निर्देशित है,

<form action="https://www.paypal.com/cgi-bin/webscr" method="post" id="paypal"> 

<input type="hidden" name="cmd" value="_xclick" /> 
    <input type="hidden" name="cbt" value="Return to example" /> 
<input type="hidden" name="business" value="email" /> 
<input type="hidden" name="item_name" value="example Purchase" /> 
<input type="hidden" name="amount" value="9.99"> 
<input type="hidden" name="button_subtype" value="services" /> 
<input type="hidden" name="no_shipping" value="1"> 
<input type="hidden" name="return" value="URL" /> 
<input type="hidden" name="notify_url" value="URL"/> 
<input type="hidden" name="cancel_return" value="URL" /> 
<input type="hidden" name="currency_code" value="USD"/> 
<input type="hidden" name="image_url" value="" /> 
<input type="hidden" id="custom" name="custom" value="invoice_id to track"/> 
<input type="hidden" class="btn btn-primary" style="width:100%" alt="PayPal - The safer, easier way to pay online!"/> 

</form> 

कई उत्पादों के लिए, आप बस फॉर्म में अधिक उत्पाद जोड़ सकते हैं, उदाहरण;

<input type="hidden" name="item_name_1" value="Item #1"> 
<input type="hidden" name="amount_1" value="1.00"> 
<input type="hidden" name="item_name_2" value="Item #2"> 
<input type="hidden" name="amount_2" value="2.00"> 

हालांकि, इस विधि का उपयोग नहीं सभी महान

सभी डेटा पृष्ठ में PHP और इनपुट के साथ उत्पन्न किया जा करने की आवश्यकता होगी, तो आप भी जब IPN को वापस कॉल लेन-देन की जांच करने की आवश्यकता होगी है सुनिश्चित करें कि इसका भुगतान किया गया है।

<script type="text/javascript"> 
    function myfunc() { 
    var frm = document.getElementById("paypal"); 
    frm.submit(); 
    } 
    window.onload = myfunc; 
</script> 
+0

त्वरित उत्तर के लिए धन्यवाद। क्या यह उत्पादों के पूरे कार्ट के साथ-साथ सिर्फ एक समय में काम करेगा? क्या आप आईपीएन को संभालने के बारे में कोई जानकारी दे सकते हैं? – Jon

+0

कई उत्पादों के उपयोग को दिखाने के लिए संपादित किया गया। –

+0

फिर से धन्यवाद, पेपैल को भेजने के लिए इस फॉर्म के लिए आवश्यक एचटीएमएल उत्पन्न करना कोई समस्या नहीं होनी चाहिए। ऐसा लगता है कि एकमात्र गायब पहेली टुकड़ा आईपीएन का पता लगाना और संभालना होगा। – Jon

3

आप नए पेपैल SDK का उपयोग कर सकते हैं। वे एक्सप्रेस चेकआउट और IPN के लिए कोड सहित नमूना कोड का एक अच्छा सेट है, । यहाँ https://www.x.com/developers/paypal/documentation-tools/paypal-sdk-index प्रयास करें एक्सप्रेस चेकआउट के लिए एसडीके प्राप्त करें। इस समय पर, वे PHP के लिए एसडीके 98 पर होना चाहिए।

आप कर्ल, एसडीके आप के लिए यह सब का ख्याल रखता है के बारे में चिंता करने की ज़रूरत नहीं होगी। एक सामान्य कॉल ऐसा कुछ हो सकता है।

$setECResponse = $paypalService->SetExpressCheckout($setECReq); 

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

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

यहां एपीआई हैं जिन्हें आप इसके लिए कॉल कर सकते हैं। ये नमूना कोड को बारीकी से मॉडलिंग की कर रहे हैं वे प्रदान

$paypalService->SetExpressCheckout($setECReq); 

नियंत्रण पेपैल यूआरएल के लिए चला जाता है, और उपयोगकर्ता वहाँ कुछ पन्नों के माध्यम से चला जाता है। नियंत्रण आपको वापस देता है।

आपकी ऑर्डर समीक्षा पृष्ठ $ paypalService-> GetExpress चेकआउट विवरण ($ getExpressCheckoutReq);

अपने आदेश पुष्टि पृष्ठ

$paypalService->GetExpressCheckoutDetails($getECReq); 

$paypalService->DoExpressCheckoutPayment($DoECReq); 

लेनदेन करना पेपैल कहता है।

$paypalService->GetTransactionDetails($request); 

यहां आप लेन-देन विवरण डेटाबेस में डाल सकते हैं। आप सभी विवरणों के साथ खुद को एक मेल भी भेज सकते हैं, इस तरह से जब भी कोई लेनदेन होता है तो आपको पता चलेगा।

आईपीएन थोड़ा मुश्किल हो सकता है। एक नमूना आईपीएन श्रोता है जो वे प्रदान करते हैं, इससे मदद मिलेगी। आपको पेपैल वेबसाइट पर अपना श्रोता URL सेट अप करने की आवश्यकता होगी। आप को भी SSL प्रमाणपत्र सेट अप करने की आवश्यकता होगी।

एसडीके काफी नए हैं, लेकिन पेपैल चीजें करने के लिए नए तरीके से काम कर रहा है, developer.paypal.com। यह पिछले महीने या तो बाहर आया था। आप भी उसमें देखना चाह सकते हैं।

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