Прием фиктивных кредитных карт на действующем сайте с ActiveMerchant & PayPal

Я настраиваю сайт рельсов, который будет принимать кредитные карты с ActiveMerchant и PayPal Website Payments Pro. Я успешно тестирую против песочницы PayPal, но мне нужно иметь возможность тестировать и на своем живом сайте. Я хотел бы реализовать решение, при котором при регистрации на моем действующем сайте с адресами электронной почты из моего собственного домена используется песочница PayPal, но для всех остальных он использует действующий сайт PayPal. Таким образом, когда я тестирую свой действующий сайт, я не оплачиваю себя и не облагаю налогом PayPal в процессе :-)

Проблема, однако, заключается в том, что для того, чтобы заставить ActiveMerchant использовать тестовые серверы, вы пишете эту строку:

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

Это устанавливает переменную класса, которая будет применяться к другим транзакциям на сайте, когда я просто хочу, чтобы одна транзакция была нацелена на тестовые серверы.

Кто-нибудь может предложить элегантное решение? Или есть лучшие способы сделать это, кроме решения, которое я имею в виду?

Ответы на вопрос(1)

Ваш ответ на вопрос