captin411 / ofxclient

Bank transaction downloader and python OFX client libraries
MIT License
261 stars 89 forks source link

Citi shutting down ofx transmission as of 9/7/2019 #79

Open jhaggard11 opened 5 years ago

jhaggard11 commented 5 years ago

Here is the response I am getting: OFXHEADER:100 DATA:OFXSGML VERSION:102 SECURITY:NONE ENCODING:USASCII CHARSET:1252 COMPRESSION:NONE OLDFILEUID:NONE NEWFILEUID:2c732665aecb4c3f98f8965d9349024c

2000 ERROR Due to security improvements, connection to this financial software will be shut down on 09/07/2019. Please request your financial management software contact Citi at citiOFXmigration@citi.com. 20190925050006 ENG Citigroup 24909 4894 *******
Greg117 commented 5 years ago

Citi is changing a lot of things at the moment and messing with their servers. Here is what I had to do in order to get it working for myself using OFX.

First, Citi is changing it's OFX address to https://www.accountonline.com/cards/svc/CitiOfxManager.do

Then, they are enforcing the use of CLIENTUID in the request.

I've had to fix this problem in my own tool. It seems that in the ofxclient code it doesn't set a client UID unless you are using OFX version 103. Citi now requires usage of the CLIENTUID in the request even for OFX version 102.

In addition to that, you will have to go into the Citi website and go into profile -> security -> desktop applications and enable the 10 minute window to allow transactions to flow through for any unrecognized client id's.

jhaggard11 commented 5 years ago

Thank you. Do you know where I add the CLIENTUID in the request? Thanks!

Greg117 commented 5 years ago

So in the past you could send the following for a signon request: <SONRQ><DTCLIENT>20190918<USERID>ExampleUser<USERPASS>*******<LANGUAGE>ENG<FI><ORG>Citigroup<FID>24909</FI><APPID>QWIN<APPVER>2500</SONRQ>

Now you need to include CLIENTUID like: <SONRQ><DTCLIENT>20190918<USERID>ExampleUser<USERPASS>*******<CLIENTUID>22576929-8E29-4A82-9E3E-EDDB121ADDEA</CLIENTUID><LANGUAGE>ENG<FI><ORG>Citigroup<FID>24909</FI><APPID>QWIN<APPVER>2500</SONRQ>

jmrgithub commented 4 years ago

Has anyone gotten this to work?

Zburatorul commented 4 years ago

I can download Citi with paramters:

ofx_params = { 'description': 'Citi', 'id': '24909', 'org': 'Citigroup', 'url': 'https://mobilesoa.citi.com/CitiOFXInterface', 'username': 'xx', 'password': 'xx', 'client_args': { 'id': 'xx', # I think I obtained this on their website, can't recall. 'ofx_version': '103', 'app_version': '2500'}, }

jmrgithub commented 4 years ago

Thanks @Zburatorul , that worked for me. However, it seems like I have to log in via the web each time to re-authorize the connection. Is that true for you too?

mnoorenberghe commented 4 years ago

Here is an example ofxclient.ini entry that works for me on macOS (with the corresponding KeyChain entries) once I authorize the connection via the website, see https://github.com/captin411/ofxclient/issues/79#issuecomment-535354189:

[a68bb58beb666971d0aacbedf4299b0984f24c427f387a79718b82edf8963768]
description = Citi Credit Card
institution.client_args.accept = */*, application/x-ofx
institution.client_args.app_id = QWIN
institution.client_args.app_version = 2500
institution.client_args.id = 7bd3179b-3d84-45ca-8ceb-b07bc067edad
institution.client_args.ofx_version = 103
institution.client_args.user_agent = httpclient
institution.description = Citi
institution.id = 24909
institution.local_id = afc09af5548e6bbc0d3455ae89f5b7012a28c499bbeac284da7d9f1579c207
institution.org = mobilesoa.citi.com
institution.password = %{secured}
institution.url = https://mobilesoa.citi.com/CitiOFXInterface
institution.username = %{secured}
local_id = a68bb58beb666971d0aacbedf4299b0984f24c427f387a79718b82edf8963768
number = ; YOUR CREDIT CARD NUMBER HERE (remove the ; too)
Zburatorul commented 4 years ago

@jmrgithub, I do not have to reauthorize anything. I am reusing the same id that I generated the first time.

hurl commented 4 years ago

@mnoorenberghe

I have been struggling to get Citi to work using various tools. Your simple entry works for me, thank you for posting!

As a reminder to others who might find this thread, remember you need to authorize ofx access at https://citi.com/datamanagement.

hurl commented 4 years ago

As of yesterday, the example ofxclient.ini for Citi stopped working for me. Anyone else experience this? Any solutions to on how to pull ofx from Citi now?

mnoorenberghe commented 4 years ago

I just tested now and I'm also getting an error:

<OFX>
<SIGNONMSGSRSV1>
<SONRS>
<STATUS>
<CODE>15500
<SEVERITY>ERROR
<MESSAGE>We've had a problem processing your request.  Please try again later.
</STATUS>
<DTSERVER>20200628232511.000
<LANGUAGE>ENG
<FI>
<ORG>mobilesoa.citi.com
<FID>24909
</FI>
</SONRS>
</SIGNONMSGSRSV1>
…

I'll just wait and hope they fix it… If not, it may help if some customers call support.

EDIT: There is also an email address in the first comment of this issue.

hurl commented 4 years ago

That is the same error I'm getting, 15500.

Greg117 commented 4 years ago

I am seeing the same thing.

For science, I tried revoking my access from citi's website to attempt to re-authorize. Didn't work. So, I wouldn't recommend doing that in case it starts working on it's own ;)

hurl commented 4 years ago

I also tried revoking my access and attempted to re-authorize. I tried with a new Client ID. I tried other things (changing the app version, new password, etc.). Nothing worked.

I called Citi tech support. The person I spoke to had never heard of OFX.

mnoorenberghe commented 4 years ago

I called Citi tech support. The person I spoke to had never heard of OFX.

You need to pretend you are using Microsoft Money and say it can't download the transactions. Don't mention OFX or OFX code.

hurl commented 4 years ago

Ah, thanks for the tip.

Greg117 commented 4 years ago

And expect them to say that there is no problem because 'you can download the transactions from the website'

Unfortunately, most of the time it's either a server error and it goes away or someone from one of these bigger organizations (quicken, money, etc...) has real support connections and figure out the problem and we need to find answers floating around the internet on how to solve them

jmrgithub commented 4 years ago

I found this today, sounds like it is a problem at the Citi end:

https://community.quicken.com/discussion/7877383/citi-cards-direct-connect-is-now-broken/

On Sun, Jun 28, 2020 at 7:03 PM Greg117 notifications@github.com wrote:

And expect them to say that there is no problem because 'you can download the transactions from the website'

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/captin411/ofxclient/issues/79#issuecomment-650841094, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAJDCNZKG4ANGFJQUL34GSLRY7K6FANCNFSM4I2UIMUA .

hurl commented 4 years ago

ofxclient for a Citi credit card is working again for me. Cheers.

jhaggard11 commented 4 years ago

My ofxclient started working for Citi credit card this morning as well. I didn't make any changes so I guess it is safe to say it was Citi's end. Thanks everyone.