35 string request = OfxHeader(login->header_version) + strq.Output();
37 unsigned size = request.size();
38 char* result = (
char*)malloc(size + 1);
39 request.copy(result, size);
63 bankacctfromTag.
Add(
"BANKID", m_account.
bank_id );
66 bankacctfromTag.
Add(
"ACCTTYPE",
"CHECKING" );
67 else if ( m_account.account_type == m_account.
OFX_SAVINGS )
68 bankacctfromTag.
Add(
"ACCTTYPE",
"SAVINGS" );
70 bankacctfromTag.
Add(
"ACCTTYPE",
"MONEYMRKT" );
72 bankacctfromTag.
Add(
"ACCTTYPE",
"CREDITLINE" );
73 else if ( m_account.account_type == m_account.
OFX_CMA )
74 bankacctfromTag.
Add(
"ACCTTYPE",
"CMA" );
77 inctranTag.
Add(
"DTSTART", time_t_to_ofxdate( m_date_from ) );
78 inctranTag.
Add(
"INCLUDE",
"Y" );
81 stmtrqTag.
Add( bankacctfromTag );
82 stmtrqTag.
Add( inctranTag );
101 inctranTag.
Add(
"DTSTART", time_t_to_ofxdate( m_date_from ) );
102 inctranTag.
Add(
"INCLUDE",
"Y" );
105 ccstmtrqTag.
Add( ccacctfromTag );
106 ccstmtrqTag.
Add( inctranTag );
115 invacctfromTag.
Add(
"BROKERID", m_account.broker_id );
119 inctranTag.
Add(
"DTSTART", time_t_to_ofxdate( m_date_from ) );
120 inctranTag.
Add(
"INCLUDE",
"Y" );
123 incposTag.
Add(
"DTASOF", time_t_to_ofxdatetime( time(NULL) ) );
124 incposTag.
Add(
"INCLUDE",
"Y" );
127 invstmtrqTag.
Add( invacctfromTag );
128 invstmtrqTag.
Add( inctranTag );
129 invstmtrqTag.
Add(
"INCOO",
"Y" );
130 invstmtrqTag.
Add( incposTag );
131 invstmtrqTag.
Add(
"INCBAL",
"Y" );
139 string request = OfxHeader(login->header_version) + strq.
Output();
141 unsigned size = request.size();
142 char* result = (
char*)malloc(size + 1);
143 request.copy(result, size);
158 bankacctfromTag.
Add(
"BANKID", m_account.
bank_id );
161 bankacctfromTag.
Add(
"ACCTTYPE",
"CHECKING" );
162 else if ( m_account.account_type == m_account.
OFX_SAVINGS )
163 bankacctfromTag.
Add(
"ACCTTYPE",
"SAVINGS" );
164 else if ( m_account.account_type == m_account.
OFX_MONEYMRKT )
165 bankacctfromTag.
Add(
"ACCTTYPE",
"MONEYMRKT" );
167 bankacctfromTag.
Add(
"ACCTTYPE",
"CREDITLINE" );
168 else if ( m_account.account_type == m_account.
OFX_CMA )
169 bankacctfromTag.
Add(
"ACCTTYPE",
"CMA" );
172 payeeTag.
Add(
"NAME", m_payee.name );
173 payeeTag.
Add(
"ADDR1", m_payee.address1 );
174 payeeTag.
Add(
"CITY", m_payee.city );
175 payeeTag.
Add(
"STATE", m_payee.state );
176 payeeTag.
Add(
"POSTALCODE", m_payee.postalcode );
177 payeeTag.
Add(
"PHONE", m_payee.phone );
180 pmtinfoTag.
Add( bankacctfromTag );
181 pmtinfoTag.
Add(
"TRNAMT", m_payment.amount );
182 pmtinfoTag.
Add( payeeTag );
183 pmtinfoTag.
Add(
"PAYACCT", m_payment.account );
184 pmtinfoTag.
Add(
"DTDUE", m_payment.datedue );
185 pmtinfoTag.
Add(
"MEMO", m_payment.memo );
188 pmtrqTag.
Add( pmtinfoTag );
193 char* libofx_request_payment_status(
const struct OfxFiLogin* login,
const char* transactionid )
197 pmtinqrqTag.
Add(
"SRVRTID", transactionid );
203 string request = OfxHeader() + ofx.
Output();
205 unsigned size = request.size();
206 char* result = (
char*)malloc(size + 1);
207 request.copy(result, size);
211 payeesyncrq.
Add(
"TOKEN",
"0" );
212 payeesyncrq.
Add(
"TOKENONLY",
"N" );
213 payeesyncrq.
Add(
"REFRESH",
"Y" );
214 payeesyncrq.
Add(
"REJECTIFMISSING",
"N" );
217 message.
Add( payeesyncrq );
223 string request = OfxHeader(login->header_version) + ofx.
Output();
225 unsigned size = request.size();
226 char* result = (
char*)malloc(size + 1);
227 request.copy(result, size);
An abstraction of an account.
OfxPaymentRequest(const OfxFiLogin &fi, const OfxAccountData &account, const OfxPayee &payee, const OfxPayment &payment)
char * libofx_request_statement(const struct OfxFiLogin *fi, const struct OfxAccountData *account, time_t date_from)
Creates an OFX statement request in string form.
OfxStatementRequest(const OfxFiLogin &fi, const OfxAccountData &account, time_t from)
OfxAggregate InvestmentStatementRequest(void) const
A single aggregate as described in the OFX 1.02 specification.
OfxAggregate RequestMessage(const string &msgtype, const string &trntype, const OfxAggregate &aggregate) const
char bank_id[OFX_BANKID_LENGTH]
Various simple functions for type conversion & al.
void Add(const string &tag, const string &data)
string Output(void) const
OfxAggregate BankStatementRequest(void) const
OfxAggregate CreditCardStatementRequest(void) const
char account_number[OFX_ACCTID_LENGTH]
OfxAggregate SignOnRequest(void) const
Declaration of libofx_request_statement to create an OFX file containing a request for a statement...
Information sufficient to log into an financial institution.