PayPal CreateRecurringPaymentsProfile无效令牌

PayPal CreateRecurringPaymentsProfile无效令牌,paypal,recurring-billing,Paypal,Recurring Billing,我正在尝试使用SOAP API创建定期付款,我按照PayPal API手册中提到的步骤执行了以下操作: 1-调用“设置快速签出”API。 2-获取令牌并将买家重定向到PayPal站点。 3-用户完成后,他将重定向到我的响应页面。 4-调用“do express checkout”API。 5-调用“CreateRecurringPaymentsProfile”API 我的呼叫SOAP结构: “+un+” “+pw+” “+sig+” “+版本+” “+令牌+” “+FirstName+”“+

我正在尝试使用SOAP API创建定期付款,我按照PayPal API手册中提到的步骤执行了以下操作:

1-调用“设置快速签出”API。 2-获取令牌并将买家重定向到PayPal站点。 3-用户完成后,他将重定向到我的响应页面。 4-调用“do express checkout”API。 5-调用“CreateRecurringPaymentsProfile”API

我的呼叫SOAP结构:


“+un+”
“+pw+”
“+sig+”
“+版本+”
“+令牌+”
“+FirstName+”“+LastName+”
“+strCurrentDate+”
“+BillingAgreementDescription+”
“+计费周期+”
“+计费频率+”
“+金额+”

通常当这种情况发生在人们身上时,是因为您没有在SetExpressCheckout请求中包含计费协议参数。因此,您获取的令牌对于CreateRecurringPaymentsProfile来说确实是无效的


下面是我为大家准备的一个答案。它使用的是NVP而不是SOAP,但是您可以看到它在SEC请求中包含了BILLINGTYPE和BILLINGAGREEMENTDESCRIPTION参数。确保在SEC请求中包含相应的内容。

这是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>';
string doExpressCheckout='';
doExpressCheckout+='';
doExpressCheckout+='';
doExpressCheckout+='';
doExpressCheckout+='';
doExpressCheckout+=''+un+'';
doExpressCheckout+=''+pw+'';
doExpressCheckout+=''+sig+'';
doExpressCheckout+='';
doExpressCheckout+='';
doExpressCheckout+='';
doExpressCheckout+='';
doExpressCheckout+='';
doExpressCheckout+='';
doExpressCheckout+=''+版本+'';
doExpressCheckout+='';
doExpressCheckout+=''+令牌+'';
doExpressCheckout+=''+payerID+'';
doExpressCheckout+='';
doExpressCheckout+=''+金额+'';
doExpressCheckout+='';
doExpressCheckout+='';
doExpressCheckout+='';
doExpressCheckout+='';
doExpressCheckout+='';
doExpressCheckout+='';