我希望能够从Chase下载我的交易记录,而不使用像Mint、Quicken、Yodlee、Plaid等第三方服务。我不信任第三方处理我的数据,所以我想自己来做。
我希望能够从Chase下载我的交易记录,而不使用像Mint、Quicken、Yodlee、Plaid等第三方服务。我不信任第三方处理我的数据,所以我想自己来做。
截至2018年1月8日,该方法仍然有效。
Chase使用OFX来支持与其金融数据的编程交互。但是,由于各种原因,这一事实并没有被广泛宣传或记录——银行更希望您直接使用他们的产品,而不是去第三方。尽管如此,对桌面应用程序(如Quicken)的支持仍然存在,因此一种方法是伪装自己成为桌面应用程序(其他选项包括使用第三方服务或使用屏幕刮刀)。显然,这种解决方案完全取决于Chase的心情,而作为一种不鼓励的访问模式,这种解决方案并不健壮。但是,既然你还在阅读,那么就让我们开始吧!
设置您的账户以接受来自桌面应用程序的连接 账户>个人资料和设置>管理账户安全性>桌面应用程序>点击启用
生成客户端UID。Chase将使用此UID来验证其接收到的OFX请求是否是有意的。 访问https://www.uuidgenerator.net/并生成UID。
使用ofx-ba-tfb.py向https://ofx.chase.com POST以下内容。注释以#符号开头,请勿包含它们。
标题:
OFXHEADER:100
DATA:OFXSGML
VERSION:102
SECURITY:NONE
ENCODING:USASCII
CHARSET:1252
COMPRESSION:NONE
OLDFILEUID:NONE
NEWFILEUID:{Insert random alphanumeric string}
有效载荷:
<OFX>
<SIGNONMSGSRQV1>
<SONRQ>
<DTCLIENT>20180108012004
<USERID>{Insert user id}
<USERPASS>{Insert password}
<LANGUAGE>ENG
<FI>
<ORG>B1 # Comes from ofxhome.com
<FID>10898
</FI>
<APPID>QWIN
<APPVER>1800
<CLIENTUID>{Insert random alphanumeric string}
</SONRQ>
</SIGNONMSGSRQV1>
<CREDITCARDMSGSRQV1>
<CCSTMTTRNRQ>
<TRNUID>{Insert random alphanumeric string}
<CLTCOOKIE>4
<CCSTMTRQ>
<CCACCTFROM>
<ACCTID>{Insert account id here}
</CCACCTFROM>
<INCTRAN>
<DTSTART>20171208
<INCLUDE>Y
</INCTRAN>
</CCSTMTRQ>
</CCSTMTTRNRQ>
</CREDITCARDMSGSRQV1>
</OFX>
验证请求 您将收到一条响应,上面会说:“请在接下来的7天内验证您的身份。使用您的台式电脑,访问您银行网站的安全消息中心以获取指示。”几分钟后,您将在您的安全消息中心收到一条消息,要求确认您发出了这个请求。确认请求。每次提交新的客户UID时都会出现此响应和验证。
再次发起OFX请求,您应该能够收到您的交易!
非常感谢Harry Sit @ thefinancebuff.com为我们做了大部分工作!!
OFX可以实现更多功能,它是一个复杂的标准。详细信息请查看规格说明。
您也可以使用GnuCash查看其他有前途的设置。
本文使用的是OFX 1.02版本,但Chase现在已经更新到2.2版本。
https://thefinancebuff.com/replacing-microsoft-money-part-5-ofx-scripts.html#comments
beancount
用户如何使用?我来到这个帖子是希望自动下载 OFX 文件以便与 beancount-import
一起使用。 - Addison Klinke
帐户>个人资料和设置>帐户安全>桌面软件>下一步
并按照向导进行。 - Joshua Frankofx-ba-tfb.py chase my_chase_username
,然后我得到了这个错误:getaddrinfo(host, port, 0, SOCK_STREAM): socket.gaierror: [Errno 11001] getaddrinfo failed
。我做错了什么吗? - kmoney12