Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Payflow fraud review treated as decline #30

Open
Mark-Hetherington opened this issue May 5, 2016 · 2 comments
Open

Payflow fraud review treated as decline #30

Mark-Hetherington opened this issue May 5, 2016 · 2 comments

Comments

@Mark-Hetherington
Copy link
Contributor

A response of 126 "Under Fraud Review" from payflow gives a decline from the payflowGateway. This might be better returned as a "getStatusPending".

@ghidinelli
Copy link
Owner

Pending is designed to indicate that the transaction has been sent to the gateway but the gateway has not responded yet so it wouldn't be a good fit here since the gateway did respond.

However, it would be useful for you to capture transactions with a response of 126 in your database with a different semantic for "pending". When I processed ACH, I did a similar thing, which was the gateway would say "we charged them", but we knew with ACH processing it would be a few days until you could confirm the bank transfer so locally we had an "in-progress" status in our database that we would review.

Does that seem to match with what you want to capture here?

@Mark-Hetherington
Copy link
Contributor Author

Yes, that sounds very similar to this situation, and capturing some kind of "Transaction pending" response (as opposed to "server response pending") status would be useful.

From what I understand of the Payflow workflow, the transaction is created on the server side, and will be approved (or declined) at a later point in time. This means it would be unwise to re-issue the transaction, but you also don't want the merchant to ship the goods until you know it won't be declined. I seem to have triggered the fraud review response with a default setup of a test account, however I'm not sure if this is as likely to occur with a production gateway.

The level of detail in response code appears to exist in the payflow plugin, but the status is replaced by either "getStatusSuccess()" or "getStatusDeclined()" before being handed back to the calling code. I can understand that it is useful to standardise on return values so the calling code can know what to expect. Looking at it a bit more, this might be accessible via response.getParsedResult() - perhaps the calling code needs to confirm the nature of the decline from the ParsedResult.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants