首页 > 解决方案 > 贝宝:检查订阅者是否为订阅付费

问题描述

我正在为前端使用 reactjs 创建网站,而对于后端,我正在使用 c# asp .net mvc。通过点击此链接https://medium.com/analytics-vidhya/paypal-subscription-in-react-1121c39b26be,我已经在每个月从他的帐户中扣除的固定金额(我已经完成)整合了贝宝订阅。这是我的代码。

window.paypal.Buttons({
            style: {
                shape: 'rect',
                color: 'gold',
                layout: 'vertical',
                label: 'subscribe'
            },
            createSubscription: function(data, actions) {
              return actions.subscription.create({
                'plan_id': 'my-plan-id'
              });
            },
            onApprove: function(data, actions) {
              alert(data.subscriptionID);
              console.log(data)
            },
            onError: (err) => {
                console.log(err)
            }
        }).render(paypal.current)

但我的要求是,当用户第一次登录时,用户必须提供他的贝宝帐户详细信息,并在提供贝宝帐户信息后检查用户的帐户中有足够的金额,然后进入仪表板。但我的问题是如何处理用户帐户中没有余额或未付款的情况,在这种情况下,登录用户重定向到特定页面而不是仪表板后。

简而言之:如何检查用户是否已支付或未支付,如果已支付继续到仪表板,否则重定向到特定页面。

标签: c#reactjsasp.net-mvcasp.net-web-apipaypal-sandbox

解决方案


如何检查用户是否已付费或未付费,如果已付费继续到仪表板,否则重定向到特定页面。

对此的答案是查阅您的数据库,该数据库应存储此信息(是否已付款,或订阅是否是最新的),并允许您根据您拥有的信息确定要做什么。

因此,您真正的问题一定是如何从 PayPal 接收订阅付款已完成的通知。为此,我将向您推荐此处的答案:您如何知道用户是否已支付订阅费用

至于如何将订阅付款与用户匹配——创建订阅后,您可以存储与您的用户相关联的 ID,如果您如上所述从服务器激活订阅,这是最容易做到的。您还可以custom_id在订阅创建期间传递一个字段,该字段可以包含您自己的用户 ID 以进行对帐。


推荐阅读