标签: paypal-subscriptions

PayPal订阅IPN下一个结算日期

我的网络应用程序使用PayPal每月订阅.我在付款时收到IPN通知,用户注册/取消等等,这一切似乎都运行良好.

IPN消息中似乎缺少的一件事是关于下一个计费日期的任何形式的指示. https://developer.paypal.com/docs/classic/ipn/integration-guide/IPNandPDTVariables/#id091EB0901HT

起初我认为,因为它是按月订阅,我可以简单地在上一个日期添加一个月,但PayPal似乎有一种时髦的方式来确定下一个付款日期 - 它不总是30或31天或一个月.

下一个开票日期可从PayPal内部获得,但似乎不会在任何IPN消息中发送.

有没有人知道从IPN消息中可用的信息中解决这个问题的简单方法?

paypal paypal-subscriptions paypal-ipn

5
推荐指数
1
解决办法
1549
查看次数

PayPal Sandbox 使用 REST API 对订阅进行负面测试

我一直在与一个团队合作,为我们的应用程序提供 PayPal 集成,并且我们使用 REST API 来设置订阅的实施进展顺利。然而,我在尝试测试一些负面场景(例如用户的卡已过期)时遇到了问题。我注意到可以在沙箱环境中启用负面测试,但我相信这只适用于经典 API(我们正在使用 REST API)。

有什么方法可以设置一个带有过期卡的测试用户,或者一个银行(不是 PayPal)帐户中没有钱的测试用户等等。我想了解审批的行为和执行设置阶段更彻底的订阅以及我们的应用程序在每个阶段可以处理哪些错误。

谢谢

rest paypal paypal-subscriptions

5
推荐指数
1
解决办法
682
查看次数

Paypal Rest API 与经典 Sdk

我第一次与贝宝合作。我有一个产品,我想将贝宝与它集成。

我想完成以下任务:

  1. 客户来到我的网站并选择一个计划,这是一个每月定期计划。
  2. 然后客户被重定向到 Paypal 进行付款。
  3. 客户付款。
  4. 返回主页。

我已经浏览了 paypal 的文档,我有以下问题。

  1. 我应该使用 REST API 还是 Classic Sdk,因为我想创建定期配置文件,使用 EXPRESS-CHECKOUT 和 REFERENCE TRANSACTIONS。
  2. 我的客户遍布全球,文档中指出,对于德国和中国的客户,我必须使用 REFERENCE TRANSACTION。
  3. 在 Merchant SDK 的文档中的某些地方声明经典 API 将被弃用,因此使用经典 SDK 是一种好方法
  4. 我还想跟踪用户进行的交易(付款),以便我可以在他的个人资料详细信息中向他显示​​每个月扣除的金额。

请为我的问题提出一个可行的解决方案。

提前致谢。

paypal paypal-subscriptions paypal-rest-sdk

5
推荐指数
1
解决办法
670
查看次数

如何在订阅 paypal api 中添加自定义用户 ID

我需要将贝宝订阅集成到我的项目中。我使用新的 paypal 订阅 api https://developer.paypal.com/docs/api/subscriptions/v1/#subscriptions并需要知道如何识别付款人和我自己的数据库用户。

这是我脑海中的场景:

  1. 我使用注册表单创建自己的数据库用户。
  2. 我将自己的用户 ID 设置为 paypal api 调用
  3. 用户确认订阅 paypal 后返回给我订阅 ID,然后我调用 paypal api 获取返回订阅的详细信息并查看我自己的数据库用户 ID

但貌似paypal不能提供。

这是我的智能结帐按钮代码

    paypal.Buttons({
        style: {
            layout: 'horizontal',
            size: 'small',
            color:  'blue',
            label:  'pay',
            height: 55,
            tagline: 'false'
        },
        createSubscription: function(data, actions) {
            return actions.subscription.create({
                'plan_id': 'P-5GS67390M7258253CLUHXAHQ',
                'metadata' : {
                    'user_id' : 'myuserid'
                }
            });

        },
        onApprove: function(data, actions) {
            console.log(data);
            alert('You have successfully created subscription ' + data.subscriptionID);

        }

    }).render('#paypal-button-container');
