2010-12-03 12 views
12

इस पृष्ठ परः https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_api_ECRecurringPaymentsआप अपने एपीआई के माध्यम से पेपैल सदस्यता कैसे रद्द करते हैं?

यह कहना है कि यह उनके एपीआई का उपयोग कर एक पेपैल सदस्यता रद्द करने के संभव है। सदस्यता आईडी जानना क्या कोई मुझे कुछ कोड उदाहरण दे सकता है यह कैसे करें?

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

+0

क्या आपने कभी "* विफलता *"/"* प्रोफ़ाइल आईडी अमान्य है" के अलावा अन्य उत्तर प्राप्त किया है? जहां तक ​​मैंने पाया, आप इस तरह से "सामान्य रूप से" बनाई गई सदस्यता रद्द नहीं कर सकते (बिना * CreateRecurringPaymentsProfile *)। सब्सक्रिप्शन आईडी डालने से चाल नहीं होती है (मेरे लिए)। – nssmart

+2

"वेबसाइट भुगतान मानक 'सदस्यता लें' बटन के माध्यम से एक सदस्यता बनाई गई है। 200 9 से पहले, सब्सक्रिप्शन प्रोफाइल आईडी एस-XXXXXXXX के साथ शुरू हुई थी। आप इन सदस्यता को किसी भी एपीआई कॉल के माध्यम से प्रबंधित करने में सक्षम नहीं हैं। 200 9 के बाद, सदस्यता प्रोफ़ाइल आईडी शुरू होती है I-XXXXXX के साथ। आप इन सब्सक्रिप्शन को ManageRecurringPaymentsProfileStatus API कॉल के माध्यम से रद्द करने में सक्षम हैं। " एक ही समस्या थी और इसे Robert द्वारा पढ़ें और यह काम करता है, आप API का उपयोग कर मानक वेबसाइट सदस्यता रद्द कर सकते हैं। –

+0

अब 2012 है और मेरी सभी सदस्यता आज तक एस से शुरू होती है और मैं रद्दीकरण विधि का उपयोग करने में सक्षम नहीं हूं। शायद किसी को कोई समाधान मिला? – Tomas

उत्तर

15

क्या आप एक आसान समाधान खोजने के लिए प्रबंधित किया था? मैं भी इसके लिए देख रहा हूँ। धन्यवाद!

अद्यतन: खोज के बाद, "प्रबंधितRecurringPaymentsProfileStatus" को सरल पोस्ट अनुरोध के माध्यम से उपयोग करना बहुत आसान है।

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

पायथन में एक साधारण कामकाजी उदाहरण के नीचे। यह काम करता है और अब मैं इसे दैनिक उपयोग कर रहा हूं।

TIMESTAMP = 2011% 2d01% 2d28T14% 3a47% 3a45Z & CORRELATIONID = 148ebe1d25566 & एसीके = विफलता & संस्करण = 54% 2e0 & BUILD = 1,704,252:

import urllib 
from google.appengine.api import urlfetch 

form_fields = { 
     "METHOD": "ManageRecurringPaymentsProfileStatus", 
     "PROFILEID": "xxx", # put your subscription ID here 
     "ACTION": "cancel", 
     "USER": "xxx", # Get USER, PWD, and SIGNATURE from your Paypal's account preferences 
     "PWD": "xxx", 
     "SIGNATURE": "xxx", 
     "VERSION": "54.0" 
} 

api_url = 'https://api-3t.sandbox.paypal.com/nvp' # remove the sandbox part for production 

form_data = urllib.urlencode(form_fields) 

result = urlfetch.fetch(url=api_url, 
        payload=form_data, 
        method=urlfetch.POST, 
        headers={'Content-Type': 'application/x-www-form-urlencoded'}) 

प्रतिक्रिया ऐसी स्ट्रिंग है इस तरह दिखता है & L_ERRORCODE0 = 11552 & L_SHORTMESSAGE0 = अमान्य% 20profile% 20ID & L_LONGMESSAGE0 =% 20profile% 20ID% 20is% 20invalid & L_SEVERITYCODE0 = त्रुटि

'एसीके' फ़ील्ड 'असफलता' या 'सफलता' इंगित करता है।

नीचे टिप्पणी के जवाब में, ध्यान दें करता है कि यह मुझे सदस्यता है कि इस तरह के रूप में एक डायनामिक रूप से तैयार लिंक के माध्यम से बनाया गया है रद्द करने के लिए सक्षम:

<a href="https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_xclick-subscriptions&business=llcpro_1295263400_biz%40jeregle.com&item_name=Abonnement%20mensuel&a3=41.86&t3=M&p3=1&src=1&sra=1&currency_code=EUR&no_note=1&no_shipping=1&lc=FR&custom=xxxxx&notify_url=https%3A%2F%2Fyournotifyurl.com%2Fipn&charset=utf-8&country=FR&a1=0&t1=D&p1=31" target="_blank">Subscribe</a>

ध्यान दें कि मैं झंडा 'का उपयोग नहीं करते बिल्कुल संशोधित करें।

+0

मैंने नहीं किया। मैं अभी भी इसे मैन्युअल रूप से कर रहा हूँ। शुक्र है कि यह अक्सर नहीं होता है। – Anthony

+0

हाय एंथनी। समाधान मिला, ऊपर मेरी अद्यतन पोस्ट देखें। आशा है कि यह आपके लिए उपयोगी होगा। चीयर्स। –

+1

धन्यवाद लुईस। मैं कोशिश करूँगा लेकिन क्या आप पुष्टि कर सकते हैं कि यह मैन्युअल रूप से बनाई गई सदस्यता के लिए काम करता है? नीचे विटाली का जवाब देखें। – Anthony

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