【发布时间】:2016-07-07 07:35:18
【问题描述】:
我正在使用 ASP.Net Membership Provider 登录本网站的高级内容。内容不是下载,而是信息和折扣等网页。这部分已经完成。我们希望他们也有一个 PayPal 订阅年度付款来查看高级内容。我希望 ASP Membership 和 PayPal Subscription 尽可能地协同工作,但至少我认为他们必须在付款之前创建一个 MemberId。然后我会将该 MemberId 发送到 PayPal 以将两者关联起来。
我想我可以这样做:
在界面中设置“自动返回”,以便在付款时重定向到返回URL。
将“返回 URL”查询字符串设置为 MemberId。这需要不使用预编译的“已保存”按钮。我必须使用名称值对在代码隐藏中设置它,将“NVP”设置为 PayPal。我希望只是粘贴愚蠢的按钮。
但是,按钮制造商中有那些“高级变量”。问题是它们被编译到“保存”按钮中,所以我不能为每个人更改它们。但也许那个参数可以与编译参数分开?这比破解返回 URL 更好吗? “高级变量”对任何事情都有好处吗?
如果我输入正确的代码(可能是 rm=2),有关交易的所有详细信息都将发布到返回 URL。 (对吧?)那我就可以录了。
不过,据说此过程不可靠,PayPal 建议使用他们拥有的辅助系统“IPN”。 PayPal 将交易详情发送给我。我将它们发回 http 200 代码。然后我按照收到的顺序把它寄回给他们。然后他们给我发了http 200。然后我们都知道这很好。对我来说,这听起来像是几个小时的研究,但如果你已经做过一次,这听起来像是复制和粘贴。我讨厌重新发明轮子。是否有此 IPN 握手/舞蹈的 .Net 示例?
另外,如果我做 IPN 的事情,也许我不需要自动返回。也许我将 MemberId 添加到“通知”URL 而不是“返回”URL。那么paypal就可以处理确认页面、email等了,这样更好吗?
假设我们使用 MemberId 支付订阅费用并记录,每个用户会话至少一次,在他们登录后,我必须检查他们是否已经支付了他们的 PayPal 订阅费用以及它是否是最新的。 “GetRecurringPaymentsProfileDetails”执行此操作,但它是一个 API 操作。这是有道理的,但我希望避免学习他们的 REST API。 (有“NVP”版本吗?)
REST API OAUTH 令牌每隔几分钟就会过期,但它告诉我们获取令牌的唯一方法是使用“Bash”来“cURL”一些 Linux 命令。同样,这似乎是一种只需要编写一次的东西。这是否已经作为示例代码存在于某处?
(我不想使用 API 进行订阅,因为我不希望信用卡号码进入我们的网站。责任太多。这就是我想要 PayPal 的原因。)
这甚至会起作用吗?我知道 PayPal 有 18 种方法可以做任何事情,而且它们都相互排斥,我只是觉得我正在创造一种拼凑不相关的想法,以欺骗自己相信隧道尽头有光。我已经研究和试验了 10 个小时左右。我真的以为,进去,我只是在粘贴一个愚蠢的按钮。
【问题讨论】:
标签: paypal asp.net-membership paypal-subscriptions