Please explain the refresh process that yodlee employs.. - yodlee

Please explain the refresh process that is employed when refreshing transaction data, answering the following questions:
1) How often does this refresh happen?
2) What time does it happen?
3) Does it happen at different times for different institutions?
4) IF a refresh fails for a particular account for one user, how is that handled?
5) What happens if all txs from one bank for all users fails?

1) How often does this refresh happen?
Yodlee does a refresh on a daily basis during a 19 hour window. This also depends upon the type of account and also the error state of that account.
Example - Bank / Credit card accounts are refreshed on a daily basis but loan and mortgage are refreshed on a weekly basis.
Also account in a 402(invalid credential) error is not refreshed at all.
2) What time does it happen?
Between 10 am to 5 am PST.
3) Does it happen at different times for different institutions?
No, it's dependent on the automatic refresh logic of Yodlee. It doesn't vary based on institutions.
4) IF a refresh fails for a particular account for one user, how is that handled?
Depending on the error code the next refresh is scheduled. If the refresh failed with UAR then account is never refreshed by Yodlee. If refresh failed by agent or site error , then the refresh is again scheduled for a later time.
For error codes please refer error_code document
5) What happens if all txs from one bank for all users fails?
If the refresh fails then no new transaction is scraped and old transactions will still be with Yodlee.

Related

Is there anyway to stop a daily automatic Yodlee refresh

I have read this article
Please explain the refresh process that yodlee employs..
We understand this happens within a 19 hour window, is there anyway to stop the automatic refresh (the initial refresh on a Site based AddAccount1 is fine) - so that the subsequent refreshes can be manually controlled.
Thanks
The automatic refresh can be turned off for any client by Yodlee. You can contact the customer care team by logging a service request through YCC(Yodlee customer care ) tool and they will help you with that.

Why do I get a REFRESH_COMPLETED_WITH_UNCERTAIN_ACCOUNT?

It's not clear to me why I'm getting this error: REFRESH_COMPLETED_WITH_UNCERTAIN_ACCOUNT
The authentication workflow went through, but I can't get any summaries for the added site.
When you add a site , all the different types of accounts under the provided credentials will be added. Like - saving, credit card account, loan account etc.
When the refresh is completed but there is a failure in refresh for one of the different types of account present for that site for a user because of either data agent or Site error then this status is set. Hence this status has to be treated same as REFRESH_COMPLETED and you should be able to get summary details.

Facing issue while retrieving transactions from Yodlee system.

I have implemented one application to automatically get transactions back for all my customers' accounts from Yodlee at 3 AM EST every day. It kept working for more than 7 months. But it failed on this Monday and Tuesday. When I restarted the application manually in the morning after 9 am, it worked without issues.
Is there any maintenance going at night at Yodlee side recently?
Thanks.
If you are already a customer then please use Yodlee Customer Care tool for raising a Service Request else you can please fill out the form mentioned here to provide the details like siteAccountId & REST URL you are using for us to debug further.
Yodlee do notify its clients beforehand, if there will be a maintenance activity scheduled.

Do Yodlee feed transaction descriptions change without new transaction being created?

Customers have started to find that the transaction description field provided by Yodlee is changing, without the original / older transaction being removed and a new one being created in it's place.
Our expectation up to now is that if any changes take place, the old transaction is deleted and a new one is created, with a new internal transaction_id used by Yodlee. This is the system that is used for moving pending transactions to posted.
Is it now standard practice that merchant descriptions change frequently within the same transaction ID, or is this being done in error? Should we open a service request for the problem to be resolved?
Yodlee scrapes transactions from the Bank websites in each refresh for a specific duration- 30days, so if there are few transactions which got scraped and filed into Yodlee DB in previous refresh and now Bank has updated the description of those transaction while keeping rest of the information same. And say those are coming in current refresh also, then Yodlee will apply its logic and will update the description without changing anything else. But the chances when Bank Website does this is very rare.
If you are facing this kind of issue repeatedly/frequently then we suggest you to open a service request, with all the relevant information.
Note: The above scenario is in the case of Posted Transactions only.

Is this processus to pay a user, reliable and safe?

I'm working on a project that require my application to pay the user to his paypal account when he asks it.
Here's how I did it so far:
The (logged) user goes to the Pay page that will list all his Payments (received or not)
He enters his Paypal email and his application (mine) password (for security)
The POST page get a list of all the Payments that have status="UNPAID" for that user and update the status to "WORKING" (to avoid the user to refresh the page before the whole process is done and resend the same amount of money)
We count the total amount to pay in that list (a simple for)
The amount is sent to Paypal via Paypal Adaptive Payment API (request: PAY)
The response is checked, if completed, the list status is set to "COMPLETED", if not, the list is reverted to "UNPAID" (the SQL update is made via a WHERE id IN(x, y, z) in case a second Payment request has been made during that time.
A message is then displayed to the user
But I need your help, I'm in front of one risky problem I'd like to avoid, and I would know how you would do:
If the user hit refresh on the process page, I don't want to send him twice (or more) the amount (The "WORKING" lock is here for that, but what happens if the user hit refresh before I set the lock ?)
Rare possible: what happens if the user hit f5 after the lock "WORKING" is made, but before the request to paypal, and a new payment is received. By following what I did, just one item (the new) would be get and set to WORKING, but all others previous payment would be losts
How would you do? What is the best way to make it to be 100% reliable?
Thanks for your help
Note:
The steps between 4 to 6 is made via a PlayFramework jobs, called with now() and awaiting() the result
you can:
prevent double post via JQuery
use the checkAuthenticity() method to validate the request
do a GET redirect after processing the POST (so they can't submit the same 2 times even by mistake)
do the payment processing asynchronous (see below)
For the payment, instead of calling the job, set the id's of payments in a queue (or table in the database) and a job that runs once per minute that processes that table if it has some data. When the user does the POST you redirect to a page that says that you are processing the payments and will notify if there is some issue. You can notify the user later via a UI warning using comet or via mail.
That way you don't link the request to the processing, and you won't have threading/racing issues, as well as being able to detect stale requests (payments already done) if you do a sequential processing.