2010-10-28 14 views
13

मैं के लिएपुनरावर्ती भुगतान के लिए पेपैल आईपीएन को एकीकृत कैसे करें?

web_accept

अब तक मीका कैरिक के PAYPAL IPN वर्ग उपयोग किया गया है, लेकिन अब ग्राहक से एक आवर्ती विधि में था.मैं एक ही सामान का उपयोग कर की कोशिश की लेकिन दुर्भाग्य से एकीकृत करने के लिए चाहता है इस बार इतना सफल नहीं था। मैं पेपैल पुनरावर्ती विधि से कनेक्ट करने का प्रयास कर रहा हूं। अनुसरण करना वह कोड है जिसके द्वारा मैं इसे प्राप्त करने की कोशिश कर रहा हूं;

$paypalObj = new paypal_class(); 

$itemName = "My Product"; 
$itemNumber = $itemName . " - Premium ($amount$)"; 

$paypalObj->paypal_url = 'https://www.sandbox.paypal.com/cgi-bin/webscr';// testing paypal url 
//$paypalObj->paypal_url = 'https://www.paypal.com/cgi-bin/webscr';// Live paypal url 

$paypalObj->add_field('cmd','_xclick-subscriptions'); 
$paypalObj->add_field('txn_type', "recurring_payment"); 
$paypalObj->add_field('product_name', "My Product Subscription - Monthly($$amount)"); 
$paypalObj->add_field('desc', "My Product Subscription - Monthly($$amount)"); 

$paypalObj->add_field('business', "[email protected]"); 

$paypalObj->add_field('return', "http://".$serverName . "/buy-now.php"); 
$paypalObj->add_field('cancel_return', "http://".$serverName. "/return.php?action=cancel"); 
$paypalObj->add_field('notify_url', "http://" . $serverName . "/return.php?action=ipn"); 

$paypalObj->add_field('src', "1"); 
$paypalObj->add_field('sra', "1"); 
$paypalObj->add_field('a3', "$amount"); 
$paypalObj->add_field('t3', "M"); 
$paypalObj->add_field('p3', "1"); 
//$paypalObj->add_field('no_note', "1"); 
$paypalObj->add_field('currency_code', "USD"); 

$paypalObj->add_field('first_name', $firstName); 
$paypalObj->add_field('last_name', $lastName); 

$paypalObj->submit_paypal_post(); 

कोड मुझे Paypal सैंडबॉक्स पर रीडायरेक्ट करने (मैं अभी भी परीक्षण कर रहा हूँ के रूप में) की सुविधा देता है, लेकिन जब मैं Paypal सैंडबॉक्स पर लॉग इन यह मुझे इस त्रुटि फेंकता है:

लिंक आप का इस्तेमाल किया है में प्रवेश के लिए पेपैल सिस्टम अमान्य है। कृपया लिंक की समीक्षा करें और पुनः प्रयास करें।

उत्तर

10

मुझे पता चला कि मेरे कोड के पीछे क्या समस्या थी। मैं बस कुछ अन्य चर के साथ कोड को फिर से लिखता हूं और यह ठीक काम करता है।

$paypalObj = new paypal_class(); 


$customData = $firstName . ":"; 
$customData .= $lastName . ":"; 
$customData .= $emailId ; 
$itemName = "MY_PRODUCT"; 
$itemNumber = $itemName . " - Premium ($amount$)"; 

$paypalObj->paypal_url = 'https://www.sandbox.paypal.com/cgi-bin/webscr';// testing paypal url 


$paypalObj->add_field('cmd','_xclick-subscriptions'); 
$paypalObj->add_field('business','MY_MECHANT_ACCOUNT'); 
$paypalObj->add_field('item_name',$itemName); 
$paypalObj->add_field('item_number',$itemNumber); 
$paypalObj->add_field('return', "http://" . $serverName . "/buy-now.php"); 
$paypalObj->add_field('cancel_return', "http://".$serverName. "/buy-now.php?action=cancel"); 
$paypalObj->add_field('notify_url', "http://" . $serverName . "/buy-now.php?action=ipn"); 
$paypalObj->add_field('no_note','1'); 
$paypalObj->add_field('currency_code','USD'); 
$paypalObj->add_field('custom',$customData); 
$paypalObj->add_field('a3', "$amount"); 
$paypalObj->add_field('t3', "M"); 
$paypalObj->add_field('p3', "1"); 
$paypalObj->add_field('src', "1"); 
$paypalObj->add_field('sra', "1"); 

$paypalObj->submit_paypal_post(); 
+0

नियमित रूप से चेकआउट और आवर्ती चेकआउट में अलगाव कैसे करें इस संशोधित लिपि के साथ? – Santanu

+1

@san: IsRecurring के अनुसार स्थिति या नियमित रूप से सब्सक्राइब करने के लिए उस चर की तरह किसी भी स्थिति का उपयोग करें और यदि स्थिति और नियमित चेकआउट और पुनरावर्ती चेकआउट में अलग होने के लिए cmd का उपयोग करें – chitra

0

मुझे विश्वास नहीं है कि आपको txn_type सेट करना चाहिए - यह पेपैल के आईपीएन द्वारा पारित एक मूल्य है, इसे पास नहीं किया गया है।

+0

ओह अरे! धन्यवाद ब्रायन.मुझे बस कोशिश करने दो! –

+0

अभी भी ब्रायन काम नहीं कर रहा है। यह अभी भी एक ही त्रुटि संदेश फेंकता है। अब मुझे क्या करना चाहिए। क्या आपको कुछ और मिल गया है जो मेरे कोड में है? –

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