2015-04-03 5 views
11

आवर्ती TransactionSearch अनुरोध मैं लेनदेन के लिए transactionId क्षेत्र के साथ लेन-देन की सूची प्राप्त कर रही है पर, पुनरावृत्ति भुगतान करने के लिए इसी के लिए, के रूप में उदाहरण के लिए जाओ "आई-बीआरपीएन 2RUD8W0G" (वर्तमान नकली है)।पेपैल - लेनदेन विवरण प्रोफ़ाइल

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

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

+0

हैलो, मैं एक ही समस्या का सामना करना पड़ रहा है। – hemsbhardiya

उत्तर

1

आप (विशेष रूप से पुनरावृत्ति भुगतान के लिए) अपने Paypal व्यापारी खाते में IPN स्थापित करने के लिए, जो तुम वापस भेजता है एक सौदे का विवरण है जब एक आवर्ती भुगतान होता है जो वहाँ से आप $_POST['txn_id'] प्राप्त कर सकते हैं अपने TRANSACTIONID अगर $_POST['txn_type']recurring_payment है,। अपने डेटाबेस में विवरण सहेजें और फिर आपको लेनदेन विवरण की आवश्यकता होने पर GetTransactionDetails विधि पर कॉल कर सकते हैं। More

6

के रूप में संजीव ने सुझाव दिया आप IPN स्थापित करने के लिए की आवश्यकता होगी। आप IPN Variables के अनुसार फ़ील्ड प्राप्त कर सकते हैं। वापसी के मामले में आप भी parent_txn_id

उपयोग करने के लिए यदि आप और इस के साथ नए कठिन लग रहा है, तो आप IPN listener class उपयोग कर सकते हैं और उसके बाद कोड

$listener = new IpnListener(); 

try { 
    $verified = $listener->processIpn(); 
} catch (Exception $e) { 
    return Log::error($e->getMessage()); 
} 

if ($verified) { 

$data = $_POST; 
$user_id = json_decode($data['custom'])->user_id; 

$subscription = ($data['mc_gross_1'] == '10') ? 2 : 1; 

$txn = array(
    'txn_id'  => $data['txn_id'], 
    'user_id'  => $user_id, 
    'paypal_id' => $data['subscr_id'], 
    'subscription' => $subscription, 
    'expires'  => date('Y-m-d H:i:s', strtotime('+1 Month')), 
); 

Payment::create($txn); 

} else { 
    Log::error('Transaction not verified'); 
} 

सहेजें फ़ाइल में इस फाइल कोड मान लीजिए नीचे एकीकृत, की आवश्यकता होगी ipn.php और अब अपने पेपैल खाते में इस फ़ाइल के लिए वेब पथ असाइन करें।

पुनश्च: सुनिश्चित करें कि आपके IPN फ़ाइल सार्वजनिक पहुँच योग्य URL पर है। स्थानीय या प्रतिबंधित सर्वर का उपयोग न करें।

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