</script>
Run Code Online (Sandbox Code Playgroud)

我发现只有一种方法可以做到这一点

  1. 用户将所有数据插入注册表单,然后单击 paypal 按钮
  2. paypal付款成功后

        onApprove: function(data, …
    Run Code Online (Sandbox Code Playgroud)

paypal paypal-subscriptions

5
推荐指数
1
解决办法
3887
查看次数

如何修复错误 400 加载 PayPal SDK JS

我正在尝试与 PayPal 集成,但无法加载 sdk/js。

我从字面上将其缩减为他们的示例代码,但它仍然会在加载 SDK js 时出现 HTTP 错误 400。按照此处给出的步骤... https://developer.paypal.com/docs/subscriptions/integrate/#4-create-a-subscription

<!DOCTYPE html>

<head>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
</head>

<body>
<script
        src="https://www.paypal.com/sdk/js?client-id=AeRCvNJjX_wuV8I8KnIxllYZhizA7I3JZBzQJk4O2q8DoC1ORE9GZM1S1wJd2ch7XZWfsG3GHAYIUWhc&vault=true">
</script>

<div id="paypal-button-container"></div>

<script>
    paypal.Buttons({
        createSubscription: function(data, actions) {
            return actions.subscription.create({
                'plan_id': 'P-3S4679857D7841235LUOV5VY'
            });
        },

        onApprove: function(data, actions) {
            alert('You have successfully created subscription ' + data.subscriptionID);
        }
    }).render('#paypal-button-container');
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

SDK js 不加载。查看响应,我可以看到 sdk/js 请求中的 HTTP 错误 400 和 paypal-debug-id 值。

我已经检查并重新检查我是否传递了正确的客户端 ID。

FWIW:我注意到在他们的其他一些按钮示例中,您可以使用“sb”代替您的客户 ID。如果我只使用 client-id=sb,它会显示一个付款按钮,但如果我包含“&value=true”或使用我的实际 client-id,它会返回错误 404。

paypal paypal-subscriptions

5
推荐指数
1
解决办法
1573
查看次数

智能支付按钮为 IPN 传递自定义变量

我的网站上有两个用于按月订阅的 Smart 按钮(运行良好)。我成功收到 IPN 响应,其中支付信息已准备好添加到数据库中。但是我需要通过 IPN 响应获取我的应用程序的 UserID。

如何使用智能支付按钮传递自定义变量,以便将其传递给 IPN(如果可能,用于购买交易和退款/取消交易?)

这是我的智能按钮代码:

<div id="paypal_button"></div>

<script src="https://www.paypal.com/sdk/js?client-id=[ID]...></script>

<script>
paypal.Buttons({
    style:{
        color:"blue",
        shape:"rect",
        label:"paypal",
        tagline:false
    },
    createSubscription: function(data, actions) {
        return actions.subscription.create({'plan_id': 'P-02S33....'});
    },
    onApprove: function(data, actions) {
        alert('You have successfully created subscription ENTERPRISE' + data.subscriptionID);
    }
}).render('#paypal_button');
</script>
Run Code Online (Sandbox Code Playgroud)

paypal-subscriptions paypal-sandbox paypal-ipn

5
推荐指数
1
解决办法
1422
查看次数

没有账单地址的 Paypal 智能按钮?

我正在使用 PayPal 智能付款按钮在我的网站上启用付款。我设法禁用了送货地址字段,但我无法禁用帐单地址。

据我所知,大多数接受在线支付的网站不需要账单地址或任何信息,除了信用卡详细信息和持卡人姓名。

为什么 PayPal 需要输入账单地址,有没有办法禁用它?

谢谢!

paypal payment-gateway paypal-subscriptions reactjs

5
推荐指数
1
解决办法
945
查看次数

贝宝智能按钮(订阅)update_client_config_error

我正在尝试在我的网站上实施 PayPal-Smart-Buttons 以进行订阅。我从 PayPal 文档(https://developer.paypal.com/docs/subscriptions/integrate/#subscriptions-with-smart-payment-buttons)中复制了代码。所以我的代码看起来像这样:

<head>
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <meta http-equiv="X-UA-Compatible" content="IE=edge" />
</head>

<body>
    <script
         src="https://www.paypal.com/sdk/js?client-id=AZz6Px2hMTBBNvg8GvMiT8FuTTvATwoAMCLVGLt-On-iewuacyQv-d6LSQunDqK1KES4KHTGDU3Sgpsb&vault=true">
    </script>
    <div id="paypal-button-container"></div>
  <script>
  paypal.Buttons({
      createSubscription: function(data, actions) {
          return actions.subscription.create({
              'plan_id': 'P-64K047315T678654PL3W74YY'
          });
      },
      onApprove: function(data, actions) {
          alert('You have successfully created subscription ' + data.subscriptionID);
      }
    }).render('#paypal-button-container');
  </script>
</body>
Run Code Online (Sandbox Code Playgroud)

以前,我为每个产品创建了两个产品和一个计划。以下是配置的计划:

{
   "plans":[
      {
         "id":"P-64K047315T678654PL3W74YY",
         "name":"AC-Bot Silver Subscription",
         "status":"ACTIVE",
         "usage_type":"LICENSED",
         "quantity_supported":false,
         "create_time":"2020-06-20T12:17:39Z",
         "links":[
            {
               "href":"https://api.sandbox.paypal.com/v1/billing/plans/P-64K047315T678654PL3W74YY",
               "rel":"self",
               "method":"GET",
               "encType":"application/json"
            }
         ]
      },
      {
         "id":"P-9LX00946YY976221PL3W74ZI",
         "name":"AC-Bot Gold Subscription",
         "status":"ACTIVE",
         "usage_type":"LICENSED",
         "quantity_supported":false, …
Run Code Online (Sandbox Code Playgroud)

paypal paypal-subscriptions paypal-sandbox

5
推荐指数
1
解决办法
811
查看次数

如何在同一页面上显示 PayPal 智能订阅按钮和 PayPal 智能捕获按钮?

当尝试将 PayPal 订阅按钮和用于一次性付款的捕获/订购按钮添加到同一页面时,您需要使用不同的参数导入 PayPal 的 Javascript 文件两次(intent=subscription&vault=true而不是仅导入intent=capture

如果您尝试导入两个按钮将不会呈现。

如何在同一页面上同时显示 PayPal 订阅和 PayPal 一次性付款智能按钮?

重现问题的示例代码:

<script src="https://www.paypal.com/sdk/js?client-id={{YOUR CLIENT ID}}&currency=USD"></script>
<script src="https://www.paypal.com/sdk/js?client-id={{YOUR CLIENT ID}}&currency=USD&intent=subscription&vault=true"></script>

<div id="some-container"></div>
<div id="some-subscription-container"></div>

<script>
    paypal.Buttons().render('#some-container');
    paypal.Buttons().render('#some-subscription-container');
</script>
Run Code Online (Sandbox Code Playgroud)

javascript paypal paypal-subscriptions paypal-buttons

5
推荐指数
1
解决办法
576
查看次数

PayPal 沙箱 webhook(例如 PAYMENT.SALE.COMPLETED)的订阅速度非常慢

我正在使用 PayPal webhooks 自动获取订阅信息。

不过,从付款到订阅激活之间我们需要等待大约 20 秒。

是因为沙盒环境的原因吗?生产环境速度更快吗?

这一点很重要,因为顾客必须等待,如果可以避免等待时间那就更好了。

paypal paypal-subscriptions paypal-sandbox

5
推荐指数
1
解决办法
1191
查看次数