У меня есть файл с именем Purchase.rb, который я использую для тестирования Activemerchant с Trustcommerce:
требуют "rubygems" требуют "active_merchant"
Используйте тестовые серверы TrustCommerce
ActiveMerchant::Billing::Base.mode = :тестовая сумма = 1000
credit_card = ActiveMerchant::Billing::CreditCard.new(
:first_name => 'againchangeD',
:last_name => 'Tessdsdst',
:number => '4242424242424242',
:month => '8',
:year => '2012',
:verification_value => '123'
)
billing_address = { :address1 => '9909 Down the Road',
:city => 'San Francisco', :state => 'CA',
:country => 'US', :zip => '23456', :phone => '(555)555-5555'}
options = {:billing_address => billing_address}
# Проверка карты автоматически определяет тип карты
if credit_card.valid?
# Создать объект шлюза для сервиса TrustCommerce
gateway = ActiveMerchant::Billing::TrustCommerceGateway.new(
:login => "xxxxxx",
:password => "xxxxxx"
)
# ответ = шлюз.авторизовать(сумма, кредитная_карта)
# Это транзит, полученный из песочницы с авторизацией(), запущенной ранее
trans_id = 027-0004842047
response = gateway.capture(amount,trans_id)
if response.success?
good = 'yes'
puts "Successful #{good}"
else
puts "NO"
raise StandardError, response.message
end
конец
Я запускаю ruby Purchase.rb на терминале и получаю: Недопустимая восьмеричная цифра из-за 027-0004842047. Кто-нибудь знает, как обойти это? Есть ли разница, если я на самом деле создам приложение для рельсов вместо того, чтобы запускать такой файл с помощью команды ruby? Спасибо