使用 Rails 定期计费 - 我有哪些选择?

2024-02-17

在开始之前,我想知道我的所有选择是什么,如果可能的话,它们的优点和缺点。

我知道的两个正在使用 ActiveMerchant 或 paypal_recurring gem,但它们会满足这些要求吗?

  • 能够适应按月和按年计费
  • 能够暂停、取消帐户等
  • 处理过期的卡详细信息或付款失败

paypal_recurring gem 的待办事项列表包括“添加对 IPN 的支持”——如何才能不影响功能呢?

我知道有railskit SaaS,但我宁愿自己编写一些代码,因为railskit 仍处于3.2.1 版本。

我知道有 cheddergedder/chargify 等服务,但它们会束缚你吗?他们仅限美国吗?它们是否值得考虑——或者它们通常只针对非开发人员?

提前致谢。


我刚刚完成了这个过程,所以我会尽力向您提供一些选择。我最终使用 Paypal Express Checkout 进行所有通过 Paypal 的重复购买。我们有一个定制的定期计费设置,每月通过客户的信用卡收费Authnet http://authorize.net,但不得不转换,因为我们需要一个国际解决方案,而 Paypal 是唯一支持我们所需货币的解决方案之一,而且编码起来也不完全是一场噩梦。

您可以使用 ActiveMerchant 进行定期计费this http://rayvinly.com/articles/2009/02/20/paypal-recurring-billing-with-activemerchant-in-ruby-on-rails/插件,但请记住,它不是 ActiveMerchant 的正式一部分,因此如果 ActiveMerchant 更改其处理某些事情的方式,它可能会被破坏。因此,我最终使用了paypal-经常性 https://github.com/fnando/paypal-recurring通过 Paypal 处理通信,然后在以下人员的帮助下推出了我自己的 IPN 解析器铁路广播 http://railscasts.com/episodes/289-paypal-recurring-billing。另一个对我帮助很大的链接是this http://ianpurton.com/adding-paypal-subscriptions-to-your-rails-application,虽然所有的:txn_type价值观最终变得不同。

关于最后一个链接,这里有 4 个:txn_type我特别注意的是:

  1. express_checkout- 第一次回发。
  2. recurring_payment_profile_created- 当用户首次订阅时在第一次回发时发送。
  3. recurring_payment_profile_cancel- 如果用户从 Paypal 网站取消订阅,则发送。
  4. recurring_payment- 钱已转入您的帐户。这就是我在每月续订他们的订阅之前所等待的。这篇文章还附带payment_status,这需要是completed.

您提到的其他事情,例如处理失败的付款和过期的卡,是通过您的 Paypal 帐户处理的。

