After digging further on this I think this url is the correct one: https://www.oasis.cfree.com/fip/genesis/prod/05901.ofx
This request:
OFXHEADER:100
DATA:OFXSGML
VERSION:102
SECURITY:NONE
ENCODING:USASCII
CHARSET:1252
COMPRESSION:NONE
OLDFILEUID:NONE
NEWFILEUID:a1a427cced68b8a50502f54df25b3984
<OFX>
<SIGNONMSGSRQV1>
<SONRQ>
<DTCLIENT>20120306211257
<USERID>xxxxx
<USERPASS>xxxxx
<LANGUAGE>ENG
<FI>
<ORG>KeyBank
<FID>5901
</FI>
<APPID>QWIN
<APPVER>1900
</SONRQ>
</SIGNONMSGSRQV1>
<PROFMSGSETV1>
<PROFTRNRQ>
<TRNUID>6879c87f0dd2a3d750c85c71511051e2
<PROFRQ>
<CLIENTROUTING>NONE
<DTPROFUP>20120306211257
</PROFRQ>
</PROFTRNRQ>
</PROFMSGSETV1>
</OFX>
Gets a response (parsed) of:
'OFX' => {
'PROFMSGSRSV1' => {
'PROFTRNRS' => {
'TRNUID' => '6879c87f0dd2a3d750c85c71511051e2',
'STATUS' => {
'SEVERITY' => 'INFO',
'CODE' => '1'
}
}
},
'SIGNONMSGSRSV1' => {
'SONRS' => {
'LANGUAGE' => 'ENG',
'DTSERVER' => '20120306161258',
'STATUS' => {
'SEVERITY' => 'INFO',
'CODE' => '0'
}
}
}
}
};
But, when trying almost any other request I get this response:
'OFX' => {
'PROFMSGSRSV1' => {
'PROFTRNRS' => {
'TRNUID' => '0',
'STATUS' => {
'SEVERITY' => 'INFO',
'CODE' => '0'
},
'PROFRS' => {
'URL' => 'http://www.keybank.com',
'COUNTRY' => 'USA',
'DTPROFUP' => '20030512',
'FINAME' => 'Key Bank',
'CITY' => 'Toledo',
'ADDR1' => '333 North Summit Street',
'ADDR2' => '11th Floor',
'MSGSETLIST' => {
'PROFMSGSET' => {
'PROFMSGSETV1' => {
'MSGSETCORE' => {
'RESPFILEER' => 'Y',
'URL' => 'https://www.oasis.cfree.com/fip/genesis/prod/05901.ofx',
'LANGUAGE' => 'ENG',
'SIGNONREALM' => 'KeyRealmA',
'SYNCMODE' => 'FULL',
'OFXSEC' => 'NONE',
'VER' => '1',
'TRANSPSEC' => 'Y'
}
}
},
'SIGNONMSGSET' => {
'SIGNONMSGSETV1' => {
'MSGSETCORE' => {
'RESPFILEER' => 'Y',
'URL' => 'https://www.oasis.cfree.com/test.ofxgp',
'LANGUAGE' => 'ENG',
'SIGNONREALM' => 'KeyRealmA',
'SYNCMODE' => 'FULL',
'OFXSEC' => 'NONE',
'VER' => '1',
'TRANSPSEC' => 'Y'
}
}
},
'BILLPAYMSGSET' => {
'BILLPAYMSGSETV1' => {
'PROCDAYSOFF' => [
'SATURDAY',
'SUNDAY'
],
'XFERDAYSWITH' => '0',
'PROCENDTM' => '235959[-5:EST]',
'DIFFFIRSTPMT' => 'N',
'POSTPROCWND' => '180',
'MODELWND' => '30',
'STSVIAMODS' => 'N',
'CANADDPAYEE' => 'Y',
'DIFFLASTPMT' => 'N',
'CANMODPMTS' => 'Y',
'DAYSWITH' => '0',
'PMTBYPAYEEID' => 'N',
'DFLTDAYSTOPAY' => '4',
'XFERDFLTDAYSTOPAY' => '0',
'PMTBYXFER' => 'N',
'PMTBYADDR' => 'Y',
'HASEXTDPMT' => 'Y',
'CANMODMDLS' => 'N',
'MSGSETCORE' => {
'RESPFILEER' => 'Y',
'URL' => 'https://www.oasis.cfree.com/test.ofxgp',
'LANGUAGE' => 'ENG',
'SIGNONREALM' => 'KeyRealmA',
'SYNCMODE' => 'FULL',
'OFXSEC' => 'NONE',
'VER' => '1',
'TRANSPSEC' => 'Y'
}
}
},
'BANKMSGSET' => {
'BANKMSGSETV1' => {
'MSGSETCORE' => {
'RESPFILEER' => 'Y',
'URL' => 'https://www.oasis.cfree.com/test.ofxgp',
'LANGUAGE' => 'ENG',
'SIGNONREALM' => 'KeyRealmA',
'SYNCMODE' => 'LITE',
'OFXSEC' => 'NONE',
'VER' => '1',
'TRANSPSEC' => 'Y'
},
'EMAILPROF' => {
'CANNOTIFY' => 'N',
'CANEMAIL' => 'Y'
},
'CLOSINGAVAIL' => 'N',
'XFERPROF' => {
'PROCDAYSOFF' => [
'SATURDAY',
'SUNDAY'
],
'DAYSWITH' => '0',
'PROCENDTM' => '165959[-5:EST]',
'DFLTDAYSTOPAY' => '0',
'CANRECUR' => 'N',
'CANSCHED' => 'N',
'CANMODMDLS' => 'N',
'CANMODXFERS' => 'N',
'MODELWND' => '0'
}
}
},
'CREDITCARDMSGSET' => {
'CREDITCARDMSGSETV1' => {
'MSGSETCORE' => {
'RESPFILEER' => 'Y',
'URL' => 'https://www.oasis.cfree.com/test.ofxgp',
'LANGUAGE' => 'ENG',
'SIGNONREALM' => 'KeyRealmA',
'SYNCMODE' => 'FULL',
'OFXSEC' => 'NONE',
'VER' => '1',
'TRANSPSEC' => 'Y'
},
'CLOSINGAVAIL' => 'Y'
}
},
'SIGNUPMSGSET' => {
'SIGNUPMSGSETV1' => {
'OTHERENROLL' => {
'MESSAGE' => 'Please contact your financial institution to enroll.'
},
'CLIENTACTREQ' => 'N',
'MSGSETCORE' => {
'RESPFILEER' => 'Y',
'URL' => 'https://www.oasis.cfree.com/test.ofxgp',
'LANGUAGE' => 'ENG',
'SIGNONREALM' => 'KeyRealmA',
'SYNCMODE' => 'FULL',
'OFXSEC' => 'NONE',
'VER' => '1',
'TRANSPSEC' => 'Y'
},
'AVAILACCTS' => 'N',
'CHGUSERINFO' => 'N'
}
},
'EMAILMSGSET' => {
'EMAILMSGSETV1' => {
'GETMIMESUP' => 'N',
'MSGSETCORE' => {
'RESPFILEER' => 'Y',
'URL' => 'https://www.oasis.cfree.com/test.ofxgp',
'LANGUAGE' => 'ENG',
'SIGNONREALM' => 'KeyRealmA',
'SYNCMODE' => 'FULL',
'OFXSEC' => 'NONE',
'VER' => '1',
'TRANSPSEC' => 'Y'
},
'MAILSUP' => 'Y'
}
}
},
'STATE' => 'OH',
'SIGNONINFOLIST' => {
'SIGNONINFO' => {
'CHGPINFIRST' => 'Y',
'MIN' => '4',
'SIGNONREALM' => 'KeyRealmA',
'PINCH' => 'Y',
'MAX' => '8',
'SPACES' => 'N',
'CASESEN' => 'Y',
'CHARTYPE' => 'ALPHAORNUMERIC',
'SPECIAL' => 'N'
}
},
'POSTALCODE' => '43604'
}
}
},
'SIGNONMSGSRSV1' => {
'SONRS' => {
'LANGUAGE' => 'ENG',
'DTSERVER' => '20120306161500',
'STATUS' => {
'SEVERITY' => 'INFO',
'CODE' => '0'
}
}
}
}
};
I'm stuck. I know that I need to set a new Pin, but a request like this:
OFXHEADER:100
DATA:OFXSGML
VERSION:102
SECURITY:NONE
ENCODING:USASCII
CHARSET:1252
COMPRESSION:NONE
OLDFILEUID:NONE
NEWFILEUID:850d12d9c5f74a9fc135fbcbe995936f
<OFX>
<SIGNONMSGSRQV1>
<SONRQ>
<DTCLIENT>20120306211742
<USERID>xxxxx
<USERPASS>xxxxx
<LANGUAGE>ENG
<FI>
<ORG>KeyBank
<FID>5901
</FI>
<APPID>QWIN
<APPVER>1900
</SONRQ>
</SIGNONMSGSRQV1>
<SIGNONMSGSRQV1>
<PINCHTRNRQ>
<TRNUID>6879c87f0dd2a3d750c85c71511051e2
<PINCHRQ>
<USERID>xxxxx
<NEWUSERPASS>xxxxx
</PINCHRQ>
</PINCHTRNRQ>
</SIGNONMSGSRQV1>
</OFX>
gets me the same response as above.