您可以通过API取消PayPal自动付款吗?(通过托管按钮创建订阅)

您可以通过API取消PayPal自动付款吗?(通过托管按钮创建订阅),paypal,paypal-subscriptions,Paypal,Paypal Subscriptions,您可以通过API取消PayPal自动付款吗?它是通过托管按钮创建的“订阅” 我有“自动付款号码”和“交易ID”。是。 您可以通过以下方式暂停或取消配置文件: 使用 管理重复付款状态 API。您还可以重新激活 悬浮剖面图。如果最大 失败的付款数量已增加 但是,您将需要 要增加失败的 重新激活前的付款 个人资料 请参阅: 根据PAYPAL,您可以利用ManagerRecurringPayments API执行三项操作中的任意一项 取消-仅激活或禁用配置文件中的配置文件 可以取消挂起状态 挂起-活动

您可以通过API取消PayPal自动付款吗?它是通过托管按钮创建的“订阅”


我有“自动付款号码”和“交易ID”。

是。

您可以通过以下方式暂停或取消配置文件: 使用 管理重复付款状态 API。您还可以重新激活 悬浮剖面图。如果最大 失败的付款数量已增加 但是,您将需要 要增加失败的 重新激活前的付款 个人资料

请参阅:

根据PAYPAL,您可以利用ManagerRecurringPayments API执行三项操作中的任意一项

  • 取消-仅激活或禁用配置文件中的配置文件 可以取消挂起状态
  • 挂起-活动中的仅配置文件 国家可以暂停-
  • 重新激活-仅在应用程序中激活配置文件 可以重新激活挂起状态--
“通过网站付款标准的“订阅”按钮创建订阅。2009年之前,订阅配置文件ID以S-XXXXXXXX开头。您无法通过任何API调用管理这些订阅。2009年之后,订阅配置文件ID以I-XXXXXX开始。您可以通过ManageRecurringPaymentsProfileStatus API调用取消这些订阅。“


遇到同样的问题,只要阅读即可,您可以使用API取消标准网站订阅。

我不认为您可以使用API取消Paypal standard payment event pro的付款,而只有快速结帐才能工作。我尝试了,但收到了错误消息:定期付款API不支持订阅配置文件。“。您可以了解更多信息。

在找到解决方案之前,我找到了此线程,并认为我会回来给出答案。(C#.Net解决方案)

您将需要以下nuget软件包:

Install-Package RestApiSDK
Install-Package PayPalCoreSDK
Install-Package PayPalMerchantSDK
以及以下参考资料:

使用PayPal.Api;
使用PayPal.PayPalAPIInterfaceService;
使用PayPal.PayPalAPIInterfaceService.Model;
代码如下:

publicstaticvoidcancelrecurringpayment(字符串ProfileID)
{
ManagerRecurringPaymentsProfileStatusRequestType请求=
新经理RecurringPaymentsProfileStatusRequestType();
ManagerRecurringPaymentsProfileStatusRequestDetailsType详细信息=
新经理RecurringPaymentsProfileStatus RequestDetailsType();
request.ManageRecurringPaymentsProfileStatusRequestDetails=详细信息;
details.ProfileID=ProfileID;
details.Action=StatusChangeActionType.CANCEL;
//调用API
ManageRecurringPaymentsProfileStatusReq包装器=新的ManageRecurringPaymentsProfileStatusReq();
wrapper.ManageRecurringPaymentsProfileStatusRequest=请求;
Dictionary configurationMap=新字典();
添加(“模式”、“活动”);
//签名凭证
configurationMap.Add(“account1.apiUsername”、“apiUsername”);
configurationMap.Add(“account1.apiPassword”、“apiPassword”);
configurationMap.Add(“account1.apiSignature”、“apiSignature”);
//创建PayPalAPIInterfaceServiceService对象以进行API调用
PayPalAPIInterfaceServiceService=新的PayPalAPIInterfaceServiceService(配置图);
ManagerRecurringPaymentsProfileStatus响应类型ManagerProfileStatus响应=
服务。管理重复付款状态(包装);
//检查API返回状态
Dictionary responseParams=新字典();
添加(“API状态”,manageProfileStatusResponse.Ack.ToString());
if(manageProfileStatusResponse.Ack.Equals(AckCodeType.FAILURE)| |(manageProfileStatusResponse.Errors!=null&&manageProfileStatusResponse.Errors.Count>0))
{ 
//失败
Console.WriteLine(manageProfileStatusResponse.Errors.ToString());
}
其他的
{
//成功
控制台。写(“成功!”);
}
Console.WriteLine();
}
  • 使用PayPals Manager RecurringPaymentsProfileStatus API取消新的I-*订阅
  • 使用PhantomJS+此脚本取消旧的S-*订阅:

这不只是“Paypal Pro/Express付款”吗"? OP讨论的是常规paypal订阅系统。您不能使用下面的回答中提到的API取消旧订阅。您可以取消“旧”订阅,您不能使用API查看“旧”订阅的详细信息。什么有效?我也有同样的问题,无法取消S-订阅。是的,您将无法使用API取消“S”前缀订阅。如何使用I-前缀创建订阅?您现在使用API或Paypal页面创建的任何新订阅都将使用I。S只是旧订阅。不完全正确。我有两个贝宝账户。一方面,订阅都是从S开始的——它们是不可管理的。另一方面,它们从I开始,并且可以通过API进行管理。PayPal是一个癌症:/n您只有在尝试检索订阅详细信息时才会出现此错误。“”任何“”订阅都可以编辑其状态。您的代码非常优秀,切中要害。它帮助我解决了我的问题。谢谢