只是警告一句 - 我最终使用 Paypal 的唯一原因是因为它得到普遍认可和信任,并且它接受国际货币。他们的网站上有大量文档,其中大部分都是冗余的、令人困惑的,而且太长了。我的建议是确保您确实想要/需要处理定期付款,因为它们很难正确实施,而且可能会带来比其价值更多的麻烦。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Rails 定期计费 - 我有哪些选择? 的相关文章

  • Rails 资源单数还是复数?

    我有一条搜索路线 我想将其设为单数 但是当我指定单数路线时 它仍然会生成复数控制器路线 这是应该的样子吗 resource search Gives me search POST search format action gt create
  • 使用 PHP PayPal REST API 退款?

    我正在开发一个集成到 PayPal 的 REST API 中的 PHP 应用程序 我正确处理了事务并将事务 ID 保存到 MySQL 数据库中 我现在正在尝试退款 但无法让它停止给出 传入 JSON 请求未映射到 API 请求 错误 有人对
  • 更改 en.yml 文件中的属性名称不起作用

    我更改了 ruby on Rails 项目中 en yml 文件中的属性名称 按钮工作正常 但字段属性并没有改变 这是我的模型 class Enr AffordableWarmth lt ActiveRecord Base self tab
  • 将实例变量传递到表单中 - Rails

    由于我对 Rails 以及如何跨模型使用变量的了解很少 这可能是一个错误 因此如果需要更多代码来回答它或者我的术语不正确 请告诉我 我很乐意更新问题 我有一个帖子供稿 我希望用户能够 喜欢 这些帖子 虽然以下代码允许 Likes 在单个帖子
  • 关于Braintree支付网关与Java的集成

    我是支付网关集成的新手 我需要集成Braintree Payment Gateway与 JSF 应用程序 有人可以向我展示 java 类的基本示例和示例支付页面吗 我看到一些客户端Token如何生成它 我编写了一个示例类和页面 如下所示 但
  • Rails 中的“class << self”是什么意思? [复制]

    这个问题在这里已经有答案了 可能的重复 Ruby 中的 class https stackoverflow com questions 2505067 class self idiom in ruby有人可以向我解释一下 class htt
  • Rails:使用水豚填充动态字段

    我有一个通过 javascript 动态创建的带有长 id 的文本字段 user user skills attributes 69878013874980 skill title 哪里的69878013874980是生成的时间戳 如何在水
  • 从使用heroku发送的邮件中删除“via sendgrid.me”

    我正在使用免费的 sendgrid 计划从 Heroku 上托管的 Rails 应用程序发送电子邮件 我使用以下组合进行设置这些说明 http devcenter heroku com articles sendgrid and 本教程 h
  • Rails 未定义“2013-03-06”的方法“strftime”:字符串

    我收到错误 2013 03 06 的未定义方法 strftime 字符串 当尝试使用 strftime 从字符串 2013 03 06 正常显示日期 2013 年 6 月星期日 3 日或类似的日期 时 在我的 index html erb
  • 使用 Rails 应用程序推送到 Heroku 时如何忽略文件夹和文件?

    我有一个Rails 3 2 8应用程序 我不想推送我的spec文件夹和test登录 Heroku 我该怎么做 如果有一个staging偏僻的 Thanks 你可以把它们放进去 gitignore 但这会将它们从您的整个存储库中排除 更好的解
  • Rails:包括外部 JavaScript

    我想使用 JavaScript 库 例如 jQuery 插件 我是否使用 Rails 资产管道 或者我应该将其包含在 javascript include tag 中 我有哪些选择以及推荐的做法是什么 您会仅在几个页面上还是在整个应用程序中
  • Paypal一键购买

    是否可以使用Paypal API实现一键购买 或 Paypal 自适应 API 而不是每次都要求用户登录 提前致谢 Johnny 要获得 Paypal 的 一键结账 体验 解决方案是 预先批准的付款流程 下图显示了一个过程中的基本控制流程前
  • Paypal PDT交易ID有效期

    当我尝试使用交易 ID 检索付款信息时 我从 paypal PDT 收到错误 4003 虽然我这里有一个类似的线程 贝宝 PDT 错误 4003 https stackoverflow com questions 8521800 paypa
  • 正则表达式检查 ruby​​ 中的字母数字字符串

    我正在尝试验证 ruby 中的字符串 任何包含空格 下划线或任何特殊字符的字符串都将无法通过验证 有效字符串应仅包含字符 a zA Z0 9 我的代码看起来像 def validate string regex a zA Z0 9 if s
  • 我可以将我的heroku git repo导入bitbucket吗?如何?

    我的笔记本电脑坏了 我需要从另一台计算机上编码 我正在使用 Heroku 我想将最新版本的代码从 Heroku 获取到另一台机器 据我了解 强烈建议使用 GitHub 或 BitBucket 获取适当的远程存储库 我决定尝试一下 BitBu
  • 按共同关联的数量排序 (Rails)

    背景 我有帖子和用户 并且都有很多社区 客观的 对于任何给定的用户 我想返回一个帖子集合 按该帖子与该用户有共同社区的数量排序 具有更多共同社区的帖子位于更高的位置 我当前的尝试 使用排序方法 有效 Post includes commun
  • 解析包含 json 字符串的 json

    我有一个 json 里面有另一个 json 但它在双引号内 因此它给了我一个解析错误 除了使用之外还有什么方法可以解析这个jsongsub替换双引号 obj Name FirstName Douglas LastName Crockford
  • 在 Rails 3 中将“当前”类添加到导航的最佳方法

    我的导航菜单中有一些静态页面 我想向当前显示的项目添加一个像 current 这样的类 我这样做的方法是添加大量的辅助方法 每个方法对应一个项目 来检查控制器和操作 def current root class class current
  • 如何控制 Paypal Sandbox 中显示的语言?

    我正在使用 Paypal Express Checkout 测试我的网站支付解决方案 但每当客户进入 PayPal 支付页面 在 paypal 沙箱中 时 该页面都会以英文显示 如何控制显示的语言 在我的网站上 我有一个语言选择器 因此我可
  • 使用相同的代码和 git 存储库部署 2 个不同的 heroku 应用程序

    我正在尝试创建 2 个不同的 Heroku 应用程序使用相同的代码使用相同的 git 存储库 App1 是我的朋友在 Heroku 中创建的 我不是合作者 app2 是我尝试部署的同一个 git 存储库的分支 这可能吗 当我尝试将第二个应用

