We are using SCI mechanism to redirect users to Libertyreserve payment form.
In our Rails 3 application we used something like that:
<%= form_tag "https://perfectmoney.com/api/step1.asp", :method => :post do %>
<%= hidden_field_tag "PAYEE_ACCOUNT", "E123456" %>
<%= hidden_field_tag "PAYEE_NAME", "ourshop" %>
<%= hidden_field_tag "STATUS_URL", "http://shopsite.com/libertyreserver_ipn_handler" %>
<%= hidden_field_tag "NOPAYMENT_URL", "http://shopsite.com/libertyreserver_cancel" %>
...
<% end %>
Using this form we could make a payment, but IPN is never received!
The reason was Rails-form extra fields:
In our Rails 3 application we used something like that:
<%= form_tag "https://perfectmoney.com/api/step1.asp", :method => :post do %>
<%= hidden_field_tag "PAYEE_ACCOUNT", "E123456" %>
<%= hidden_field_tag "PAYEE_NAME", "ourshop" %>
<%= hidden_field_tag "STATUS_URL", "http://shopsite.com/libertyreserver_ipn_handler" %>
<%= hidden_field_tag "NOPAYMENT_URL", "http://shopsite.com/libertyreserver_cancel" %>
...
<% end %>
Using this form we could make a payment, but IPN is never received!
The reason was Rails-form extra fields:
<input name="utf8" type="hidden" value="✓" /><input name="authenticity_token" type="hidden" value="bsfgsieufgiuewgfiuwegiufgiweugfiwegifgweifgiwegfiewg=" />
Remember! Libertyreserve does not like any extra request parameters!
If using plain html instead of rails-helpers IPN is received just OK!
Good luck!