следующий код
purchase = @order.authorize_payment(@credit_card, options)
is_success = purchase.success?
if is_success
...
else
flash[:notice] = "!! " + purchase.message + "<br />" +
purchase.params['missingField'].to_s
redirect_to :action => :payment, :id => @order.id
end
приводит к «!! Failed with 500 Internal Server Error» в моей флешке [: note]. Нет никакой трассировки стека, нет ошибки веб-сервера, все, что я знаю, это то, что заполнено поле purchase.message, а файл purchase.success? ложно.
Я действительно в недоумении, чтобы выяснить, как решить эту проблему. Я думаю, что это может быть требование ssl, но я не вижу ни запрос на мыло, ни тестирую базовую связь с киберресурсом (мой платежный шлюз).
Я устанавливаю свой шлюз с этим кодом (после config.after_initialize do):
ActiveMerchant::Billing::Base.mode = :production # :test
ActiveMerchant::Billing::CreditCard.require_verification_value = false
ActiveMerchant::Billing::CyberSourceGateway.wiredump_device = File.new(File.join([Rails.root, "log", "cybersource.log"]), "a") # doesn't work (!)
# we need to open an external file to get the password
mypassphrase = File.open('/var/www/foo/shared/passphrase.txt').read
OrderTransaction.gateway = ActiveMerchant::Billing::CyberSourceGateway.new(:login => 'vxxxxxxx',
:password => mypassphrase.to_s,
:test => false,
:vat_reg_number => 'your VAT registration number',
# sets the states/provinces where you have a physical presense for tax purposes
:nexus => "GA OH",
# don‘t want to use AVS so continue processing even if AVS would have failed
:ignore_avs => true,
# don‘t want to use CVV so continue processing even if CVV would have failed
:ignore_cvv => true,
:money_format => :dollars
)
Могу ли я увидеть запрос на мыло? Есть ли способы проверить часть этого? Любая помощь с благодарностью.
Best
Тим