Ruby on rails 在ActiveMerchant&;的实时站点上接受虚拟信用卡;贝宝

Ruby on rails 在ActiveMerchant&;的实时站点上接受虚拟信用卡;贝宝,ruby-on-rails,paypal,activemerchant,Ruby On Rails,Paypal,Activemerchant,我正在建立一个rails网站,它将接受ActiveMerchant和PayPal网站Payments Pro的信用卡。我正在成功地对PayPal沙箱进行测试,但也需要能够在我的实时站点上进行测试。我想实现一个解决方案,在我的live站点上使用来自我自己域的电子邮件地址注册使用PayPal沙箱,但对于其他所有人,它都使用live PayPal站点。这样,当我测试我的live站点时,我就不会为自己付费,也不会在这个过程中被PayPal征税:-) 然而,问题是,要让ActiveMerchant使用测试

我正在建立一个rails网站,它将接受ActiveMerchant和PayPal网站Payments Pro的信用卡。我正在成功地对PayPal沙箱进行测试,但也需要能够在我的实时站点上进行测试。我想实现一个解决方案,在我的live站点上使用来自我自己域的电子邮件地址注册使用PayPal沙箱,但对于其他所有人,它都使用live PayPal站点。这样,当我测试我的live站点时,我就不会为自己付费,也不会在这个过程中被PayPal征税:-)

然而,问题是,要让ActiveMerchant使用测试服务器,您需要写以下代码:

ActiveMerchant::Billing::Base.mode=:test

这设置了一个类变量,当我只希望一个事务以测试服务器为目标时,它将应用于站点上的其他事务


有人能提出一个优雅的解决方案吗?或者除了我想到的解决方案之外,还有更好的方法来实现这一点吗?

打开后门总是很危险的。我建议您在任何情况下都不要在沙箱上运行生产环境。如果您需要运行专业测试,请针对live PayPal环境进行测试,并立即处理退款-无需大惊小怪,也不收取任何费用。

我不知道PayPal的限制是什么,但当我做电子商务网站并需要测试时(我使用Authorize.Net),我只需以任意低的金额(0.01美元)进行实时交易然后用我的个人信用卡。便宜又容易。好主意——我就是这么做的。现在@my-domain.com的用户可以获得我的产品0.01美元的价格,我可以用最少的特殊外壳测试实时订单管道端到端。另一种选择是移除所有特殊外壳,像对待所有其他客户一样向您的信用卡收费,并在付款完成后立即退款。这根本不会花你任何钱——一分钱也不会花因为Paypal会退还费用。事实上,资金可能会在短时间内被占用。例如,如果你收取400美元,那400美元可能会被锁定,直到费用和退款都得到处理,因此一般来说,使用小额资金还是比较好的。