Hi All,
Our payment process is as follows:
1. User comes in and purchases a haircut appointment for lets say a week out. So today the user comes in and makes a $40 purchase for a haircut for Nov 20th.
2. We place a hold on their card right away. (AUTH_ONLY)
3. On nov 20th, the day of the appointment, we will place a PRIOR_AUTH_CAPTURE request on that same transaction above.
What we are seeing is that many such transactions are not moving to the settled state. They remain in the AUTH_ONLY state on our authorize.net dashboard. This is weird, because the response we get from authorize.net API (for PRIOR_AUTH_CAPTURE request) is something like this:
#<ActiveMerchant::Billing::Response:0x0000000ca3d098 @params={"messages"=>{"result_code"=>"Ok", "message"=>{"code"=>"I00001", "text"=>"Successful."}}, "direct_response"=>{"raw"=>"1,1,1,This transaction has been approved.,00532Z,P,5654859284,,,40.00,CC,prior_auth_capture,,,,,,,,60559,,,,,,,,,,,,,,,,,,94F45CC3CFBF925A7B5902D6299A83BC,,,,,,,,,,,,,XXXX4867,MasterCard,,,,,,,,,,,,,,,,", "response_code"=>"1", "response_subcode"=>"1", "response_reason_code"=>"1", "message"=>"This transaction has been approved.", "approval_code"=>"00532Z", "avs_response"=>"P", "transaction_id"=>"5654859284", "invoice_number"=>"", "order_description"=>"", "amount"=>"40.00", "method"=>"CC", "transaction_type"=>"prior_auth_capture", "customer_id"=>"", "first_name"=>"", "last_name"=>"", "company"=>"", "address"=>"", "city"=>"", "state"=>"", "zip_code"=>"60559", "country"=>"", "phone"=>"", "fax"=>"", "email_address"=>"", "ship_to_first_name"=>"", "ship_to_last_name"=>"", "ship_to_company"=>"", "ship_to_address"=>"", "ship_to_city"=>"", "ship_to_state"=>"", "ship_to_zip_code"=>"", "ship_to_country"=>"", "tax"=>"", "duty"=>"", "freight"=>"", "tax_exempt"=>"", "purchase_order_number"=>"", "md5_hash"=>"94F45CC3CFBF925A7B5902D6299A83BC", "card_code"=>"", "cardholder_authentication_verification_response"=>""}}, @message="Successful.", @success=true, @test=false, @authorization=nil, @fraud_review=nil, @avs_result={"code"=>nil, "message"=>nil, "street_match"=>nil, "postal_match"=>nil}, @cvv_result={"code"=>nil, "message"=>nil}>
11-13-2013 01:44 PM
I would suggest reviewing our developer training video on payment fundamentals. It explains the the authorization, capture and settlement process in more detail.
Richard
11-13-2013 01:47 PM
I have seen that. In fact I should state that many times those PRIOR_AUTH_CAPTURE requests do indeed move forward into the Settlement state. But quite often they dont. I dont understand why that would be even after getting a success message from the api.
11-13-2013 01:53 PM
When did you check to see if they settled or not?
11-13-2013 02:04 PM
Well days later... in some cases weeks later...
11-13-2013 02:16 PM
So, you are not getting pay because it wasn't settled? And the transactionID do match between the Auth_only and PRIOR_AUTH_CAPTURE? might need to contact support as it might not be a integration issue.
11-13-2013 04:07 PM
Thats exactly right. The transactionID definitely match. How do I contact support?
11-13-2013 05:51 PM
This is a production/live account?
It is all transactions? or just some? specific credit card type? Have you try prior_auth_capture a transaction thru the dashboard to see if it change to status?
11-13-2013 06:15 PM
This is a production account. It happens intermittently (not all transactions) across all CC types (visa/MC/AmEx. Not tried to do prior_auth_capture on the dashboard yet. I can try.
11-13-2013 06:20 PM
Do you log the date and time of those prior_auth_capture? It might be helpful for them for debugging the issue.
11-13-2013 06:30 PM