2013-04-17 5 views
5

CreateRecurringPaymentsProfile NVP API를 호출 할 때 계속 잘못된 토큰 오류가 발생합니다.CreateRecurringPaymentsProfile 오류 11502 : 유효하지 않은 토큰

내 API의 순서를 찾아주세요 아래 전화 :

SetExpressCheckout

METHOD = SetExpressCheckout 
VERSION = 98 
PWD = <pwd> 
USER = <user> 
SIGNATURE = <signature> 
ReturnUrl = http://google.com 
CANCELURL = http://google.com 
PAYMENTREQUEST_0_PAYMENTACTION = Authorization 
PAYMENTREQUEST_0_AMT = 100.00 
PAYMENTREQUEST_0_CURRENCYCODE = USD 
L_PAYMENTREQUEST_0_NAME0 = Item1 
L_PAYMENTREQUEST_0_QTY0 = 1 
L_PAYMENTREQUEST_0_AMT0 = 100.00 
PAYMENTREQUEST_0_SELLERPAYPALACCOUNTID = [email protected] 
LOCALECODE = US 
L_BILLINGTYPE0 = RecurringPayments 
L_BILLINGAGREEMENTDESCRIPTION0 = SameEveryTime 

내가 응답으로 ACK = * 성공 *로 다시 토큰을 얻는다. 그런 다음 페이팔 웹 사이트로 이동하여 [https://www.sandbox.paypal.com/webscr&cmd=_express-checkout&token=토큰] 페이팔 계정으로 로그인하고 동의 및 계속을 클릭하십시오.

는 리디렉션 URL로 리디렉션을 성공적으로 동의하고 후, 나는

METHOD = GetExpressCheckoutDetails 
VERSION = 98 
PWD = <pwd> 
USER = <user> 
SIGNATURE = <signature> 
TOKEN = <token from the SetExpressCheckout response> 

성공적으로 응답으로 지불 인 정보를받은 후, 내가 DoExpressCheckoutPayment API을 다음과 같은 매개 변수와 함께 GetExpressCheckoutDetails에게 API 호출을

METHOD = DoExpressCheckoutPayment 
VERSION = 98 
PWD = <pwd> 
USER = <user> 
SIGNATURE = <signature> 
TOKEN = <token from the SetExpressCheckout response> 
PAYERID = <payer ID from the GetExpressCheckoutDetails response> 
PAYMENTREQUEST_0_AMT = 100 
PAYMENTREQUEST_0_PAYMENTACTION = Sale 
PAYMENTREQUEST_0_CURRENCYCODE = USD 
L_PAYMENTREQUEST_0_NAME0 = Item1 
L_PAYMENTREQUEST_0_QTY0 = 1 
L_PAYMENTREQUEST_0_AMT0 = 100.00 
PAYMENTREQUEST_0_SELLERPAYPALACCOUNTID = [email protected] 

전화 나는 지금 CreateRecurringPayments을 프로필 API 호출

METHOD = CreateRecurringPaymentsProfile 
VERSION = 98 
PWD = <pwd> 
USER = <user> 
SIGNATURE = <signature> 
TOKEN = <token from the SetExpressCheckout response> 
PAYERID = <payer ID from the GetExpressCheckoutDetails response> 
DESC = SameEveryTime 
BILLINGPERIOD = Month 
BILLINGFREQUENCY = 1 
PROFILESTARTDATE = 2013-05-16T00:00:00Z 
MAXFAILEDPAYMENTS = 1 
AMT = 100.00 
CURRENCYCODE = USD 
L_PAYMENTREQUEST_0_NAME0 = Item1 
L_PAYMENTREQUEST_0_QTY0 = 1 
L_PAYMENTREQUEST_0_AMT0 = 100.00 
AUTOBILLAMT = AddToNextBilling 

나는 많은 포럼에서 해결책을 찾고 시도했지만 내가 매개 변수를 놓친 경우에 알아낼 수있는 다음과 같은 응답

TIMESTAMP = 2013-04-17T05:31:24Z 
CORRELATIONID = d2c1d30c1d31 
ACK = Failure 
VERSION = 98 
BUILD = 5650305 
L_ERRORCODE0 = 11502 
L_SHORTMESSAGE0 = Invalid Token 
L_LONGMESSAGE0 = The token is invalid 
L_SEVERITYCODE0 = Error 

가 계속.

아무도 도와 줄 수 있습니까? 사전에

감사합니다, 라훌

+0

나는 똑같은 문제가 있습니다. 이미 해결책을 찾았습니까? – severin

답변

1

이 오류는 Paypal에서 반환합니다. 이 오류의 가장 일반적인 이유는 SetExpressCheckout 호출의 BillingDescription 값과 CreateRecurringprofile 호출의 ScheduleDEtails.Description 사이의 불일치입니다. 이 두 가지가 정확히 작동하는지 확인하십시오.

예 :

public CreateRecurringPaymentsProfileResponseType createRecurringProfile(string tokenin){ 
     var scheduleDetails = new ScheduleDetailsType(); 
     scheduleDetails.PaymentPeriod = paymentPeriod; 
     scheduleDetails.Description = "RecurringBilling"; 
} 
public SetExpressCheckoutResponseType setExpressCheckout() 
{ 
.... 
var billingAgreement = new BillingAgreementDetailsType(); 

      billingAgreement.BillingAgreementDescription = "RecurringBilling"; 
      billingAgreement.BillingType = BillingCodeType.RECURRINGPAYMENTS; 
      billingAgreement.PaymentType = MerchantPullPaymentCodeType.ANY; 

      ecDetails.BillingAgreementDetails.Add(billingAgreement); 
... 
} 
관련 문제