随机推荐

  • 如何在另一个 Java 程序中使用 ProcessBuilder 运行 Java 程序。 (使用 -cp 和 -Xbootclasspath 命令)

    这是我的代码 public class Test public static void main String args String directory System getProperty user home File separato
  • 绘制给定两个端点的半圆形路径 (3D)

    假设有一个像地球这样的球形物体 假设我有两个 3D 端点 即我当前所在位置和我想去的位置 我想在大气中构建一条路径 某种从一点插值到另一点的半圆形路径 地球上的一条路就像http workshop chromeexperiments com
  • 同时有多个位置提供商

    我的定位系统有一些问题 我有一个实现位置侦听器的服务 我希望尽可能使用网络获得最佳位置 如果网络不够准确 精度大于 300mt 则使用 GPS 问题是这样的 我每 5 分钟需要一次位置信息 如果可能的话准确 否则不准确 我从一个开始 Loc
  • 为什么 Desktop.Open() 在安装 MagicISO 时不起作用

    这是我的代码 if Desktop isDesktopSupported Desktop desktop Desktop getDesktop if desktop isSupported Desktop Action OPEN try d
  • 默认构造一个整数数组会对其进行零初始化吗?

    如果我有一个带有数组成员的结构 并且我在该结构的构造函数中显式调用该数组的默认构造函数 那么这些元素是否会被默认构造 对于整数数组 这意味着进行零初始化 struct S S array int array SIZE S s is s ar
  • twitter bootstrap 突然下降不工作

    我想知道是否有人可以帮助我 我的引导下拉菜单突然停止工作 我不知道为什么 它之前可以工作 我没有触及我的视图和布局视图 所以我认为问题不存在 我很确定它与我的 javascript 有关 但我不知道它来自哪里 我的宝石文件是 gem rai
  • 使用 @ViewScoped 时出现 java.io.NotSerializedException

    如果我使用 ViewScoped在JSF中 则出现以下异常 java io NotSerializableException com solv basics Basics java io ObjectOutputStream writeOb
  • 在每个 url 末尾添加尾部斜杠?

    我这里有一个小问题 我需要在我正在处理的网站中每个网址的末尾添加一个尾部斜杠 我将网站内的所有链接定义为带有尾部斜杠 如下所示 a href register Register a 虽然这工作正常 但仍然存在一个小问题 它与调用 Redir
  • 如何让ggplot2绘图更漂亮?

    I have generated the following plot using the R code that follows it ggplot lengths aes length fill library geom density
  • 屏幕旋转时选项卡更改 [Android]

    您好 我有带有 4 个选项卡的 Android 应用程序 假设 tab1 tab2 tab3 tab4 当活动启动时 默认选项卡是 tab1 当我切换到任何其他选项卡 选项卡 2 选项卡 3 或选项卡 4 并更改屏幕方向时 它总是重置为默认
  • 64 位机器/操作系统上的 32 位操作与 64 位操作

    哪个操作 即 32 位操作或 64 位操作 例如屏蔽 32 位标志或 64 位标志 在 64 位机器上会更便宜 由于您没有指定架构 我只能建议一个一般答案 因为它取决于操作和所讨论的处理器架构 一旦 CPU 寄存器中有数据 大多数操作通常会
  • 2D Python 游戏编程的工具包选项 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 将项目从 .NET 4.0 升级到 .NET 4.5 后失败 => 找不到类型或命名空间名称“MaxLength”/“Column”

    我有一个针对 Net 4 0 和实体框架 4 3 1 的工作网站 安装 Net 4 5 使用 Visual Studio Express 2012 后 我可以在 Visual Web Developer Express 2010 上编译网站
  • 将主要参数传递给 gui 库的 init 函数

    当涉及到 Qt 和 GTK 等库中的库初始化时 您必须将主要参数传递到初始化库的函数中 为什么 图书馆用它们做什么 为了方便起见 Qt 和 GTK 都旨在响应某些命令行标志 两者也都响应各种环境变量 您不一定have将 argv 和 arg
  • 简单的 jQuery ajax 问题是否成功返回数据?

    嗨 我有以下内容 ajax type POST url global pathPrefix services brochure asmx ShowPostRequest data parkIds input ids val success
  • wpf使用网格作为itemshost自动将多个项目堆叠在单个“单元格”中

    我将项目控件绑定到数据源并使用网格作为我的项目主机 我希望让这些项目将自己定位到网格中的正确单元格中 我可以做到这一点 并且也将自己堆叠起来 这样它们就不会全部彼此重叠 我不知道如何将这些项目插入到stackpanel 或网格中的其他面板
  • django控制器在views.py中是什么

    我已经遵循了几个 django 教程 我不知道为什么控制器存储在名为views py 的文件中 我对这个文件名感到困惑 我正在寻找 MVC 开发 django 中还有其他用于 真实 控制器的文件吗 名字views py是一个错误 从架构的角
  • 如何在 TypeScript 中声明具有属性的函数的类型?

    我在 TypeScript 网站上阅读了一些文档 但不确定我是否理解正确 在这种情况下 我使用的包没有可用的 TypeScript 类型 prismic reactjs 所以我试图自己声明类型 这样我就可以摆脱困扰我的项目的错误 那么 作为
  • “null this”是否可以接受扩展方法的使用? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 使用 Rails 定期计费 - 我有哪些选择?

    在开始之前 我想知道我的所有选择是什么 如果可能的话 它们的优点和缺点 我知道的两个正在使用 ActiveMerchant 或 paypal recurring gem 但它们会满足这些要求吗 能够适应按月和按年计费 能够暂停 取消帐户等