PayPal 订阅 API - 如何应用折扣

Posted

技术标签:

【中文标题】PayPal 订阅 API - 如何应用折扣【英文标题】:PayPal Subscriptions API - how to apply discounts 【发布时间】:2020-07-11 18:52:01 【问题描述】:

目前我有一个相对简单的 PayPal 结帐,它使用 PayPal Payments API 捕获一次性付款。

作为其中的一部分,用户可以选择输入优惠券代码并获得订单折扣。我可以通过提交 POST 请求来做到这一点:

request_body['purchase_units'][0]['amount'] = 
    'currency_code': 'GBP',
    'value': str(payment_amount),
    'breakdown': 
        'item_total': 
            'currency_code': 'GBP',
            'value': str(membership_type.price)
        ,
        'discount': 
            'currency_code': 'GBP',
            'value': str(discount)
        
    

对于客户而言,购买是半常规的,因此我正在更新结帐以转向基于订阅的系统,在该系统中,用户按设定的时间间隔自动计费,而不是手动进行每次都像当前一样结帐。

我正在使用 paypal 订阅 API 并设置了产品和计划,但在注册订阅时我看不到任何提供一次性折扣的方法。我可以看到免费试用的选项,但无法使用 API 在逐个订阅的基础上提供细粒度控制。

我想知道的是:

如何(如果有的话)在使用订阅 API 的同时集成某种凭证/折扣系统?如有必要,我可以开发一些定制的东西,但我想知道这里最好的方法是什么。想到为每个优惠券代码创建一个新计划,但这似乎有点繁重。 如果上述情况不可行,是否可以使用标准支付 API 自动处理经常性交易?我不会这么认为,否则就不需要 Subscriptions API。

一般来说,处理常规 PayPal 付款的最佳方式是什么,同时能够在特定情况下提供某种折扣?

【问题讨论】:

【参考方案1】:

据我所知:

如果定价方案不同,您需要一个新计划。如果预先创建您需要的所有计划没有意义,您可以编写代码以在客户签出并输入他们的选择/凭证并单击以继续时按需创建这些计划 您需要 PayPal 订阅 API 来进行自动重复交易

【讨论】:

假设我为特定用户的折扣创建了一个计划,然后我与这个计划建立了协议,我可以在使用后删除这个计划还是我需要保留它以便协议工作?这很麻烦,因为我的应用程序可以有 1000 个不同的折扣代码,所以有很多可能的结果,将所有这些计划保存在 paypal 中会造成混乱,不是吗? 无法删除计划。您可以停用一个。 如果我“停用”该计划,协议是否仍然有效,或者与该计划相关的所有协议都将被取消?我在文档中的任何地方都找不到它。

以上是关于PayPal 订阅 API - 如何应用折扣的主要内容,如果未能解决你的问题,请参考以下文章

使用 Paypal API / SDK,我将如何检查某个订阅 ID? C#

如何在 PayPal 订阅 API 中获取用户的订阅状态

通过 PayPal REST API 示例打折?

您如何通过他们的 api 取消 PayPal 订阅?

PayPal REST API - 优惠券/折扣代码(负数)

如何通过 webhook 在 PayPal API 中确认每月订阅的计费?