2014-11-04 81 views
1

我試圖使用SOAP API來創建定期付款,我做了以下步驟中的PayPal API手冊上提到:貝寶CreateRecurringPaymentsProfile憑證無效

1-呼叫「設置快速結賬」 API。 2-獲取令牌並將買方重定向到PayPal網站。 3-3用戶完成後,他將重定向到我的響應頁面。 4調用「do express checkout」API。呼叫「CreateRecurringPaymentsProfile」API。

我的電話SOAP結構:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:ebay:api:PayPalAPI" xmlns:urn1="urn:ebay:apis:eBLBaseComponents"> 
 
    <soapenv:Header> 
 
    <urn:RequesterCredentials> 
 
     <urn1:Credentials> 
 
     <urn1:Username>'+un+'</urn1:Username> 
 
     <urn1:Password>'+pw+'</urn1:Password> 
 
     <urn1:Signature>'+sig+'</urn1:Signature> 
 
     </urn1:Credentials> 
 
    </urn:RequesterCredentials> 
 
    </soapenv:Header> 
 
    <soapenv:Body> 
 
    <urn:CreateRecurringPaymentsProfileReq> 
 
     <urn:CreateRecurringPaymentsProfileRequest> 
 
     <urn1:Version>'+version+'</urn1:Version> 
 
     <urn1:CreateRecurringPaymentsProfileRequestDetails> 
 
      <urn1:Token>'+token+'</urn1:Token> 
 
      <urn1:RecurringPaymentsProfileDetails> 
 
      <urn1:SubscriberName>'+FirstName+' '+LastName+'</urn1:SubscriberName> 
 
      <urn1:BillingStartDate>'+strCurrentDate+'</urn1:BillingStartDate> 
 
      </urn1:RecurringPaymentsProfileDetails> 
 
      <urn1:ScheduleDetails> 
 
      <urn1:Description>'+BillingAgreementDescription+'</urn1:Description> 
 
      <urn1:PaymentPeriod> 
 
       <urn1:BillingPeriod>'+billingPeriod+'</urn1:BillingPeriod> 
 
       <urn1:BillingFrequency>'+billingFrequency+'</urn1:BillingFrequency> 
 
       <urn1:Amount currencyID="'+UsedCurrency+'">'+amount+'</urn1:Amount> 
 
      </urn1:PaymentPeriod> 
 
      </urn1:ScheduleDetails> 
 
     </urn1:CreateRecurringPaymentsProfileRequestDetails> 
 
     </urn:CreateRecurringPaymentsProfileRequest> 
 
    </urn:CreateRecurringPaymentsProfileReq> 
 
    </soapenv:Body> 
 
</soapenv:Envelope>

回答

0

這是一個與SOAP體的結構問題應該是這樣的:

string doExpressCheckout = ''; 
    doExpressCheckout += '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:ebay:api:PayPalAPI" xmlns:urn1="urn:ebay:apis:eBLBaseComponents">'; 
    doExpressCheckout += '<soapenv:Header>'; 
    doExpressCheckout += '<urn:RequesterCredentials>'; 
    doExpressCheckout += '<urn1:Credentials>'; 
    doExpressCheckout += '<urn1:Username>'+un+'</urn1:Username>'; 
    doExpressCheckout += '<urn1:Password>'+pw+'</urn1:Password>'; 
    doExpressCheckout += '<urn1:Signature>'+sig+'</urn1:Signature>'; 
    doExpressCheckout += '</urn1:Credentials>'; 
    doExpressCheckout += '</urn:RequesterCredentials>'; 
    doExpressCheckout += '</soapenv:Header>'; 
    doExpressCheckout += '<soapenv:Body>'; 
    doExpressCheckout += '<urn:DoExpressCheckoutPaymentReq>'; 
    doExpressCheckout += '<urn:DoExpressCheckoutPaymentRequest>'; 
    doExpressCheckout += '<urn1:Version>'+version+'</urn1:Version>'; 
    doExpressCheckout += '<urn1:DoExpressCheckoutPaymentRequestDetails>'; 
    doExpressCheckout += '<urn1:Token>'+token+'</urn1:Token>'; 
    doExpressCheckout += '<urn1:PayerID>'+payerID+'</urn1:PayerID>'; 
    doExpressCheckout += '<urn1:PaymentDetails>'; 
    doExpressCheckout += '<urn1:OrderTotal currencyID="'+UsedCurrency+'">'+amount+'</urn1:OrderTotal>'; 
    doExpressCheckout += '</urn1:PaymentDetails>'; 
    doExpressCheckout += '</urn1:DoExpressCheckoutPaymentRequestDetails>'; 
    doExpressCheckout += '</urn:DoExpressCheckoutPaymentRequest>'; 
    doExpressCheckout += '</urn:DoExpressCheckoutPaymentReq>'; 
    doExpressCheckout += '</soapenv:Body>'; 
    doExpressCheckout += '</soapenv:Envelope>'; 
0

通常當發生這種情況的人,那是因爲你沒有在您的SetExpressCheckout請求中的計費協議參數。因此,您使用CreateRecurringPaymentsProfile時獲得的令牌無效。

這是old sample set of calls我放在一起爲人們回答這個問題。它使用NVP而不是SOAP,但您可以看到它包含SEC請求中的BILLINGTYPE和BILLINGAGREEMENTDESCRIPTION參數。確保你的證券交易委員會要求包括相應的。