OFX4J with American Express

929 Views Asked by At

So I'm trying to connect to American Express using OFX4J. I'm using the data provided in the OFX home page and I am getting a 503 error whenever I attempt to access the service. I'm not sure exactly what I'm doing wrong.

I'm getting the Institution Data like so:

BaseFinancialInstitutionData amex = new BaseFinancialInstitutionData();
amex.setId( "424" );
amex.setFinancialInstitutionId( "3010" );
amex.setName( "American Express Card" );
amex.setBrokerId( null );
amex.setOrganization( "AMEX" );
amex.setOFXURL( new URL( "https://online.americanexpress.com/myca/ofxdl/desktop/desktopDownload.do?request_type=nl_ofxdownload" ) );

Then I'm opening the connection like they do in the example:

CreditCardAccountDetails ccDetails = new CreditCardAccountDetails();
ccDetails.setAccountNumber( "<my_card_number>" );
CreditCardAccount ccAccount = fi.loadCreditCardAccount( ccDetails, "<my_username>", "<my_password>" );

AccountStatement statement = ccAccount.readStatement( startDate, endDate );
TransactionList transactions = statement.getTransactionList();
List<Transaction> ledger = transactions.getTransactions();

But as soon as I attempt to access any data, I get the 503 error. Cursiously, Schwab works like a charm, so I'm assuming there is something wrong in the Institution Data?

Has anyone been able to get Amex going with OFX4J?

Thanks!

2

There are 2 best solutions below

1
On BEST ANSWER

Try using this institution data:

fid: 3101
org: AMEX
ofx: https://online.americanexpress.com/myca/ofxdl/desktop/desktopDownload.do?request_type=nl_ofxdownload
1
On

"Some servers in this state may also simply refuse the socket connection..."

Many financial institutions do not differentiate between OFX (open) and QFX (proprietary).

If they are using Quicken licensed content, then they might not enable the service for non-Quicken applications (even if you can access the data files manually). I attempted something similar with my bank and they let me connect, but started charging me a fee to recoup the licensing costs they had to pay to Intuit.

I would suggest talking to American Express' web support first, and if they indicate that the service is open and enabled (not a pay service, etc) then go back to troubleshooting your connection.