Search code examples
javafinancialofxgnucash

OFX4J with American Express


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!


Solution

  • Try using this institution data:

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