2010-12-03 2 views
12

는 : https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_api_ECRecurringPaymentsapi를 통해 PayPal 구독을 취소하는 방법은 무엇입니까? 이 페이지에서

그것은 자신의 API를 사용하여 페이팔 가입을 취소 할 수 있다고 말한다. SubscriptionId를 알면 누구나 나에게이 코드를 어떻게 제공 할 수 있습니까?

감사합니다.

+0

"* Failure *"/ "* Profile ID is invalid *"이외의 답장을 받으셨습니까? 내가 아는 한, 이런 식으로 * CreateRecurringPaymentsProfile *을 사용하지 않고 "정상적으로"만든 구독을 취소 할 수 없습니다. 가입 ID를 입력하면 트릭을하지 않습니다 (나에게 해당). – nssmart

+2

"웹 사이트 결제 표준 '구독'버튼을 통해 구독이 생성됩니다 2009 년 이전에 구독 프로필 ID가 S-XXXXXXXX로 시작되었으며 API 호출을 통해 이러한 구독을 관리 할 수 ​​없습니다 2009 년 이후 구독 프로필 ID가 시작됩니다 I-XXXXXX를 사용하면 ManageRecurringPaymentsProfileStatus API 호출을 통해 이러한 구독을 취소 할 수 있습니다. " 동일한 문제가있어서 Robert으로 읽는 것만으로도 작동하지만 API를 사용하여 표준 웹 사이트 가입을 취소 할 수 있습니다. –

+0

지금 2012 년이며 모든 구독 정보가 오늘까지 S부터 시작되며 취소 방법을 사용할 수 없습니다. 어쩌면 누군가 해결책을 찾았 을까요? – Tomas

답변

15

쉬운 해결책을 찾을 수 있었습니까? 나는 이것을 찾고있다. 감사!

업데이트 : 검색 후 "ManageRecurringPaymentsProfileStatus"는 간단한 POST 요청을 통해 매우 쉽게 사용할 수 있습니다.

사용자, 비밀번호 또는 서명이 보이지 않는지 확인하십시오 (즉, 자바 스크립트 또는 HTML 게시물을 통해 클라이언트가 아닌 서버에서이 작업을 수행하십시오).

다음은 Python의 간단한 예제입니다. 그것은 작동하고 나는 지금 매일 그것을 사용하고 있습니다.

TIMESTAMP = 2,011% 2d01 % 2d28T14 % 3a47 %의 3a45Z & correlationId가 = 148ebe1d25566 & ACK = 실패 & VERSION = 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 = 오류

'ACK'필드는 '실패'또는 '성공'을 나타냅니다. 내가 깃발을 '사용하지 않는

<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

루이에게 감사드립니다. 직접 해보 겠지만 수동으로 만든 구독에 대해서는 작동하는지 확인할 수 있습니까? 아래 Vitaly의 대답을보십시오. – Anthony

관련 문제