Thanks for discovering the bug. You can post your patch to the
ActiveMerchant bug tracker. Instructions for creating a patch can be
found at the bottom of our Guide to Contributing[2].
The best way to test this change in the code would be to mimic the
test_authorization_format test in test/unit/gateways/protx_test.rb.
This test overrides the ssl_post method in the ProtxGateway to return
a predefined raw response from Protx, which is found at the bottom of
the file in the method successful_response(). Then the test asserts
that the correct things happen. You should be able to change your test
quite easily.
Thanks again.
[1] http://code.google.com/p/activemerchant/issues/entry
[2] http://code.google.com/p/activemerchant/wiki/Contributing
--
Cody Fauser
http://shopify.com - e-commerce done right
http://www.codyfauser.com - blog
http://www.oreilly.com/catalog/rjsrails - RJS Templates for Rails
Is the REPEAT payment functionality a recurring payment system?
We call these reference payments and we do them in ActiveMerchant in
the following way:
def authorize(money, creditcard_or_billing_id, options = {})
if credit_card_or_billing_id.is_a?(String)
# authorize with REPEATDEFERRED
else
# It is an actual credit card, so authorize as normal
end
end
trust_commerce.rb, payflow.rb, and pay_junction.rb are good to look at
as examples.
>
> I have another question in relation to 3D secure. In rewriting my test
> for correctly parsing a 3DAUTH response the question of whether a
> 3DAUTH response from Protx should be considered a successful response
> or not. When using the following assertion 'assert_success(response)'
> for example. I'm erring on the side of no. By my reckoning it should
> be considered a failed response, which the client code should
> interpret and respond to accordingly following a more in depth
> investigation of what the cause of the failure is.
>
So the response is actually just a URL to send the buyer to for 3D
Secure authentication? What is the flow for Protx after you redirect
the buyer to the 3D secure URL?