ACH Works Service Guide

User Manual: Pdf

Open the PDF directly: View PDF PDF.
Page Count: 83

DownloadACH Works Service Guide
Open PDF In BrowserView PDF
API	
  Guide	
  Version	
  
	
  

1.3	
  

ACHWorks-­‐SOAP	
  Ver	
  4.0	
  API	
  Guide	
  

A C H W o r k s , 	
   	
   a c h w o r k s . c o m , 	
   2 7 2 4 	
   K i l g o r e 	
   R d . , 	
   R a n c h o 	
   C o r d o v a , 	
   C A 	
   9 5 7 7 6 	
  

	
  

Table	
  of	
  Contents	
  
1.	
  INTRODUCTION	
  

3	
  

2.	
  DESCRIPTION	
  OF	
  METHODS/OPERATIONS	
  

4	
  

2.1	
  CHECKING	
  CONNECTION	
  AND	
  ACCOUNT	
  STATUS	
  
2.1.1	
  CONNECTIONCHECK	
  
2.1.2	
  CHECKCOMPANYSTATUS	
  
2.2	
  SENDING	
  TRANSACTIONS	
  
2.2.1	
  SENDACHTRANS	
  
2.2.2	
  SENDACHTRANSBATCH	
  
2.2.3	
  SENDACHTRANSBATCHBIN	
  
2.3	
  GETTING	
  SETTLEMENTS	
  AND	
  RETURNS	
  
2.3.1	
  GETACHRETURNS	
  
2.3.2	
  GETACHRETURNSHIST	
  
2.4	
  RETRIEVING	
  PAST	
  CONNECTION	
  RESULTS	
  AND	
  ERRORS	
  
2.4.1	
  GETRESULTFILE	
  
2.4.2	
  GETERRORFILE	
  
2.5	
  VIEWING	
  AND	
  DELETING	
  BATCH	
  TRANSACTIONS	
  
2.5.1	
  VIEWACHTRANSBATCH	
  
2.5.2	
  DELETEACHTRANSBATCH	
  

4	
  
4	
  
4	
  
6	
  
6	
  
7	
  
8	
  
11	
  
11	
  
12	
  
14	
  
14	
  
14	
  
16	
  
16	
  
16	
  

3.	
  DATA	
  DEFINITIONS	
  

17	
  

3.	
  1	
  COMPANYINFO	
  
3.	
  2	
  ACHTRANSRECORD	
  
3.	
  3	
  ACHFILE	
  
3.	
  4	
  ACHRETURNRECORD	
  
3.	
  5	
  ACHRETURNS	
  
3.	
  6	
  TRANSRESULT	
  
3.	
  7	
  RESULTFILE	
  
3.	
  8	
  ERRORRECORD	
  
3.	
  9	
  ERRORFILE	
  
3.	
  10	
  FIELD	
  TYPES	
  AND	
  LENGTHS	
  

17	
  
17	
  
20	
  
21	
  
24	
  
25	
  
26	
  
27	
  
28	
  
29	
  

4.	
  CONTACT	
  INFORMATION	
  

30	
  

APPENDICES	
  

31	
  

A1.	
  SERVICE	
  DESCRIPTION	
  
A2.	
  SAMPLE	
  CLIENT	
  CODES	
  
A2.1	
  PHP	
  
A2.2	
  VISUAL	
  BASIC	
  (VB.NET)	
  
A2.3	
  C#	
  
A2.4	
  JAVA	
  

31	
  
48	
  
48	
  
57	
  
65	
  
73	
  

ACHWorks-­‐SOAP	
  Ver	
  4.0	
  	
  Guide	
  Copyright	
  ©	
  ACHWorks	
  2010.	
  All	
  Rights	
  Reserved.	
  

Page	
  2	
  of	
  83	
  

	
  

1.	
  Introduction	
  
	
  
The	
  use	
  of	
  web	
  services	
  like	
  SOAP,	
  both	
  in	
  theory	
  and	
  by	
  experience,	
  	
  is	
  said	
  to	
  be	
  one	
  of	
  the	
  most	
  suitable	
  
applications	
  for	
  easy	
  and	
  seamless	
  integration	
  with	
  existing	
  or	
  even	
  new	
  systems	
  regardless	
  of	
  
development	
  platform	
  and/or	
  operating	
  system.	
  	
  This	
  is	
  proven	
  to	
  be	
  true	
  for	
  web	
  services	
  involving	
  
complex	
  data	
  structure	
  and	
  applications	
  that	
  require	
  frequent	
  connections	
  (data	
  updates)	
  like	
  the	
  ACH	
  
system.	
  	
  Since	
  it’s	
  first	
  release	
  in	
  2001,	
  ACHWorks-­‐SOAP	
  (Figure	
  1)	
  has	
  been	
  a	
  reliable	
  and	
  stable	
  system.	
  
	
  
The	
  latest	
  version	
  of	
  ACHWorks-­‐SOAP	
  (Version	
  4,	
  2010)	
  provides	
  new	
  enhancements	
  which	
  include:	
  	
  (a)	
  
instant	
  feedback	
  of	
  detailed	
  status	
  and/or	
  connection	
  errors	
  for	
  each	
  method	
  or	
  operation	
  call,	
  (b)	
  
improved	
  data	
  structure	
  for	
  input	
  and	
  output	
  eliminating	
  the	
  need	
  for	
  understanding	
  the	
  ACHWorks	
  
proprietary	
  data	
  format	
  (as	
  in	
  Version	
  3),	
  	
  (c)	
  changing	
  from	
  the	
  XML-­‐RPC	
  to	
  the	
  Document/Literal	
  format	
  
for	
  compatibility	
  with	
  most	
  and	
  recent	
  versions	
  of	
  development	
  platforms,	
  and	
  (d)	
  increase	
  in	
  the	
  speed	
  of	
  
connection.	
  
	
  
The	
  new	
  version	
  features	
  a	
  data	
  structure	
  that	
  employs	
  full	
  object-­‐oriented	
  	
  (OO)	
  design	
  that	
  easily	
  
translates	
  to	
  non-­‐fully	
  OO	
  formats	
  like	
  XML.	
  	
  	
  Consequently,	
  the	
  generated	
  classes	
  from	
  the	
  web	
  service	
  
WSDL	
  present	
  data	
  as	
  objects.	
  	
  	
  This	
  feature	
  facilitates	
  easier	
  and	
  more	
  intuitive	
  consuming	
  of	
  the	
  web	
  
service	
  i.e.	
  creation	
  of	
  a	
  SOAP	
  client	
  application.	
  	
  	
  
	
  
SOAP CLIENT
APPLICATION
C#, VB, ASP (.NET),
PHP,
JAVA,
COLD FUSION,
RUBY,
PYTHON,
DELPHI,
etc.

REQUEST

ACH DATA IN
XSD/WSDL
ENCAPSULATED
OBJECTS

ACHWORKS-SOAP
API
Test:
tstsvr.achworks.com/dnet/achws.asmx?wsdl

	
  
	
  
Production:

Live https server url will be provided to
registered merchants

	
  
RESPONSE

	
  

Figure	
  1.	
  ACHWorks-­SOAP	
  Schematic	
  Diagram	
  

	
  
	
  
ACHWorks-­‐SOAP	
  Ver	
  4.0	
  	
  Guide	
  Copyright	
  ©	
  ACHWorks	
  2010.	
  All	
  Rights	
  Reserved.	
  

ACH
SYSTEM

Page	
  3	
  of	
  83	
  

2.	
  Description	
  of	
  Methods/Operations	
  
	
  
This	
  section	
  lists	
  the	
  methods	
  and	
  description	
  for	
  using	
  the	
  ACHWorks-­‐SOAP	
  web	
  service.	
  	
  A	
  brief	
  
description	
  is	
  provided	
  for	
  each	
  method	
  to	
  complement	
  the	
  service	
  description	
  (test	
  WSDL	
  url)	
  which	
  can	
  
be	
  found	
  on	
  this	
  link:	
  http://tstsvr.achworks.com/dnet/achws.asmx?WSDL	
  .	
  	
  	
  A	
  different	
  link	
  for	
  WSDL	
  to	
  
send	
  live	
  ACH	
  transactions	
  is	
  provided	
  for	
  registered	
  merchants.	
  
	
  
For	
  details	
  of	
  the	
  data	
  structure	
  and	
  definitions,	
  please	
  refer	
  to	
  Section	
  3	
  of	
  this	
  guide.	
  
	
  
Viewing	
  the	
  sample	
  codes,	
  Appendix	
  A2	
  in	
  this	
  guide,	
  also	
  prove	
  useful	
  in	
  understanding	
  on	
  how	
  a	
  method	
  
is	
  called	
  in	
  an	
  application	
  and	
  to	
  easily	
  get	
  started	
  quickly.	
  
	
  

2.1.	
  Checking	
  Connection	
  and	
  Account	
  Status
2.1.1	
  ConnectionCheck

	
  

	
  

	
  
This	
  is	
  the	
  basic	
  method	
  for	
  accessing	
  the	
  web	
  service	
  to	
  determine	
  validity	
  of	
  company	
  credentials.	
  	
  This	
  
method	
  may	
  be	
  used	
  for	
  initial	
  testing	
  of	
  the	
  service	
  only.	
  	
  To	
  view	
  the	
  Request/Response	
  description	
  of	
  
this	
  operation	
  go	
  to	
  this	
  link:	
  http://tstsvr.achworks.com/dnet/achws.asmx?op=ConnectionCheck.	
  
	
  
Format:	
  
ConnectionCheckResult	
  =	
  ConnectionCheck(InpCompanyInfo),	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  where	
  ConnectionCheckResult	
  is	
  of	
  type	
  String	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  InpCompanyInfo	
  is	
  of	
  type	
  CompanyInfo	
  (Section	
  3.1)	
  	
  
	
  
	
  	
  	
  	
  	
  	
  	
  
	
  
Example:	
  	
  	
  
The	
  InpCompanyInfo	
  can	
  have	
  the	
  following	
  value,	
  
	
  	
  	
  InpCompanyInfo.SSS=”TST”	
  
	
  	
  	
  InpCompanyInfo.LocID=”9505”	
  
	
  	
  	
  InpCompanyInfo.Company=”MYCOMPANY”	
  
	
  	
  	
  InpCompanyInfo.CompanyKey=”SASD%!%$DGLJGWYRRDGDDUDFDESDHDD”	
  
	
  

and	
  the	
  ConnectionCheckResult	
  object	
  may	
  have	
  the	
  following	
  value	
  after	
  the	
  method	
  call,	
  
	
  	
  	
  ConnectionCheckResult	
  -­‐>	
  “SUCCESS:Valid	
  Account”	
  
	
  

or	
  if	
  rejected,	
  

	
  	
  	
  ConnectionCheckResult	
  -­‐>	
  “REJECTED:Invalid	
  Account”	
  

	
  

2.1.2	
  CheckCompanyStatus

	
  

	
  
This	
  method	
  checks	
  the	
  status	
  of	
  the	
  company	
  credentials	
  whether	
  it’s	
  an	
  active	
  or	
  an	
  inactive	
  account.	
  	
  It	
  
is	
  possible	
  that	
  an	
  account	
  is	
  valid	
  (e.g.	
  ConnectionCheck)	
  but	
  not	
  yet	
  activated	
  or	
  already	
  been	
  deactivated	
  
or	
  closed.	
  	
  An	
  account	
  must	
  be	
  active	
  to	
  initiate	
  methods	
  for	
  sending	
  ACH	
  transactions	
  and	
  getting	
  ACH	
  

ACHWorks-­‐SOAP	
  Ver	
  4.0	
  	
  Guide	
  Copyright	
  ©	
  ACHWorks	
  2010.	
  All	
  Rights	
  Reserved.	
  

Page	
  4	
  of	
  83	
  

returns.	
  	
  To	
  view	
  the	
  Request/Response	
  description	
  of	
  this	
  operation	
  go	
  to	
  this	
  link:	
  
http://tstsvr.achworks.com/dnet/achws.asmx?op=CheckCompanyStatus.	
  
	
  
Format:	
  
CheckCompanyStatusResult	
  =	
  CheckCompanyStatus(InpCompanyInfo),	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  where	
  CheckCompanyStatusResult	
  is	
  of	
  type	
  String	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  InpCompanyInfo	
  is	
  of	
  type	
  CompanyInfo	
  (Section	
  3.1)	
  	
  
	
  
	
  	
  	
  	
  	
  	
  	
  
	
  
Example:	
  	
  
The	
  InpCompanyInfo	
  can	
  have	
  the	
  following	
  value,	
  
	
  	
  	
  InpCompanyInfo.SSS=”TST”	
  
	
  	
  	
  InpCompanyInfo.LocID=”9505”	
  
	
  	
  	
  InpCompanyInfo.Company=”MYCOMPANY”	
  
	
  	
  	
  InpCompanyInfo.CompanyKey=”SASD%!%$DGLJGWYRRDGDDUDFDESDHDD”	
  

	
  
and	
  the	
  CheckCompanyStatusResult	
  object	
  may	
  have	
  the	
  following	
  value	
  after	
  the	
  method	
  call,	
  
	
  	
  	
  CheckCompanyStatusResult	
  -­‐>	
  “SUCCESS:Valid	
  And	
  Active	
  Account”	
  
	
  

or	
  if	
  rejected,	
  
	
  	
  	
  CheckCompanyStatusResult	
  -­‐>	
  “REJECTED:Invalid	
  And/Or	
  Inactive	
  Account”	
  

	
  

ACHWorks-­‐SOAP	
  Ver	
  4.0	
  	
  Guide	
  Copyright	
  ©	
  ACHWorks	
  2010.	
  All	
  Rights	
  Reserved.	
  

Page	
  5	
  of	
  83	
  

2.2.	
  Sending	
  Transactions
2.2.1	
  SendACHTrans

	
  

	
  

	
  
This	
  method	
  is	
  used	
  for	
  sending	
  a	
  single	
  ACH	
  transaction	
  or	
  record.	
  	
  	
  ACHTransRecord	
  describes	
  the	
  format	
  
of	
  a	
  single	
  ACH	
  transaction	
  or	
  record	
  (see	
  Section	
  3.2).	
  	
  	
  To	
  view	
  the	
  Request/Response	
  description	
  of	
  this	
  
operation	
  go	
  to	
  this	
  link:	
  http://tstsvr.achworks.com/dnet/achws.asmx?op=SendACHTrans	
  
	
  
Format:	
  
SendACHTransResult	
  =	
  SendACHTrans(InpCompanyInfo,	
  InpACHTransRecord),	
  
	
  	
  	
  	
  	
  	
  where	
  SendACHTransResult	
  is	
  of	
  type	
  TransResult	
  (Section	
  3.6)	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  InpCompanyInfo	
  is	
  of	
  type	
  CompanyInfo	
  (Section	
  3.1)	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  InpACHTransRecord	
  is	
  of	
  type	
  ACHTransRecord	
  (Section	
  3.2)	
  
	
  
Example:	
  	
  	
  
The	
  input	
  InpCompanyInfo	
  and	
  InpACHTransRecord	
  objects	
  may	
  have	
  the	
  following	
  values,	
  
	
  	
  	
  InpCompanyInfo.SSS=”TST”	
  
	
  	
  	
  InpCompanyInfo.LocID=”9502”	
  
	
  	
  	
  InpCompanyInfo.Company=”MYCOMPANY”	
  
	
  	
  	
  InpCompanyInfo.CompanyKey=”SASD%!%$DGLJGWYRRDGDDUDFDESDHDD”	
  
	
  
	
  	
  	
  InpACHTransRecord.SSS=”TST”	
  
	
  	
  	
  InpACHTransRecord.LocID=”9502”	
  
	
  	
  	
  InpACHTransRecord.FrontEndTrace=”XC#-­‐0002”	
  
	
  	
  	
  InpACHTransRecord.CustomerName=”DOE,	
  JOHN”	
  
	
  	
  	
  InpACHTransRecord.CustomerRoutingNo=”123456780”	
  
	
  	
  	
  InpACHTransRecord.CustomerAcctNo=”00002323044”	
  
	
  	
  	
  .	
  	
  
.	
  
.	
  
.	
  
.	
  
.	
  
.	
  
	
  	
  	
  .	
  	
  
.	
  
.	
  
.	
  
.	
  
.	
  
.	
  
	
  	
  	
  InpACHTransRecord.AccountSet=”1”	
  
	
  

Then,	
  the	
  SendACHTransResult	
  object	
  may	
  have	
  the	
  following	
  value	
  after	
  the	
  method	
  call,	
  

	
  	
  	
  SendACHTransResult.SSS-­‐>”TST”	
  
	
  	
  	
  SendACHTransResult.LocID-­‐>”9502”	
  
	
  
	
  	
  	
  SendACHTransResult.Status-­‐>”SUCCESS”	
  
	
  	
  	
  SendACHTransResult.Details-­‐>”Transaction	
  record	
  received	
  and	
  queued	
  on	
  04/16/2010	
  03:34:34	
  PM	
  Pacific	
  Time	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  [FrontEndTrace=X9000123310].	
  Server	
  Processing	
  Time:15.625	
  ms”	
  
	
  	
  	
  SendACHTransResult.TotalNumErrors	
  -­‐>0	
  
	
  

Or	
  if	
  rejected,	
  

	
  	
  	
  SendACHTransResult.SSS-­‐>”TST”	
  
	
  	
  	
  SendACHTransResult.LocID-­‐>”9502”	
  
	
  
	
  	
  	
  SendACHTransResult.Status-­‐>”REJECTED”	
  
	
  	
  	
  SendACHTransResult.Details-­‐>”Rejected	
  due	
  to	
  errors”	
  
	
  	
  	
  SendACHTransResult.TotalNumErrors	
  -­‐>2	
  
	
  	
  	
  SendACHTransResult.Errors[0]-­‐>”Error#1:FrontEndTrace	
  X9000123310	
  already	
  used.”	
  
	
  	
  	
  SendACHTransResult.Errors[1]-­‐>”Error#2:Unable	
  to	
  complete	
  processing	
  of	
  data	
  due	
  to	
  error(s).”	
  
	
  

Special	
  Note:	
  	
  All	
  transactions	
  sent	
  via	
  this	
  method	
  can	
  be	
  separately	
  managed	
  using	
  the	
  ACHWorks-­‐WEB	
  
online	
  application	
  (optional	
  but	
  useful	
  feature	
  for	
  online	
  viewing	
  and	
  editing	
  of	
  transactions).	
  	
  Although	
  

ACHWorks-­‐SOAP	
  Ver	
  4.0	
  	
  Guide	
  Copyright	
  ©	
  ACHWorks	
  2010.	
  All	
  Rights	
  Reserved.	
  

Page	
  6	
  of	
  83	
  

ACHWorks-­‐WEB	
  requires	
  a	
  separate	
  license,	
  the	
  license	
  is	
  not	
  required	
  to	
  facilitate	
  the	
  processing	
  of	
  the	
  
transaction	
  sent	
  using	
  this	
  method.	
  
	
  

	
  	
  

2.2.2	
  SendACHTransBatch

	
  

	
  
This	
  method	
  is	
  used	
  for	
  sending	
  multiple	
  or	
  batch	
  of	
  ACH	
  transactions.	
  	
  ACHFile	
  describes	
  the	
  format	
  of	
  a	
  
batch	
  file	
  (see	
  Section	
  3.3).	
  	
  To	
  view	
  the	
  Request/Response	
  description	
  of	
  this	
  operation	
  go	
  to	
  this	
  link:	
  	
  
http://tstsvr.achworks.com/dnet/achws.asmx?op=SendACHTransBatch	
  
	
  
Format:	
  
SendACHTransBatchResult	
  =	
  SendACHTransBatch(InpCompanyInfo,	
  InpACHFile),	
  
	
  	
  	
  	
  	
  	
  where	
  SendACHTransBatchResult	
  is	
  of	
  type	
  TransResult	
  (Section	
  3.6)	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  InpCompanyInfo	
  is	
  of	
  type	
  CompanyInfo	
  (Section	
  3.1)	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  InpACHFile	
  is	
  of	
  type	
  ACHFile	
  (Section	
  3.3)	
  
	
  
Example:	
  	
  	
  
The	
  input	
  InpCompanyInfo	
  and	
  InpACHFile	
  objects	
  may	
  have	
  the	
  following	
  values,	
  
	
  	
  	
  InpCompanyInfo.SSS=”TST”	
  
	
  	
  	
  InpCompanyInfo.LocID=”9502”	
  
	
  	
  	
  InpCompanyInfo.Company=”MYCOMPANY”	
  
	
  	
  	
  InpCompanyInfo.CompanyKey=”SASD%!%$DGLJGWYRRDGDDUDFDESDHDD”	
  
	
  
	
  	
  	
  InpACHFile.SSS=”TST”	
  
	
  	
  	
  InpACHFile.LocID=”9502”	
  
	
  	
  	
  InpACHFile.ACHFileName=””	
  	
  //we	
  recommend	
  that	
  you	
  leave	
  this	
  blank,	
  	
  see	
  Section	
  3.3.3	
  for	
  forma	
  
	
  	
  	
  InpACHFile.TotalNumRecords=3	
  
	
  	
  	
  InpACHFile.TotalDebitRecords=2	
  
	
  	
  	
  InpACHFile.TotalDebitAmount=600.5	
  
	
  	
  	
  InpACHFile.TotalCreditRecords=1	
  
	
  	
  	
  InpACHFile.TotalCreditAmount=350.25	
  
	
  	
  	
  InpACHFile.ACHRecords[0]=InpACHTransRecord1	
  	
  //See	
  example	
  in	
  Section	
  2.2.2	
  for	
  assigning	
  InpACHransRecord	
  	
  
	
  	
  	
  InpACHFile.ACHRecords[1]=InpACHTransRecord2	
  	
  //See	
  example	
  in	
  Section	
  2.2.2	
  for	
  assigning	
  InpACHransRecord	
  
	
  	
  InpACHFile.ACHRecords[2]=InpACHTransRecord3	
  	
  	
  //See	
  example	
  in	
  Section	
  2.2.2	
  for	
  assigning	
  InpACHransRecord	
  

	
  	
  	
  
Then,	
  the	
  SendACHTransBatchResult	
  object	
  may	
  have	
  the	
  following	
  value	
  after	
  the	
  method	
  call,	
  

	
  	
  	
  SendACHTransBatchResult.SSS-­‐>”TST”	
  
	
  	
  	
  SendACHTransBatchResult.LocID-­‐>”9502”	
   	
  
	
  	
  	
  SendACHTransBatchResult.Status-­‐>”SUCCESS”	
  
	
  	
  	
  SendACHTransBatchResult.Details-­‐>”Transaction	
  records	
  received	
  and	
  queued	
  on	
  04/16/2010	
  04:09:25	
  PM	
  Pacific	
  Time	
  	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  [ACHFileName=TST9502-­‐10041600.XML].	
  Server	
  Processing	
  Time:<0.0001	
  ms”	
  
	
  	
  	
  SendACHTransBatchResult	
  TotalNumErrors	
  -­‐>0	
  
	
  

Or	
  if	
  rejected,	
  

	
  	
  	
  SendACHTransBatchResult.SSS-­‐>”TST”	
  
	
  	
  	
  SendACHTransBatchResult.LocID-­‐>”9502”	
  	
  
	
  	
  	
  SendACHTransBatchResult.Status-­‐>”REJECTED”	
  
	
  	
  	
  SendACHTransBatchResult.Details-­‐>”Rejected	
  due	
  to	
  errors”	
  
	
  	
  	
  SendACHTransBatchResult.TotalNumErrors	
  -­‐>2	
  
	
  	
  	
  SendACHTransBatchResult.Errors[0]-­‐>”Error#1:	
  Record	
  count	
  defined	
  does	
  not	
  match	
  actual	
  number	
  of	
  records.”	
  

ACHWorks-­‐SOAP	
  Ver	
  4.0	
  	
  Guide	
  Copyright	
  ©	
  ACHWorks	
  2010.	
  All	
  Rights	
  Reserved.	
  

Page	
  7	
  of	
  83	
  

	
  

	
  	
  	
  SendACHTransBatchResult.Errors[1]-­‐>”Error#2:Unable	
  to	
  complete	
  processing	
  of	
  data	
  due	
  to	
  error(s).”	
  
	
  
	
  

2.2.3	
  SendACHTransBatchBin

	
  

	
  
Some	
  developers	
  prefer	
  to	
  send	
  a	
  ready-­‐made	
  file	
  instead	
  of	
  assembling	
  it	
  in	
  their	
  client	
  code.	
  	
  This	
  method	
  
can	
  be	
  used	
  for	
  sending	
  multiple	
  or	
  batch	
  of	
  ACH	
  transactions	
  as	
  an	
  alternative	
  to	
  the	
  SendACHTransBatch	
  
method.	
  	
  The	
  input	
  	
  ACHFile	
  is	
  encoded	
  in	
  a	
  binary	
  format	
  (Figure	
  2.1).	
  	
  	
  This	
  method	
  is	
  also	
  recommended	
  
if	
  sending	
  more	
  than	
  5,000	
  transactions	
  per	
  send	
  call.	
  	
  To	
  view	
  the	
  Request/Response	
  description	
  of	
  this	
  
operation	
  go	
  to	
  this	
  link:	
  http://tstsvr.achworks.com/dnet/achws.asmx?op=SendACHTransBatchBin	
  
	
  
Format:	
  
SendACHTransBatchBinResult	
  =	
  SendACHTransBatchBin(InpCompanyInfo,	
  InpBinFile),	
  
	
  	
  	
  	
  	
  	
  where	
  SendACHTransBatchBINResult	
  is	
  of	
  type	
  TransResult	
  (Section	
  3.6)	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  InpCompanyInfo	
  is	
  of	
  type	
  CompanyInfo	
  (Section	
  3.1)	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  InpBinFile	
  is	
  of	
  type	
  base64binary,	
  	
  binary	
  encoded	
  ACHFile	
  (see	
  Figure	
  2.1	
  below)	
  
	
  
Example:	
  	
  	
  
Then	
  input	
  InpCompanyInfo	
  and	
  InpACHFile	
  objects	
  may	
  have	
  the	
  following	
  values,	
  
	
  	
  	
  InpCompanyInfo.SSS=”TST”	
  
	
  	
  	
  InpCompanyInfo.LocID=”9502”	
  
	
  	
  	
  InpCompanyInfo.Company=”MYCOMPANY”	
  
	
  	
  	
  InpCompanyInfo.CompanyKey=”SASD%!%$DGLJGWYRRDGDDUDFDESDHDD”	
  
	
  
	
  	
  	
  InpBinFile	
  =	
  //assign	
  a	
  base64	
  binary	
  encoded	
  of	
  the	
  ACHFile,	
  	
  see	
  Figure	
  2.1	
  below	
  
	
  

Then,	
  the	
  SendACHTransBatchBINResult	
  object	
  may	
  have	
  the	
  following	
  value	
  after	
  the	
  method	
  call,	
  

	
  	
  	
  SendACHTransBatchResult.SSS-­‐>”TST”	
  
	
  	
  	
  SendACHTransBatchResult.LocID-­‐>”9502”	
   	
  
	
  	
  	
  SendACHTransBatchResult.Status-­‐>”SUCCESS”	
  
	
  	
  	
  SendACHTransBatchResult.Details-­‐>”Transaction	
  records	
  received	
  and	
  queued	
  on	
  04/16/2010	
  04:09:25	
  PM	
  Pacific	
  Time	
  	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  [ACHFileName=TST9502-­‐10041600.XML].	
  Server	
  Processing	
  Time:<0.0001	
  ms”	
  
	
  	
  	
  SendACHTransBatchResult	
  TotalNumErrors	
  -­‐>0	
  
	
  

Or	
  if	
  rejected,	
  
	
  	
  	
  SendACHTransBatchResult.SSS-­‐>”TST”	
  
	
  	
  	
  SendACHTransBatchResult.LocID-­‐>”9502”	
  	
  
	
  	
  	
  SendACHTransBatchResult.Status-­‐>”REJECTED”	
  
	
  	
  	
  SendACHTransBatchResult.Details-­‐>”Rejected	
  due	
  to	
  errors”	
  
	
  	
  	
  SendACHTransBatchResult.TotalNumErrors	
  -­‐>2	
  
	
  	
  	
  SendACHTransBatchResult.Errors[0]-­‐>”Error#1:	
  Record	
  count	
  defined	
  does	
  not	
  match	
  actual	
  number	
  of	
  records.”	
  
	
  	
  	
  SendACHTransBatchResult.Errors[1]-­‐>”Error#2:Unable	
  to	
  complete	
  processing	
  of	
  data	
  due	
  to	
  error(s).”	
  
	
  

	
  
Figure	
  2.1	
  Sample	
  ACHFile	
  text	
  (to	
  be	
  encoded	
  in	
  base64	
  binary	
  format	
  as	
  InpBinFile):	
  	
  
	
  	
  	
  
	
  
TST	
  	
  
	
  	
  	
   	
  
9505	
  	
  
	
  	
  	
   	
  
TST9505-­‐10040102.XML	
  	
  

ACHWorks-­‐SOAP	
  Ver	
  4.0	
  	
  Guide	
  Copyright	
  ©	
  ACHWorks	
  2010.	
  All	
  Rights	
  Reserved.	
  

Page	
  8	
  of	
  83	
  

	
  	
  	
   	
  
	
  	
  	
   	
  
	
  	
  	
   	
  
	
  	
  	
   	
  
	
  	
  	
   	
  
	
  	
  	
   	
  
	
  	
  	
   	
  
	
  	
  	
   	
  
	
  	
  	
   	
  
	
  	
  	
   	
  
	
  	
  	
   	
  
	
  	
  	
   	
  
	
  	
  	
   	
  
	
  	
  	
   	
  
	
  	
  	
   	
  
	
  	
  	
   	
  
	
  	
  	
   	
  
	
  	
  	
   	
  
	
  	
  	
   	
  
	
  	
  	
   	
  
	
  	
  	
   	
  
	
  	
  	
   	
  
	
  	
  	
   	
  
	
  	
  	
   	
  
	
  	
  	
   	
  
	
  	
  	
   	
  
	
  	
  	
   	
  
	
  	
  	
   	
  
	
  	
  	
   	
  
	
  	
  	
   	
  
	
  	
  	
   	
  
	
  	
  	
   	
  
	
  	
  	
   	
  
	
  	
  	
   	
  
	
  	
  	
   	
  
	
  	
  	
   	
  
	
  	
  	
   	
  
	
  	
  	
   	
  
	
  	
  	
   	
  
	
  	
  	
   	
  
	
  	
  	
   	
  
	
  	
  	
   	
  
	
  	
  	
   	
  
	
  	
  	
   	
  
	
  	
  	
   	
  
	
  	
  	
   	
  
	
  	
  	
   	
  
	
  	
  	
   	
  
	
  	
  	
   	
  
	
  	
  	
   	
  
	
  	
  	
   	
  

3	
  	
  
2	
  	
  
600.5	
  	
  
1	
  	
  
350.25	
  	
  
	
  
	
  
	
  
	
  
TST	
  	
  
	
  
	
  
9505	
  	
  
	
  
	
  
J-­‐00081	
  	
  
	
  
	
  
MYCOMPANY	
  	
  
	
  
	
  
PPD	
  	
  
	
  
	
  
D	
  	
  
	
  
	
  
CUSTID123-­‐1	
  	
  
	
  
	
  
DOE,	
  JOHN	
  	
  
	
  
	
  
987654320	
  	
  
	
  
	
  
00332358882	
  	
  
	
  
	
  
C	
  	
  
	
  
	
  
100.25	
  	
  
	
  
	
  
9166388811	
  	
  
	
  
	
  
03/24/2010	
  	
  
	
  
	
  
03/24/2010	
  	
  
	
  
	
  
FirstPay	
  	
  
	
  
	
  
S	
  	
  
	
  
	
  
1	
  	
  
	
  
	
  
	
  
	
  
	
  
TST	
  	
  
	
  
	
  
9505	
  	
  
	
  
	
  
J-­‐00082	
  	
  
	
  
	
  
<	
  OriginatorName	
  >MYCOMPANY	
  	
  
	
  
	
  
PPD	
  	
  
	
  
	
  
D	
  	
  
	
  
	
  
CUSTID123-­‐2	
  	
  
	
  
	
  
SMITH,	
  JANET	
  	
  
	
  
	
  
987654320	
  	
  
	
  
	
  
00332358882	
  	
  
	
  
	
  
C	
  	
  
	
  
	
  
500.25	
  	
  
	
  
	
  
9166388811	
  	
  
	
  
	
  
03/24/2010	
  	
  
	
  
	
  
03/24/2010	
  	
  
	
  
	
  
FirstPay	
  	
  
	
  
	
  
S	
  	
  
	
  
	
  
1	
  	
  
	
  
	
  
	
  
	
  
	
  
TST	
  	
  
	
  
	
  
9505	
  	
  
	
  
	
  
J-­‐00083	
  	
  
	
  
	
  
<	
  OriginatorName	
  >MYCOMPANY	
  	
  
	
  
	
  
PPD	
  	
  
	
  
	
  
C	
  	
  
	
  
	
  
CUSTID123-­‐3	
  	
  
	
  
	
  
YOUNG,	
  JOE	
  	
  

ACHWorks-­‐SOAP	
  Ver	
  4.0	
  	
  Guide	
  Copyright	
  ©	
  ACHWorks	
  2010.	
  All	
  Rights	
  Reserved.	
  

Page	
  9	
  of	
  83	
  

	
  	
  	
   	
  
	
  
	
  
987654320	
  	
  
	
  	
  	
   	
  
	
  
	
  
00332358882	
  	
  
	
  	
  	
   	
  
	
  
	
  
C	
  	
  
	
  	
  	
   	
  
	
  
	
  
350.25	
  	
  
	
  	
  	
   	
  
	
  
	
  
9166388811	
  	
  
	
  	
  	
   	
  
	
  
	
  
03/24/2010	
  	
  
	
  	
  	
   	
  
	
  
	
  
03/24/2010	
  	
  
	
  	
  	
   	
  
	
  
	
  
FirstPay	
  	
  
	
  	
  	
   	
  
	
  
	
  
S	
  	
  
	
  	
  	
   	
  
	
  
	
  
1	
  	
  
	
  	
  	
   	
  
	
  
	
  
	
  	
  	
   	
  
	
  
	
  	
  	
  

	
  

ACHWorks-­‐SOAP	
  Ver	
  4.0	
  	
  Guide	
  Copyright	
  ©	
  ACHWorks	
  2010.	
  All	
  Rights	
  Reserved.	
  

Page	
  10	
  of	
  83	
  

2.3	
  Getting	
  Settlements	
  and	
  Returns
2.3.1	
  GetACHReturns

	
  

	
  

	
  
This	
  method	
  is	
  used	
  to	
  retrieve	
  outstanding	
  status	
  of	
  Returns	
  and	
  Settlements	
  from	
  the	
  ACH	
  system	
  for	
  a	
  
transaction	
  or	
  set	
  of	
  transactions.	
  	
  	
  The	
  output	
  is	
  stored	
  in	
  ACHReturns	
  file	
  described	
  in	
  Section	
  3.5.	
  	
  	
  A	
  file	
  
may	
  consist	
  of	
  one	
  or	
  more	
  list	
  or	
  array	
  of	
  return	
  records.	
  	
  Each	
  return	
  record	
  is	
  formatted	
  as	
  an	
  
ACHReturnRecord	
  (Section	
  3.4).	
  	
  	
  
	
  
This	
  is	
  the	
  recommended	
  way	
  to	
  check	
  for	
  status	
  of	
  transactions.	
  	
  Only	
  new	
  statuses	
  (not	
  previously	
  picked	
  
up)	
  	
  will	
  be	
  available	
  using	
  this	
  method.	
  	
  To	
  view	
  the	
  Request/Response	
  description	
  of	
  this	
  operation	
  go	
  to	
  
this	
  link:	
  http://tstsvr.achworks.com/dnet/achws.asmx?op=GetACHReturns	
  
	
  
Format:	
  
GetACHReturnsResult	
  =	
  GetACHReturns(InpCompanyInfo),	
  
	
  	
  	
  	
  	
  	
  where	
  GetACHReturnsResult	
  is	
  of	
  type	
  ACHReturns	
  (Section	
  3.5)	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  InpCompanyInfo	
  is	
  of	
  type	
  CompanyInfo	
  (Section	
  3.1)	
  	
  
	
  
Example:	
  	
  	
  
The	
  InpCompanyInfo	
  can	
  have	
  the	
  following	
  value,	
  
	
  	
  	
  InpCompanyInfo.SSS=”TST”	
  
	
  	
  	
  InpCompanyInfo.LocID=”9505”	
  
	
  	
  	
  InpCompanyInfo.Company=”MYCOMPANY”	
  
	
  	
  	
  InpCompanyInfo.CompanyKey=”SASD%!%$DGLJGWYRRDGDDUDFDESDHDD”	
  
	
  

and	
  the	
  GetACHReturnResult	
  object	
  may	
  have	
  the	
  following	
  value	
  after	
  the	
  method	
  call,	
  
	
  	
  	
  GetACHReturnResult.SSS-­‐>”TST”	
  
	
  	
  	
  GetACHReturnResult.LocID-­‐>”9502”	
  
	
  
	
  	
  	
  GetACHReturnResult.Status-­‐>”SUCCESS”	
  	
  
	
  	
  	
  GetACHReturnResult.Details	
  -­‐>	
  “Retrieved	
  14	
  records	
  on	
  04/16/2010	
  04:49:27	
  PM	
  Pacific	
  Time.	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Server	
  Processing	
  Time:<0.0001	
  ms”	
  
	
  	
  	
  GetACHReturnResult.TotalNumRecords	
  -­‐>	
  14	
  
	
  	
  	
  GetACHReturnResult.ACHReturnRecords[0].FrontEndTrace	
  -­‐>	
  “X35948”	
  
	
  	
  	
  GetACHReturnResult.ACHReturnRecords[0].ResponseCode	
  -­‐>	
  “1SNT”	
  
	
  	
  	
  GetACHReturnResult.ACHReturnRecords[0].TransAmount	
  -­‐>	
  356.45	
  
	
  	
  	
  GetACHReturnResult.ACHReturnRecords[0].EffectiveDate	
  -­‐>	
  “2010-­‐03-­‐05T00:00:00”	
  
	
  	
  	
  GetACHReturnResult.ACHReturnRecords[1].FrontEndTrace	
  -­‐>	
  “X35950”	
  
	
  	
  	
  GetACHReturnResult.ACHReturnRecords[1].ResponseCode	
  -­‐>	
  “1SNT”	
  
	
  	
  	
  GetACHReturnResult.ACHReturnRecords[1].TransAmount	
  -­‐>	
  50.25	
  
	
  	
  	
  GetACHReturnResult.ACHReturnRecords[1].EffectiveDate	
  -­‐>	
  “2010-­‐03-­‐05T00:00:00”	
  
	
  	
  	
  GetACHReturnResult.ACHReturnRecords[2].FrontEndTrace	
  -­‐>	
  “X35951”	
  
	
  	
  	
  GetACHReturnResult.ACHReturnRecords[2].ResponseCode	
  -­‐>	
  “2STL”	
  
	
  	
  	
  GetACHReturnResult.ACHReturnRecords[2].TransAmount	
  -­‐>	
  750.25	
  
	
  	
  	
  GetACHReturnResult.ACHReturnRecords[2].EffectiveDate	
  -­‐>	
  “2010-­‐03-­‐05T00:00:00”	
  	
  
	
  	
  	
  GetACHReturnResult.ACHReturnRecords[2].ActionDetail	
  -­‐>	
  “A340016R	
  Credit	
  01	
  TS	
  00001”	
  
	
  	
  	
  .	
  
.	
  
.	
  
.	
  
.	
  
	
  	
  	
  .	
  
.	
  
.	
  
.	
  
.	
  
	
  	
  	
  GetACHReturnResult.ACHReturnRecords[14].FrontEndTrace	
  -­‐>	
  “X78531”	
  
	
  	
  	
  .	
  
.	
  
.	
  
.	
  
.	
  
	
  	
  	
  .	
  
.	
  
.	
  
.	
  
.	
  

ACHWorks-­‐SOAP	
  Ver	
  4.0	
  	
  Guide	
  Copyright	
  ©	
  ACHWorks	
  2010.	
  All	
  Rights	
  Reserved.	
  

Page	
  11	
  of	
  83	
  

	
  	
  	
  GetACHReturnResult.ACHReturnRecords[14].ActionDetail	
  -­‐>	
  “A340016W	
  Credit	
  03	
  TS	
  00003”	
  
	
  
Or	
  if	
  no	
  data	
  to	
  retrieve,	
  
	
  	
  	
  GetACHReturnResult.SSS-­‐>”TST”	
  
	
  	
  	
  GetACHReturnResult.LocID-­‐>”9502”	
  
	
  
	
  	
  	
  GetACHReturnResult.Status-­‐>”SUCCESS”	
  	
  
	
  	
  GetACHReturnResult.Details	
  -­‐>	
  “No	
  records	
  to	
  retrieve	
  at	
  this	
  time,	
  04/20/2010	
  04:58:26	
  PM	
  Pacific	
  Time.	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Server	
  Processing	
  Time:<0.0001	
  ms”	
  

	
  

2.3.2	
  GetACHReturnsHist

	
  

	
  
This	
  method	
  is	
  used	
  to	
  retrieve	
  status	
  at	
  specified	
  date	
  range	
  of	
  Returns	
  and	
  Settlements	
  from	
  the	
  ACH	
  
system	
  for	
  a	
  transaction	
  or	
  set	
  of	
  transactions.	
  	
  	
  The	
  output	
  is	
  stored	
  in	
  ACHReturns	
  file	
  described	
  in	
  
Section	
  3.5.	
  	
  	
  A	
  file	
  may	
  consist	
  of	
  one	
  or	
  more	
  list	
  or	
  array	
  of	
  return	
  records.	
  	
  Each	
  return	
  record	
  is	
  
formatted	
  as	
  an	
  ACHReturnRecord	
  (Section	
  3.4).	
  	
  This	
  method	
  is	
  useful	
  for	
  rebuilding	
  historical	
  data	
  in	
  the	
  
event	
  of	
  hard	
  drive	
  failure	
  or	
  data	
  corruption.	
  	
  To	
  view	
  the	
  Request/Response	
  description	
  of	
  this	
  operation	
  
go	
  to	
  this	
  link:	
  http://tstsvr.achworks.com/dnet/achws.asmx?op=GetACHReturnsHist	
  
	
  
Format:	
  
GetACHReturnsHistResult	
  =	
  GetACHReturnsHist(InpCompanyInfo,ReturnDateFrom,ReturnDateTo),	
  
	
  	
  	
  	
  	
  	
  where	
  GetACHReturnsHistResult	
  is	
  of	
  type	
  ACHReturns	
  (Section	
  3.5)	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  InpCompanyInfo	
  is	
  of	
  type	
  CompanyInfo	
  (Section	
  3.1)	
  	
  
	
   	
  
	
  	
  	
  ReturnDateFrom	
  and	
  ReturnDateTo	
  are	
  of	
  type	
  dateTime	
  (please	
  refer	
  to	
  sample	
  codes	
  for	
  	
  
correct	
  implementation	
  of	
  dateTime	
  depending	
  on	
  the	
  development	
  platform)	
  
	
  
Example:	
  	
  	
  
The	
  InpCompanyInfo	
  can	
  have	
  the	
  following	
  value,	
  
	
  	
  	
  InpCompanyInfo.SSS=”TST”	
  
	
  	
  	
  InpCompanyInfo.LocID=”9505”	
  
	
  	
  	
  InpCompanyInfo.Company=”MYCOMPANY”	
  
	
  	
  	
  InpCompanyInfo.CompanyKey=”SASD%!%$DGLJGWYRRDGDDUDFDESDHDD”	
  
	
  

and	
  the	
  GetACHReturnHistResult	
  object	
  may	
  have	
  the	
  following	
  value	
  after	
  the	
  method	
  call,	
  
	
  	
  	
  GetACHReturnResultHist.SSS-­‐>”TST”	
  
	
  	
  	
  GetACHReturnResultHist.LocID-­‐>”9502”	
  
	
  
	
  	
  	
  GetACHReturnResultHist.Status-­‐>”SUCCESS”	
  	
  
	
  	
  	
  GetACHReturnResultHist.Details	
  -­‐>	
  “Retrieved	
  142	
  records	
  on	
  04/16/2010	
  04:49:27	
  PM	
  Pacific	
  Time.	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Server	
  Processing	
  Time:<0.0001	
  ms”	
  
	
  	
  	
  GetACHReturnResultHist.TotalNumRecords	
  -­‐>	
  142	
  
	
  	
  	
  GetACHReturnResultHist.ReturnDateFrom	
  –>“2010-­‐03-­‐25T00:00:00”	
  
	
  	
  	
  GetACHReturnResultHist.ReturnDateTo	
  –>“2010-­‐03-­‐29T00:00:00”	
  
	
  	
  	
  GetACHReturnResultHist.ACHReturnRecords[0].FrontEndTrace	
  -­‐>	
  “X35948”	
  
	
  	
  	
  GetACHReturnResultHist.ACHReturnRecords[0].ResponseCode	
  -­‐>	
  “1SNT”	
  
	
  	
  	
  GetACHReturnResultHist.ACHReturnRecords[0].TransAmount	
  -­‐>	
  356.45	
  
	
  	
  	
  GetACHReturnResultHist.ACHReturnRecords[0].EffectiveDate	
  -­‐>	
  “2010-­‐03-­‐05T00:00:00”	
  
	
  	
  	
  GetACHReturnResultHist.ACHReturnRecords[1].FrontEndTrace	
  -­‐>	
  “X35950”	
  
	
  	
  	
  GetACHReturnResultHist.ACHReturnRecords[1].ResponseCode	
  -­‐>	
  “1SNT”	
  
	
  	
  	
  GetACHReturnResultHist.ACHReturnRecords[1].TransAmount	
  -­‐>	
  50.25	
  
	
  	
  	
  GetACHReturnResultHist.ACHReturnRecords[1].EffectiveDate	
  -­‐>	
  “2010-­‐03-­‐05T00:00:00”	
  
	
  	
  	
  GetACHReturnResultHist.ACHReturnRecords[2].FrontEndTrace	
  -­‐>	
  “X35951”	
  

ACHWorks-­‐SOAP	
  Ver	
  4.0	
  	
  Guide	
  Copyright	
  ©	
  ACHWorks	
  2010.	
  All	
  Rights	
  Reserved.	
  

Page	
  12	
  of	
  83	
  

	
  	
  	
  GetACHReturnResultHist.ACHReturnRecords[2].ResponseCode	
  -­‐>	
  “2STL”	
  
	
  	
  	
  GetACHReturnResultHist.ACHReturnRecords[2].TransAmount	
  -­‐>	
  750.25	
  
	
  	
  	
  GetACHReturnResultHist.ACHReturnRecords[2].EffectiveDate	
  -­‐>	
  “2010-­‐03-­‐05T00:00:00”	
  	
  
	
  	
  	
  GetACHReturnResultHist.ACHReturnRecords[2].ActionDetail	
  -­‐>	
  “A340016R	
  Credit	
  01	
  TS	
  00001”	
  
	
  	
  	
  .	
  
.	
  
.	
  
.	
  
.	
  
	
  	
  	
  .	
  
.	
  
.	
  
.	
  
.	
  
	
  	
  	
  GetACHReturnResultHist.ACHReturnRecords[142].FrontEndTrace	
  -­‐>	
  “X78531”	
  
	
  	
  	
  .	
  
.	
  
.	
  
.	
  
.	
  
	
  	
  	
  .	
  
.	
  
.	
  
.	
  
.	
  
	
  	
  	
  GetACHReturnResultHist.ACHReturnRecords[142].ActionDetail	
  -­‐>	
  “A340016W	
  Credit	
  03	
  TS	
  00003”	
  
	
  
Or	
  if	
  no	
  data	
  to	
  retrieve,	
  
	
  	
  	
  GetACHReturnHistResult.SSS-­‐>”TST”	
  
	
  	
  	
  GetACHReturnHistResult.LocID-­‐>”9502”	
  
	
  
	
  	
  	
  GetACHReturnHistResult.Status-­‐>”SUCCESS”	
  	
  
	
  	
  GetACHReturnHistResult.Details	
  -­‐>	
  “No	
  records	
  to	
  retrieve	
  at	
  this	
  time,	
  04/20/2010	
  04:58:26	
  PM	
  Pacific	
  Time.	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Server	
  Processing	
  Time:<0.0001	
  ms”	
  
	
  

	
  
A	
  derivate	
  method	
  called	
  GetACHReturnsHistRC	
  can	
  be	
  used	
  to	
  retrieve	
  ACH	
  Settlements	
  and	
  Returns	
  by	
  
response	
  code.	
  	
  Response	
  codes	
  is	
  either	
  a	
  1SNT,	
  2STL,	
  3RET,	
  4INT,	
  5COR	
  or	
  9BNK	
  (see	
  Section	
  3.4.5).	
  
	
  
Format:	
  
GetACHReturnsHistRCResult	
  =	
  GetACHReturnsHistRC(InpCompanyInfo,ReturnDateFrom,ReturnDateTo,	
  	
  
	
  	
  	
  	
  InpResponseCode),	
  
	
  	
  	
  	
  	
  	
  where	
  GetACHReturnsHistRCResult	
  is	
  of	
  type	
  ACHReturns	
  (Section	
  3.5)	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  InpCompanyInfo	
  is	
  of	
  type	
  CompanyInfo	
  (Section	
  3.1)	
  	
  
	
   	
  
	
  	
  	
  ReturnDateFrom	
  and	
  ReturnDateTo	
  are	
  of	
  type	
  dateTime	
  (please	
  refer	
  to	
  sample	
  codes	
  for	
  	
  
correct	
  implementation	
  of	
  dateTime	
  depending	
  on	
  the	
  development	
  platform)	
  
	
  	
  	
  	
  InpResponseCode	
  is	
  of	
  type	
  String	
  (Section	
  3.4.5)	
  	
  
	
  
	
  
	
  
	
  

	
  
	
  
	
  
	
  
	
  

ACHWorks-­‐SOAP	
  Ver	
  4.0	
  	
  Guide	
  Copyright	
  ©	
  ACHWorks	
  2010.	
  All	
  Rights	
  Reserved.	
  

Page	
  13	
  of	
  83	
  

2.4.	
  Retrieving	
  Past	
  Connection	
  Results	
  and	
  Errors
2.4.1	
  GetResultFile

	
  

	
  

	
  
This	
  method	
  is	
  used	
  to	
  retrieve	
  past	
  results	
  of	
  connections.	
  	
  	
  The	
  output	
  is	
  stored	
  in	
  ResultFile	
  described	
  in	
  
Section	
  3.7.	
  	
  	
  A	
  file	
  may	
  consist	
  of	
  one	
  or	
  more	
  list	
  or	
  array	
  of	
  	
  result	
  records.	
  	
  Each	
  result	
  record	
  is	
  
formatted	
  as	
  a	
  TransResult	
  (Section	
  3.6).	
  	
  To	
  view	
  the	
  Request/Response	
  description	
  of	
  this	
  operation	
  go	
  
to	
  this	
  link:	
  http://tstsvr.achworks.com/dnet/achws.asmx?op=GetResultFile	
  
	
  
Format:	
  
GetResultFileResult	
  =	
  GetResultFile(InpCompanyInfo,ResultDateFrom,ResultDateTo),	
  
	
  	
  	
  	
  	
  	
  where	
  GetResultFileResult	
  is	
  of	
  type	
  ResultFile	
  (Section	
  3.7)	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  InpCompanyInfo	
  is	
  of	
  type	
  CompanyInfo	
  (Section	
  3.1)	
  	
  
	
   	
  
	
  	
  	
  ResultDateFrom	
  and	
  ResultDateTo	
  are	
  of	
  type	
  dateTime	
  (please	
  refer	
  to	
  sample	
  codes	
  for	
  	
  
correct	
  implementation	
  of	
  dateTime	
  depending	
  on	
  the	
  development	
  platform)	
  
	
  
Example:	
  	
  	
  
Calling	
  GetResultFile	
  may	
  have	
  following	
  values	
  for	
  the	
  GetResultFileResult	
  	
  object,	
  
	
  	
  	
  GetResultFileResult.SSS	
  -­‐>”TST”	
  
	
  	
  	
  GetResultFileResult.LocID	
  -­‐>”9505”	
  	
  	
  	
  
	
  	
  	
  GetResultFileResult.Status	
  -­‐>”SUCCESS”	
  
	
  	
  	
  GetResultFileResult.Details-­‐>”	
  Retrieved	
  15	
  connection	
  records	
  on	
  04/16/2010	
  02:53:16	
  PM	
  Pacific	
  Time	
  ….”	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
	
  	
  	
  GetResultFileResult.ResultDateFrom	
  –>“2010-­‐03-­‐25T00:00:00”	
  
	
  	
  	
  GetResultFileResult.ResultDateTo	
  –>“2010-­‐03-­‐29T00:00:00”	
  
	
  	
  	
  GetResultFileResult.TotalResultRecords	
  -­‐>15	
  
	
  	
  	
  GetResultFileResult.TransResults[0].CallMethod	
  -­‐>	
  “SendACHTransBatch”	
  
	
  	
  	
  GetResultFileResult.TransResults[0].Status	
  -­‐>	
  “SUCCESS”	
  
	
  	
  	
  GetResultFileResult.TransResults[0].FileName	
  -­‐>	
  “TST9505-­‐1003251B.XML”	
  
	
  	
  	
  GetResultFileResult.TransResults[1].CallMethod	
  -­‐>	
  “SendACHTransBatch”	
  
	
  	
  	
  GetResultFileResult.TransResults[1].Status	
  -­‐>	
  “SUCCESS”	
  
	
  	
  	
  GetResultFileResult.TransResults[1].FileName	
  -­‐>	
  “TST9505-­‐1003251C.XML”	
  
	
  	
  	
  GetResultFileResult.TransResults[2].CallMethod	
  -­‐>	
  “SendACHTrans”	
  
	
  	
  	
  GetResultFileResult.TransResults[2].Status	
  -­‐>	
  “SUCCESS”	
  
	
  	
  	
  GetResultFileResult.TransResults[2].FrontEndTrace	
  -­‐>	
  “X9000123310454”	
  
	
  	
  	
  .	
  
.	
  
	
  
	
  
.	
  
	
  
.	
  
	
  
.	
  
.	
   .	
  
.	
  
.	
  
	
  	
  	
  .	
  
.	
  
	
  
	
  
.	
  
	
  
.	
  
	
  
.	
  
.	
   .	
  
.	
  
.	
  
	
  	
  	
  GetResultFileResult.TransResults[15].CallMethod	
  -­‐>	
  “SendACHTransBatch”	
  
	
  	
  	
  GetResultFileResult.TransResults[15].Status	
  -­‐>	
  “REJECTED”	
  
	
  	
  	
  GetResultFileResult.TransResults[15].FileName	
  -­‐>	
  “TST9505-­‐10032515.XML”	
  

	
  
2.4.2	
  GetErrorFile

	
  

	
  
This	
  method	
  is	
  used	
  to	
  retrieve	
  past	
  errors	
  in	
  connections.	
  	
  	
  The	
  output	
  is	
  stored	
  in	
  ErrorFile	
  described	
  in	
  
Section	
  3.9.	
  	
  	
  A	
  file	
  may	
  consist	
  of	
  one	
  or	
  more	
  list	
  or	
  array	
  of	
  error	
  records.	
  	
  Each	
  error	
  record	
  is	
  formatted	
  
as	
  an	
  ErrorRecord	
  (Section	
  3.8).	
  	
  To	
  view	
  the	
  Request/Response	
  description	
  of	
  this	
  operation	
  go	
  to	
  this	
  
link:	
  http://tstsvr.achworks.com/dnet/achws.asmx?op=GetErrorFile	
  
	
  

ACHWorks-­‐SOAP	
  Ver	
  4.0	
  	
  Guide	
  Copyright	
  ©	
  ACHWorks	
  2010.	
  All	
  Rights	
  Reserved.	
  

Page	
  14	
  of	
  83	
  

Format:	
  
GetErrorFileResult	
  =	
  GetErrorFile(InpCompanyInfo,ErrorDateFrom,ErrorDateTo),	
  
	
  	
  	
  	
  	
  	
  where	
  GetErrorFileResult	
  is	
  of	
  type	
  ErrorFile	
  (Section	
  3.9)	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  InpCompanyInfo	
  is	
  of	
  type	
  CompanyInfo	
  (Section	
  3.1)	
  	
  
	
   	
  
	
  	
  	
  ErrorDateFrom	
  and	
  ErrorDateTo	
  are	
  of	
  type	
  dateTime	
  (please	
  refer	
  to	
  sample	
  codes	
  for	
  	
  
correct	
  implementation	
  of	
  dateTime	
  depending	
  on	
  the	
  development	
  platform)	
  
	
  
Example:	
  	
  	
  
Calling	
  GetErrorFile	
  may	
  have	
  following	
  values	
  for	
  the	
  GetErrorFileResult	
  	
  object,	
  
	
  	
  	
  GetErrorFileResult.SSS	
  -­‐>”TST”	
  
	
  
	
  	
  	
  GetErrorFileResult.LocID	
  -­‐>”9505”	
  
	
  	
  	
  GetErrorFileResult.Status	
  -­‐>”SUCCESS”	
  
	
  	
  	
  GetErrorFileResult.Details-­‐>”Retrieved	
  9	
  error	
  records	
  on	
  04/16/2010	
  02:09:39	
  PM	
  Pacific	
  Time	
  ….”	
  	
  
	
  	
  	
  GetErrorFileResult.ErrorDateFrom	
  –>“2010-­‐03-­‐25T00:00:00”	
  
	
  	
  	
  GetErrorFileResult.ErrorDateTo	
  –>“2010-­‐03-­‐29T00:00:00”	
  
	
  	
  	
  GetErrorFileResult.TotalErrorRecords	
  -­‐>9	
  
	
  	
  	
  GetErrorFileResult.ErrorRecords[0].CallMethod	
  -­‐>	
  “SendACHTrans”	
  
	
  	
  	
  GetErrorFileResult.ErrorRecords[0].FrontEndTrace	
  -­‐>	
  “XT-­‐23201”	
  
	
  	
  	
  GetErrorFileResult.ErrorRecords[0].TotalNumErrors	
  -­‐>	
  2	
  
	
  	
  	
  GetErrorFileResult.ErrorRecords[0].Errors[0]	
  -­‐>	
  “Error#1:CustomerRoutingNo	
  is	
  a	
  required	
  field.”	
  
	
  	
  	
  GetErrorFileResult.ErrorRecords[0].Errors[1]	
  -­‐>	
  “Error#2:Unable	
  to	
  complete	
  processing	
  of	
  data	
  due	
  to	
  error(s).”	
  
	
  	
  	
  GetErrorFileResult.ErrorRecords[1].CallMethod	
  -­‐>	
  “SendACHTransBatch”	
  
	
  	
  	
  GetErrorFileResult.ErrorRecords[1].FileName	
  -­‐>	
  “TST9505-­‐10032512.XML”	
  
	
  	
  	
  GetErrorFileResult.ErrorRecords[1].TotalNumErrors	
  -­‐>	
  2	
  
	
  	
  	
  GetErrorFileResult.ErrorRecords[1].Errors[0]	
  -­‐>	
  “Error#1:	
  Invalid	
  CustomerAcctType,	
  Rec#1.”	
  
	
  	
  	
  GetErrorFileResult.ErrorRecords[1].Errors[1]	
  -­‐>	
  “Error#2:Unable	
  to	
  complete	
  processing	
  of	
  data	
  due	
  to	
  error(s).”	
  
	
  	
  	
  .	
  
.	
  
	
  
	
  
.	
  
	
  
.	
  
	
  
.	
  
.	
   .	
  
.	
  
.	
  
	
  	
  	
  .	
  
.	
  
	
  
	
  
.	
  
	
  
.	
  
	
  
.	
  
.	
   .	
  
.	
  
.	
  
	
  	
  	
  GetErrorFileResult.ErrorRecords[9].CallMethod	
  -­‐>	
  “SendACHTransBatch”	
  
	
  	
  	
  GetErrorFileResult.ErrorRecords[9].FileName	
  -­‐>	
  “TST9505-­‐1003251A.XML”	
  
	
  	
  	
  GetErrorFileResult.ErrorRecords[9].TotalNumErrors	
  -­‐>	
  3	
  
	
  	
  	
  GetErrorFileResult.ErrorRecords[9].Errors[0]	
  -­‐>	
  “Error#1:	
  Invalid	
  CustomerAcctType,	
  Rec#1.”	
  
	
  	
  	
  GetErrorFileResult.ErrorRecords[9].Errors[1]	
  -­‐>	
  “Error#2:	
  TransAmount	
  has	
  invalid	
  or	
  zero	
  value,	
  Rec#1.”	
  
	
  	
  	
  GetErrorFileResult.ErrorRecords[9].Errors[2]	
  -­‐>	
  “Error#3:Unable	
  to	
  complete	
  processing	
  of	
  data	
  due	
  to	
  error(s).”	
  

	
  

ACHWorks-­‐SOAP	
  Ver	
  4.0	
  	
  Guide	
  Copyright	
  ©	
  ACHWorks	
  2010.	
  All	
  Rights	
  Reserved.	
  

Page	
  15	
  of	
  83	
  

2.5.	
  Viewing	
  and	
  Deleting	
  Batch	
  Transaction
2.5.1	
  ViewACHTransBatch

	
  

	
  

	
  
This	
  method	
  is	
  used	
  to	
  view	
  or	
  read	
  an	
  ACH	
  Batch	
  File	
  specified	
  by	
  the	
  ACHFileName.	
  	
  	
  The	
  output	
  is	
  stored	
  
in	
  an	
  ACHFile	
  described	
  in	
  Section	
  3.3.	
  	
  	
  A	
  file	
  may	
  consist	
  of	
  one	
  or	
  more	
  list	
  or	
  array	
  of	
  	
  ACHTransRecords.	
  	
  
Each	
  transaction	
  record	
  is	
  formatted	
  as	
  an	
  ACHTransRecord	
  (Section	
  3.2).	
  	
  To	
  view	
  the	
  Request/Response	
  
description,	
  go	
  to	
  this	
  link:	
  http://tstsvr.achworks.com/dnet/achws.asmx?op=ViewACHTransBatch	
  
	
  
	
  
Format:	
  
ViewACHTransBatchResult	
  =	
  ViewACHTransBatch(InpCompanyInfo,	
  InpACHFileName),	
  
	
  	
  	
  	
  	
  	
  where	
  ViewACHTransBatchResult	
  is	
  of	
  type	
  ACHFile	
  (Section	
  3.3)	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  InpCompanyInfo	
  is	
  of	
  type	
  CompanyInfo	
  (Section	
  3.1)	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  InpACHFileName	
  is	
  of	
  type	
  String	
  
	
  
	
  
	
  

2.5.2	
  DeleteACHTransBatch

	
  

	
  
This	
  method	
  is	
  used	
  to	
  delete	
  an	
  ACH	
  Batch	
  File	
  specified	
  by	
  the	
  ACHFileName	
  (if	
  it	
  still	
  possible	
  i.e.	
  file	
  not	
  
sent	
  yet	
  to	
  ACH	
  for	
  processing	
  or	
  not	
  previously	
  deleted).	
  	
  	
  	
  
	
  
Format:	
  
DeleteACHTransBatchResult	
  =	
  DeleteACHTransBatch(InpCompanyInfo,	
  InpACHFileName),	
  
	
  	
  	
  	
  	
  	
  where	
  DeleteACHTransBatchResult	
  is	
  of	
  type	
  TransResult	
  (Section	
  3.6)	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  InpCompanyInfo	
  is	
  of	
  type	
  CompanyInfo	
  (Section	
  3.1)	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  InpACHFileName	
  is	
  of	
  type	
  String	
  
	
  
To	
  view	
  the	
  Request/Response	
  description	
  of	
  this	
  operation	
  go	
  to	
  this	
  link:	
  	
  
http://tstsvr.achworks.com/dnet/achws.asmx?op=DeleteACHTransBatch	
  
	
  
Special	
  Note:	
  	
  Only	
  files	
  or	
  transactions	
  sent	
  via	
  the	
  SendACHTransBatch	
  and	
  SendACHTransBatchBIN	
  
methods	
  can	
  be	
  deleted	
  using	
  this	
  method.	
  	
  Deleting	
  a	
  single	
  transaction	
  (sent	
  using	
  SendACHTrans)	
  can	
  be	
  
separately	
  done	
  using	
  the	
  ACHWorks-­‐WEB	
  online	
  application,	
  	
  an	
  optional	
  but	
  useful	
  feature	
  for	
  online	
  
viewing	
  and	
  editing	
  of	
  transactions.	
  ACHWorks-­‐WEB	
  requires	
  a	
  separate	
  license.	
  

ACHWorks-­‐SOAP	
  Ver	
  4.0	
  	
  Guide	
  Copyright	
  ©	
  ACHWorks	
  2010.	
  All	
  Rights	
  Reserved.	
  

Page	
  16	
  of	
  83	
  

3.	
  Data	
  Definitions	
  
	
  
This	
  lists	
  the	
  data	
  types	
  for	
  input/output	
  in	
  using	
  the	
  ACHWorks-­‐SOAP	
  web	
  service.	
  	
  A	
  brief	
  description	
  is	
  
provided	
  for	
  each	
  method	
  to	
  complement	
  	
  the	
  service	
  description	
  (WSDL	
  url)	
  which	
  can	
  be	
  found	
  on	
  this	
  
link:	
  http://tstsvr.achworks.com/dnet/achws.asmx?WSDL	
  .	
  
	
  
Please	
  see	
  Section	
  3.10	
  for	
  required	
  field	
  types	
  and	
  lengths.	
  
	
  

3.1	
  CompanyInfo

	
  

	
  
The	
  CompanyInfo	
  serves	
  as	
  the	
  basic	
  company	
  credential	
  for	
  accessing	
  the	
  ACHWorks-­‐SOAP	
  web	
  service.	
  	
  	
  
This	
  is	
  a	
  required	
  input	
  for	
  each	
  method	
  or	
  operation.	
  	
  It	
  consists	
  of	
  SSS,	
  LocID,	
  Company	
  and	
  CompanyKey	
  
which	
  will	
  be	
  described	
  below.	
  
	
  

3.1.1	
  SSS	
  

SSS	
  is	
  a	
  3-­‐letter	
  code	
  furnished	
  to	
  registered	
  merchants.	
  	
  	
  For	
  sample	
  codes	
  and	
  for	
  using	
  the	
  test	
  server,	
  
the	
  value	
  ‘TST’	
  is	
  commonly	
  used.	
  

	
  
3.1.2	
  LocID	
  

LocID	
  is	
  a	
  4-­‐digit	
  alphanumeric	
  	
  code	
  furnished	
  to	
  registered	
  merchants.	
  	
  For	
  sample	
  codes	
  and	
  for	
  using	
  
the	
  test	
  server,	
  the	
  value	
  ‘9502’	
  	
  or	
  ‘9505’	
  is	
  commonly	
  used.	
  

	
  
3.1.3	
  Company	
  

Company	
  is	
  an	
  alpha-­‐numeric	
  user	
  ID	
  (used	
  as	
  username	
  for	
  the	
  service)	
  furnished	
  to	
  registered	
  
merchants.	
  	
  For	
  sample	
  codes	
  and	
  for	
  using	
  the	
  test	
  server,	
  the	
  value	
  ‘MY	
  COMPANY’	
  or	
  ‘THAT	
  COMPANY’	
  
is	
  commonly	
  used.	
  

	
  
3.1.4	
  CompanyKey	
  

CompanyKey	
  is	
  an	
  alpha-­‐numeric	
  user	
  KEY	
  (used	
  as	
  password	
  for	
  the	
  service)	
  furnished	
  to	
  registered	
  
merchants.	
  	
  	
  
	
  

3.2	
  ACHTransRecord

	
  

	
  
The	
  ACHTransRecord	
  	
  represents	
  the	
  basic	
  or	
  single	
  ACH	
  record	
  or	
  transaction.	
  	
  It	
  is	
  used	
  as	
  input	
  for	
  
sending	
  an	
  ACH	
  transaction	
  i.e.	
  using	
  the	
  SendACHTrans	
  method.	
  	
  It	
  consists	
  of	
  SSS,	
  LocID,	
  FrontEndTrace,	
  
OriginatorName,	
  TransactionCode,	
  CustTransType,	
  CustomerID,	
  CustomerName,	
  	
  CustomerRoutingNo,	
  
CustomerAcctNo,	
  TransAmount,	
  CheckOrCustID,	
  CheckOrTransDate,	
  EffectiveDate,	
  Memo,	
  OpCode,	
  and	
  
AccountSet	
  which	
  will	
  be	
  described	
  below.	
  	
  For	
  	
  details	
  on	
  the	
  field	
  types	
  and	
  format	
  please	
  refer	
  to	
  Table	
  
3.1.	
  

ACHWorks-­‐SOAP	
  Ver	
  4.0	
  	
  Guide	
  Copyright	
  ©	
  ACHWorks	
  2010.	
  All	
  Rights	
  Reserved.	
  

Page	
  17	
  of	
  83	
  

	
  

3.2.1	
  SSS	
  
SSS	
  is	
  a	
  3-­‐letter	
  code	
  furnished	
  to	
  registered	
  merchants.	
  	
  	
  For	
  sample	
  codes	
  and	
  for	
  using	
  the	
  test	
  server,	
  
the	
  value	
  ‘TST’	
  is	
  commonly	
  used.	
  

	
  
3.2.2	
  LocID	
  

LocID	
  is	
  a	
  4-­‐digit	
  alphanumeric	
  	
  code	
  furnished	
  to	
  registered	
  merchants.	
  	
  For	
  sample	
  codes	
  and	
  for	
  using	
  
the	
  test	
  server,	
  the	
  value	
  ‘9502’	
  	
  or	
  ‘9505’	
  is	
  commonly	
  used.	
  

	
  
3.2.3	
  FrontEndTrace	
  

The	
  FrontEndTrace	
  is	
  used	
  to	
  track	
  this	
  particular	
  	
  record	
  or	
  transaction.	
  	
  A	
  unique	
  value	
  should	
  be	
  used	
  
for	
  this	
  field.	
  	
  This	
  field	
  will	
  always	
  be	
  returned	
  for	
  referencing	
  this	
  record.	
  	
  Important	
  Note:	
  	
  The	
  
FrontEndTrace	
  number	
  should	
  not	
  start	
  with	
  the	
  character	
  W	
  to	
  ensure	
  uniqueness	
  especially	
  when	
  using	
  
the	
  SendACHTrans	
  method	
  (Transactions	
  entered	
  manually	
  through	
  ACHWorks-­‐WEB	
  automatically	
  be	
  
assigned	
  a	
  FrontEndTrace	
  beginning	
  with	
  the	
  char	
  “W”).	
  

	
  
3.2.4	
  OriginatorName	
  

The	
  OriginatorName	
  is	
  the	
  name	
  of	
  the	
  company	
  sending	
  the	
  transaction.	
  	
  This	
  is	
  typically	
  the	
  name	
  of	
  the	
  
company	
  that	
  owns	
  the	
  ACH	
  account	
  (or	
  it’s	
  abbreviation).	
  	
  This	
  name	
  will	
  appear	
  on	
  th	
  receiver	
  
(customer’s)	
  bank	
  statement.	
  	
  It	
  is	
  important	
  that	
  the	
  OriginatorName	
  or	
  Abbreviation	
  is	
  recognizable	
  by	
  
the	
  receiver	
  to	
  reduce	
  the	
  possibility	
  of	
  a	
  chargeback	
  for	
  unauthorized	
  transaction.	
  	
  For	
  RCK	
  transactions,	
  	
  
this	
  is	
  the	
  original	
  payee	
  in	
  the	
  Check	
  i.e.	
  the	
  name	
  written	
  on	
  the	
  ‘Pay	
  to	
  the	
  order	
  of’	
  line.	
  	
  

	
  
3.2.5	
  TransactionCode

The	
  TransactionCode	
  is	
  the	
  ACH	
  transaction	
  codes	
  such	
  as	
  PPD,	
  CCD,	
  TEL,	
  WEB,	
  RCK,	
  POS,	
  POP	
  and	
  ARC.	
  
The	
  code	
  indicates	
  what	
  type	
  of	
  authorization	
  has	
  been	
  obtained	
  to	
  approve	
  the	
  transaction.	
  The	
  most	
  
common	
  codes	
  are	
  PPD	
  which	
  is	
  a	
  signed	
  authorization	
  for	
  a	
  Debit	
  or	
  Credit	
  to	
  a	
  Personal	
  bank	
  account	
  and	
  
CCD	
  which	
  is	
  a	
  signed	
  authorization	
  do	
  Debit	
  or	
  Credit	
  a	
  business	
  bank	
  account.	
  WEB	
  is	
  used	
  for	
  
transactions	
  authorizations	
  obtained	
  from	
  consumers	
  through	
  the	
  internet	
  with	
  an	
  e-­‐signature.	
  TEL	
  is	
  for	
  
consumer	
  authorizations	
  obtained	
  over	
  the	
  telephone.	
  Please	
  contact	
  ACHWorks	
  for	
  assistance	
  in	
  
classifying	
  transactions	
  codes	
  to	
  be	
  used.	
  

	
  
3.2.6	
  CustTransType

	
  

CustTransType	
  is	
  the	
  transaction	
  type.	
  	
  It	
  indicates	
  if	
  it	
  is	
  a	
  debit	
  or	
  a	
  credit	
  to	
  the	
  receiver’s	
  account,	
  ‘D’	
  for	
  
debit	
  and	
  ‘C’	
  for	
  credit.

	
  
3.2.7	
  CustomerID

CustomerID	
  is	
  an	
  optional	
  field	
  for	
  assigning	
  a	
  unique	
  identifier	
  for	
  a	
  customer.	
  	
  

	
  

ACHWorks-­‐SOAP	
  Ver	
  4.0	
  	
  Guide	
  Copyright	
  ©	
  ACHWorks	
  2010.	
  All	
  Rights	
  Reserved.	
  

Page	
  18	
  of	
  83	
  

	
  

3.2.8	
  CustomerName
CustomerName	
  is	
  	
  the	
  name	
  of	
  the	
  customer.	
  	
  Preferred	
  format	
  is	
  Lastname,	
  	
  Firstname	
  and	
  all	
  caps.	
  	
  The	
  	
  
value	
  is	
  trimmed	
  to	
  the	
  maximum	
  length	
  allowed	
  by	
  the	
  ACH	
  which	
  	
  22	
  characters.	
  	
  	
  

	
  
3.2.9	
  CustomerRoutingNo

This	
  is	
  the	
  customer’s	
  9-­‐digit	
  Bank	
  Routing	
  Number.

	
  
3.2.10	
  CustomerAcctNo

This	
  is	
  the	
  customer’s	
  Bank	
  Account	
  Number.

	
  
3.2.11	
  CustomerAcctType

	
  

	
  
	
  

This	
  is	
  the	
  customer’s	
  Bank	
  Account	
  Type	
  either	
  ‘C’	
  for	
  checking	
  account	
  or	
  ‘S’	
  for	
  savings	
  account.

	
  
3.2.12	
  TransAmount

TransAmount	
  is	
  the	
  amount	
  of	
  the	
  transaction	
  in	
  US	
  dollars,	
  e.g.	
  575.45	
  

	
  
3.2.13	
  CheckOrCustID

CheckOrCustID	
  is	
  the	
  check	
  number.	
  	
  This	
  field	
  may	
  contain	
  the	
  CustomerID	
  if	
  no	
  value	
  is	
  provided.

	
  
3.2.14	
  CheckOrTransDate

	
  

CheckOrTransDate	
  is	
  the	
  original	
  date	
  printed	
  on	
  the	
  Check	
  or	
  usually	
  the	
  date	
  of	
  the	
  transaction.	
  

	
  
3.2.15	
  EffectiveDate

EffectiveDate	
  is	
  the	
  date	
  that	
  you	
  want	
  this	
  transaction	
  submitted	
  to	
  the	
  ACH	
  system.	
  	
  If	
  date	
  is	
  ahead	
  of	
  
current	
  date,	
  the	
  transaction	
  will	
  be	
  warehoused	
  in	
  our	
  server.	
  

	
  
3.2.16	
  Memo

	
  

The	
  memo	
  is	
  the	
  ten	
  character	
  field	
  which	
  will	
  appear	
  on	
  the	
  customer’s	
  bank	
  statement.	
  	
  

	
  
3.2.17	
  OpCode

	
  

OpCode	
  is	
  an	
  optional	
  code	
  which	
  is	
  either	
  ‘S’	
  	
  for	
  single	
  entry	
  (default)	
  or	
  ‘R’	
  for	
  recurring	
  entry.	
  	
  This	
  code	
  
is	
  required	
  for	
  POS	
  and	
  WEB	
  TransactionCodes.

	
  
	
  
	
  

ACHWorks-­‐SOAP	
  Ver	
  4.0	
  	
  Guide	
  Copyright	
  ©	
  ACHWorks	
  2010.	
  All	
  Rights	
  Reserved.	
  

Page	
  19	
  of	
  83	
  

3.2.18	
  AccountSet
This	
  value	
  is	
  furnished	
  for	
  registered	
  merchants.	
  A	
  merchant	
  may	
  have	
  multiple	
  Account	
  Set	
  numbers	
  for	
  
each	
  of	
  the	
  merchant’s	
  bank	
  accounts	
  registered	
  with	
  ACHWorks,	
  a	
  corresponding	
  Account	
  Set	
  number	
  will	
  
be	
  defined	
  in	
  the	
  server.	
  I.E.	
  Account	
  set	
  1	
  is	
  your	
  B	
  of	
  A	
  account,	
  Account	
  Set	
  2	
  is	
  your	
  Wells	
  Fargo	
  account,	
  
etc.	
  
	
  
	
  

	
  

3.3	
  ACHFile

	
  
The	
  ACHFile	
  	
  represents	
  the	
  file	
  with	
  elements	
  or	
  fields	
  that	
  describe	
  an	
  ACH	
  file.	
  	
  It	
  contains	
  the	
  batch	
  of	
  
transactions	
  in	
  the	
  form	
  ACHRecords	
  (same	
  as	
  the	
  list	
  or	
  array	
  of	
  ACHTransRecord’s).	
  	
  It	
  is	
  used	
  as	
  input	
  
for	
  sending	
  batch	
  of	
  ACH	
  transactions	
  i.e.	
  using	
  the	
  SendACHTransBatch	
  method.	
  	
  It	
  consists	
  of	
  SSS,	
  LocID,	
  
ACHFileName,	
  TotalNumRecords,	
  TotalDebitRecords,	
  TotalCreditRecords,	
  TotalDebitAmount,	
  
TotalCreditAmount	
  and	
  the	
  ACHRecords	
  which	
  will	
  be	
  described	
  below.	
  	
  	
  
	
  
	
  

3.3.1	
  SSS	
  

SSS	
  is	
  a	
  3-­‐letter	
  code	
  furnished	
  to	
  registered	
  merchants.	
  	
  	
  For	
  sample	
  codes	
  and	
  for	
  using	
  the	
  test	
  server,	
  
the	
  value	
  ‘TST’	
  is	
  commonly	
  used.	
  
	
  

3.3.2	
  LocID	
  

LocID	
  is	
  a	
  4-­‐digit	
  alphanumeric	
  	
  code	
  furnished	
  to	
  registered	
  merchants.	
  	
  For	
  sample	
  codes	
  and	
  for	
  using	
  
the	
  test	
  server,	
  the	
  value	
  ‘9502’	
  	
  or	
  ‘9505’	
  is	
  commonly	
  used.	
  
	
  

3.3.3	
  ACHFileName	
  

ACHFileName	
  is	
  the	
  unique	
  filename	
  of	
  the	
  batch	
  with	
  the	
  following	
  format:	
  
	
   	
  
SSSLLLL-­‐YYmmddAA	
  +	
  	
  ‘.XML’,	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  where	
  SSS	
  is	
  the	
  SSS	
  field	
  (see	
  3.3.1	
  above)	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  LLL	
  is	
  the	
  LocID	
  field	
  (3.3.2	
  above)	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  YYmmdd	
  (string	
  format	
  of	
  the	
  date	
  of	
  sending	
  the	
  file)	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  AA	
  is	
  an	
  alphanumeric	
  modifier	
  to	
  the	
  name	
  we	
  recommend	
  iterating	
  it	
  	
  
(AA,	
  AB,	
  AC,	
  A9	
  ...	
  BA,	
  BB,	
  BC,	
  B9	
  ...	
  ZZ,	
  Z9)	
  etc.	
  
	
  
Important	
  Note:	
  	
  If	
  you	
  want	
  the	
  system	
  to	
  automatically	
  create	
  a	
  unique	
  filename	
  for	
  you,	
  leave	
  the	
  
ACHFileName	
  blank.	
  
	
  

3.3.4	
  TotalNumRecords	
  

TotalNumRecords	
  is	
  the	
  total	
  number	
  of	
  records	
  (ACHTransRecord)	
  in	
  the	
  batch	
  file.	
  
	
  

3.3.5	
  TotalDebitRecords	
  

TotalDebitRecords	
  is	
  the	
  total	
  number	
  of	
  debit	
  transaction	
  records	
  (ACHTransRecord)	
  in	
  the	
  batch	
  file.	
  
	
  

ACHWorks-­‐SOAP	
  Ver	
  4.0	
  	
  Guide	
  Copyright	
  ©	
  ACHWorks	
  2010.	
  All	
  Rights	
  Reserved.	
  

Page	
  20	
  of	
  83	
  

3.3.6	
  TotalCreditRecords	
  
TotalCreditRecords	
  is	
  the	
  total	
  number	
  of	
  credit	
  transaction	
  records	
  (ACHTransRecord)	
  in	
  the	
  batch	
  file.	
  
	
  

3.3.7	
  TotalDebitAmount	
  

TotalDebitAmount	
  is	
  the	
  total	
  amount	
  of	
  debit	
  transaction	
  records	
  (ACHTransRecord)	
  in	
  the	
  batch	
  file.	
  
	
  

3.3.8	
  TotalCreditAmount	
  

TotalCreditAmount	
  is	
  the	
  total	
  amount	
  of	
  credit	
  transaction	
  records	
  (ACHTransRecord)	
  in	
  the	
  batch	
  file.	
  
	
  

3.3.9	
  ACHRecords	
  

	
  
ACHRecords	
  is	
  the	
  list	
  or	
  array	
  of	
  ACHTransRecord’s	
  in	
  the	
  batch	
  file	
  (ArrayOfACHTransRecord).	
  	
  	
  See	
  
Section	
  3.2	
  above	
  for	
  the	
  data	
  structure	
  of	
  ACHTransRecord.	
  	
  	
  Again,	
  the	
  use	
  of	
  this	
  field	
  is	
  best	
  understood	
  
by	
  looking	
  at	
  the	
  WSDL	
  and/or	
  the	
  classes	
  generated	
  from	
  WSDL;	
  and	
  looking	
  at	
  the	
  sample	
  codes	
  given	
  in	
  
Appendix	
  A2	
  of	
  this	
  guide.	
  

	
  
3.4	
  ACHReturnRecord

	
  

	
  
The	
  ACHReturnRecord	
  	
  represents	
  the	
  basic	
  or	
  single	
  ACH	
  return	
  and/or	
  settlement	
  record.	
  	
  It	
  is	
  a	
  unit	
  
record	
  for	
  an	
  ACH	
  return	
  or	
  settlement	
  e.g.	
  using	
  the	
  GetACHReturns	
  method.	
  	
  It	
  consists	
  of	
  SSS,	
  LocID,	
  
SourceFile,	
  FrontEndTrace,	
  ResponseCode,	
  CustTransType,	
  BackEndSN,	
  CustomerName,	
  	
  TransAmount,	
  
EffectiveDate,	
  ActionDate	
  and	
  ActionDetail	
  which	
  will	
  be	
  described	
  below.	
  	
  For	
  	
  details	
  on	
  the	
  field	
  types	
  
and	
  format	
  please	
  refer	
  to	
  Table	
  3.2.	
  
	
  

3.4.1	
  SSS	
  

SSS	
  is	
  a	
  3-­‐letter	
  code	
  furnished	
  to	
  registered	
  merchants.	
  	
  	
  For	
  sample	
  codes	
  and	
  for	
  using	
  the	
  test	
  server,	
  
the	
  value	
  ‘TST’	
  is	
  commonly	
  used.	
  
	
  

3.4.2	
  LocID	
  

LocID	
  is	
  a	
  4-­‐digit	
  alphanumeric	
  	
  code	
  furnished	
  to	
  registered	
  merchants.	
  	
  For	
  sample	
  codes	
  and	
  for	
  using	
  
the	
  test	
  server,	
  the	
  value	
  ‘9502’	
  	
  or	
  ‘9505’	
  is	
  commonly	
  used.	
  
	
  

3.4.3	
  FrontEndTrace	
  

The	
  FrontEndTrace	
  is	
  tracking	
  ID	
  of	
  this	
  particular	
  	
  record	
  or	
  transaction	
  when	
  it	
  was	
  sent	
  or	
  submitted	
  to	
  
the	
  ACH.	
  	
  	
  
	
  

3.4.4	
  SourceFile	
  

This	
  is	
  the	
  source	
  file	
  name	
  of	
  the	
  returns.	
  	
  This	
  is	
  for	
  	
  internal	
  use	
  and	
  can	
  be	
  used	
  for	
  tracking	
  purposes.	
  
	
  

ACHWorks-­‐SOAP	
  Ver	
  4.0	
  	
  Guide	
  Copyright	
  ©	
  ACHWorks	
  2010.	
  All	
  Rights	
  Reserved.	
  

Page	
  21	
  of	
  83	
  

3.4.5	
  ResponseCode	
  
The	
  response	
  codes	
  values	
  are	
  defined	
  and	
  described	
  as	
  follows:	
  
	
  
Value	
   Description	
  
1SNT:	
  	
  	
  	
   The	
  transaction	
  was	
  sent	
  to	
  the	
  ACH	
  system	
  
2STL:	
   This	
  transaction	
  was	
  settled;	
  i.e.	
  as	
  a	
  result	
  of	
  this	
  transaction:	
  either	
  (a)	
  money	
  was	
  credited	
  to	
  
you	
  or	
  your	
  customer,	
  depending	
  on	
  transaction	
  type;	
  or(	
  b)	
  money	
  was	
  credited	
  or	
  debited	
  to	
  
you	
  as	
  a	
  result	
  of	
  a	
  return	
  on	
  this	
  transaction;	
  
3RET:	
  	
  	
  	
   A	
  return	
  from	
  the	
  ACH	
  was	
  received	
  for	
  this	
  transaction.	
  	
  The	
  ActionDetail	
  (Section	
  3.4.11	
  below)	
  	
  
	
   	
  
contains	
  the	
  Return	
  Code.	
  
4INT:	
  	
  	
  	
   ACHWorks	
  determined	
  that	
  this	
  transaction	
  cannot	
  be	
  processed	
  and	
  is	
  returned	
  to	
  you.	
  	
  The	
  
	
   	
  
The	
  ActionDetail	
  (Section	
  3.4.11	
  below)	
  contains	
  the	
  Internal	
  Return	
  Code.	
  
5COR:	
  	
  	
  	
   A	
  correction	
  or	
  notice	
  of	
  change	
  was	
  received	
  from	
  the	
  ACH.	
  	
  The	
  ActionDetail	
  (Section	
  3.4.11	
  	
  
below)	
  	
  contains	
  the	
  notice	
  of	
  change	
  or	
  correction	
  code.	
  
9BNK:	
  	
  	
  	
  This	
  represent	
  Total	
  Debit	
  or	
  Credit	
  on	
  your	
  account	
  as	
  a	
  result	
  of	
  various	
  settlements	
  (2STL.	
  	
  The	
  	
  
9BNK	
  transaction	
  should	
  match	
  your	
  bank	
  statement	
  exactly	
  and	
  can	
  be	
  used	
  to	
  reconcile	
  your	
  	
  
bank	
  statement	
  with	
  your	
  ACH	
  transactions.	
  
	
  

3.4.6	
  CustTransType

	
  

CustTransType	
  is	
  the	
  transaction	
  type.	
  	
  The	
  value	
  is	
  either	
  ‘D’	
  for	
  debit	
  customer	
  account	
  or	
  ‘C’	
  for	
  credit	
  
customer	
  account.	
  	
  If	
  the	
  ResponseCode	
  value	
  is	
  9BNK,	
  	
  CustTransType	
  is	
  set	
  to	
  blank.

	
  
3.4.7	
  CustomerName

CustomerName	
  is	
  	
  the	
  name	
  of	
  the	
  customer.	
  	
  The	
  	
  value,	
  when	
  transaction	
  is	
  first	
  sent,	
  	
  is	
  trimmed	
  to	
  the	
  
maximum	
  length	
  allowed	
  by	
  the	
  ACH	
  which	
  	
  22	
  characters.	
  	
  	
  
	
  

3.4.8	
  TransAmount

TransAmount	
  is	
  the	
  amount	
  of	
  the	
  transaction	
  in	
  US	
  dollars,	
  e.g.	
  575.45	
  
	
  

3.4.9	
  EffectiveDate

EffectiveDate	
  is	
  the	
  date	
  when	
  the	
  transaction	
  was	
  first	
  submitted	
  to	
  the	
  ACH	
  system.	
  	
  	
  
	
  

3.4.10	
  ActionDate

ActionDate	
  is	
  the	
  date	
  which	
  has	
  a	
  value	
  depending	
  on	
  the	
  ResponseCode	
  (Section	
  3.4.5).	
  	
  It	
  is	
  very	
  useful	
  
to	
  the	
  user	
  in	
  determining	
  the	
  order	
  of	
  events	
  when	
  reviewing	
  or	
  investigating	
  a	
  transaction.	
  
	
  
ResponseCode	
  	
  
ActionDate	
  
1SNT:	
   	
  
	
  
Date	
  transaction	
  is	
  sent	
  to	
  ACH	
  
2STL:	
   	
  
	
  
Date	
  transaction	
  was	
  settled	
  
3RET:	
   	
  
	
  
Date	
  transaction	
  was	
  returned	
  bay	
  ACH	
  Receiver	
  Bank	
  
4INT:	
   	
  
	
  
Date	
  transaction	
  was	
  not	
  processed	
  and	
  returned	
  
5COR:	
   	
  
	
  
Date	
  correction	
  was	
  received	
  from	
  the	
  ACH	
  

ACHWorks-­‐SOAP	
  Ver	
  4.0	
  	
  Guide	
  Copyright	
  ©	
  ACHWorks	
  2010.	
  All	
  Rights	
  Reserved.	
  

Page	
  22	
  of	
  83	
  

9BNK:	
   	
  
	
  

	
  

Date	
  money	
  was	
  credited	
  or	
  debited	
  to	
  your	
  bank	
  

3.4.11	
  ActionDetail
ActionDetail	
  contains	
  a	
  string	
  of	
  32	
  characters	
  and	
  has	
  a	
  value	
  depending	
  on	
  the	
  ResponseCode	
  (Section	
  
3.4.5):	
  
	
  
ResponseCode	
  	
  
ActionDetail	
  
1SNT:	
   	
  
	
  
This	
  field	
  is	
  blank	
  
2STL:	
   	
  
	
  
Contains	
  a	
  settlement	
  ID	
  by	
  which	
  this	
  transaction	
  was	
  settled,	
  and	
  a	
  debit	
  or	
  
	
   	
  
	
  
	
  
credit	
  was	
  done	
  into	
  your	
  bank	
  account.	
  	
  The	
  format	
  for	
  this	
  is:	
  
	
  
	
   	
  
	
  
	
  
“AAAAAAAA	
  BBBBBB	
  CC	
  DD	
  EEEEE”	
  ,	
  	
  where	
  
	
   	
  
	
  
	
  
	
  
AAAAAAAA	
  =	
  8	
  chars,	
  	
  is	
  the	
  settlement	
  ID	
  which	
  also	
  appears	
  on	
  your	
  
	
   	
  
	
  
	
  
	
  
	
  
Bank	
  statement.	
  	
  You	
  can	
  use	
  this	
  to	
  reconcile	
  with	
  your	
  bank	
  
	
   	
  
	
  
	
  
	
  
	
  
Statement.	
  
	
   	
  
	
  
	
  
	
  
BBBBBB	
  =	
  6	
  chars,	
  either	
  “DEBIT”	
  or	
  “CREDIT”	
  which	
  refers	
  to	
  DEBIT/	
  
	
   	
  
	
  
	
  
	
  
	
  
CREDIT	
  to	
  your	
  bank	
  account	
  
	
   	
  
	
  
	
  
	
  
CC	
  =	
  2	
  chars,	
  your	
  AccountSet	
  (see	
  Section	
  3.2.18)	
  by	
  which	
  this	
  transaction	
  	
  
was	
  settled.	
  	
  If	
  this	
  is	
  blank,	
  look	
  for	
  the	
  value	
  in	
  EEEEE	
  
	
   	
  
	
  
	
  
	
  
DD	
  =	
  2	
  chars,	
  either	
  “TS”	
  or	
  “RS”.	
  	
  TS	
  refers	
  to	
  settlement	
  of	
  this	
  	
  
	
   	
  
	
  
	
  
	
  
	
  
Transaction	
  when	
  it	
  clears.	
  RS	
  is	
  when	
  a	
  late	
  return	
  was	
  received	
  
	
   	
  
	
  
	
  
	
  
	
  
on	
  a	
  transaction	
  which	
  was	
  previously	
  settled.	
  
	
   	
  
	
  
	
  
	
  
EEEEE	
  =	
  your	
  AccountSet	
  (see	
  Section	
  3.2.18)	
  by	
  which	
  this	
  transaction	
  	
  
	
   	
  
	
  
	
  
	
  
	
  
was	
  settled.	
   	
  
	
  
3RET:	
   	
  
	
  
Contains	
  the	
  Return	
  Code	
  from	
  ACH.	
  	
  Some	
  of	
  the	
  most	
  common	
  Return	
  Codes	
  are:	
  
	
   	
  
	
  
	
  
R01	
  –	
  Insufficient	
  Funds	
  
	
   	
  
	
  
	
  
R02	
  –	
  Closed	
  Account	
  
	
   	
  
	
  
	
  
R03	
  –	
  No	
  Account	
  
	
   	
  
	
  
	
  
R04	
  -­‐	
  	
  Invalid	
  Account	
  Number	
  
R09	
  –	
  Uncollected	
  Funds	
  
	
  
Please	
  contact	
  ACHWorks	
  for	
  a	
  complete	
  list	
  of	
  Return	
  Codes.	
  	
  	
  	
  
	
  
4INT:	
   	
  
	
  
Contains	
  the	
  Internal	
  Return	
  Code	
  from	
  ACHWorks.	
  	
  	
  Some	
  of	
  the	
  most	
  	
  
common	
  Internal	
  Return	
  Codes	
  are:	
  
	
   	
  
	
  
	
  
X01	
  –	
  Insufficient	
  Funds	
  
	
   	
  
	
  
	
  
X02	
  –	
  Closed	
  Account	
  
	
   	
  
	
  
	
  
X03	
  –	
  No	
  Account	
  
	
   	
  
	
  
	
  
X04	
  -­‐	
  	
  Invalid	
  Account	
  Number	
  
	
  
Please	
  contact	
  ACHWorks	
  for	
  a	
  complete	
  list	
  of	
  Internal	
  Return	
  Codes.	
  	
  	
  	
  
	
  
5COR:	
   	
  
	
  
Contains	
  the	
  correction	
  code	
  and	
  values	
  from	
  the	
  ACH.	
  	
  Of	
  the	
  32	
  characters	
  of	
  
the	
  ActionDetail,	
  the	
  first	
  3	
  characters	
  is	
  the	
  Correction	
  Code.	
  	
  The	
  remaining	
  29	
  	
  

ACHWorks-­‐SOAP	
  Ver	
  4.0	
  	
  Guide	
  Copyright	
  ©	
  ACHWorks	
  2010.	
  All	
  Rights	
  Reserved.	
  

Page	
  23	
  of	
  83	
  

	
   	
  

	
  

	
  

	
   	
  

	
  

	
  

	
   	
  

	
  

	
  

	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
	
  
9BNK:	
  
	
   	
  
	
   	
  
	
  
	
  

	
  

	
  

characters	
  contains	
  the	
  correction	
  value.	
  	
  If	
  the	
  Correction	
  Code	
  is:	
  
	
  
C03	
  (Incorrect	
  Routing	
  and	
  Acct	
  No),	
  	
  the	
  correction	
  routing	
  number	
  is	
  contained	
  
	
  
from	
  the	
  4th	
  to	
  the	
  12th	
  character.	
  	
  The	
  correction	
  account	
  number	
  is	
  	
  
contained	
  from	
  the	
  16th	
  to	
  32nd	
  (the	
  last	
  character).	
  
C06,	
  the	
  correction	
  account	
  number	
  is	
  contained	
  from	
  the	
  4th	
  to	
  the	
  20th	
  character.	
  	
  	
  
The	
  correction	
  transaction	
  code	
  is	
  contained	
  from	
  24th	
  to	
  25th	
  character.	
  
C07,	
  the	
  correction	
  routing	
  number	
  is	
  contained	
  from	
  the	
  4th	
  to	
  the	
  12th	
  character.	
  
The	
  correction	
  account	
  number	
  is	
  contained	
  from	
  the	
  13th	
  to	
  the	
  29th	
  
character.	
  	
  The	
  correction	
  transaction	
  code	
  is	
  contained	
  from	
  30th	
  	
  to	
  31st	
  	
  
character.	
  
	
  
	
  
	
  
Please	
  contact	
  ACHWorks	
  for	
  a	
  complete	
  list	
  of	
  Correction	
  Codes.	
  	
  

	
  
	
  
	
  

	
  
	
  
	
  

Refer	
  to	
  a	
  settlement	
  ID	
  that	
  would	
  also	
  appear	
  on	
  your	
  bank	
  statement.	
  	
  This	
  
corresponds	
  to	
  a	
  collection	
  of	
  your	
  transactions	
  (2STL)	
  with	
  the	
  same	
  settlement	
  	
  
IDs.	
  	
  Use	
  this	
  to	
  reconcile	
  with	
  your	
  bank	
  statement.	
  

	
  
3.5	
  ACHReturns

	
  

	
  
The	
  ACHReturns	
  	
  represents	
  the	
  file	
  with	
  elements	
  or	
  fields	
  that	
  describe	
  an	
  ACH	
  return	
  file.	
  	
  It	
  contains	
  
one	
  or	
  more	
  records	
  of	
  ACH	
  returns	
  as	
  ACHReturnRecords	
  (same	
  as	
  the	
  list	
  or	
  array	
  of	
  
ACHReturnRecord’s).	
  	
  It	
  serves	
  as	
  the	
  output	
  in	
  getting	
  ACH	
  returns	
  i.e.	
  using	
  the	
  GetACHReturns	
  or	
  
GetACHReturnsHist	
  method.	
  	
  It	
  consists	
  of	
  SSS,	
  LocID,	
  	
  Status,	
  Details,	
  TotalNumRecords,	
  ReturnDateFrom,	
  
ReturnDateTo,	
  TotalNumErrors,	
  Errors,	
  and	
  ACHReturnRecords	
  which	
  will	
  be	
  described	
  below.	
  	
  	
  
	
  

3.5.1	
  SSS	
  

SSS	
  is	
  a	
  3-­‐letter	
  code	
  furnished	
  to	
  registered	
  merchants.	
  	
  	
  	
  
	
  

3.5.2	
  LocID	
  

LocID	
  is	
  a	
  4-­‐digit	
  alphanumeric	
  	
  code	
  furnished	
  to	
  registered	
  merchants.	
  	
  	
  
	
  

3.5.3	
  Status	
  

The	
  Status	
  describes	
  the	
  result	
  of	
  calling	
  the	
  GetACHReturns	
  	
  and	
  GetACHReturnsHist	
  methods.	
  
	
  

3.5.4	
  Details	
  

This	
  field	
  desribe	
  the	
  details	
  of	
  the	
  Status	
  when	
  calling	
  the	
  GetACHReturns	
  	
  and	
  GetACHReturnsHist	
  
methods.	
  
	
  
	
  

ACHWorks-­‐SOAP	
  Ver	
  4.0	
  	
  Guide	
  Copyright	
  ©	
  ACHWorks	
  2010.	
  All	
  Rights	
  Reserved.	
  

Page	
  24	
  of	
  83	
  

3.5.5	
  TotalNumRecords	
  
This	
  is	
  the	
  total	
  number	
  of	
  	
  returns	
  or	
  ACHReturnRecords.	
  
	
  

3.5.6	
  ReturnDateFrom	
  

The	
  	
  specified	
  start	
  return	
  date	
  for	
  getting	
  a	
  set	
  of	
  ACHReturnRecords	
  for	
  this	
  LocID.	
  
	
  

3.5.7	
  ReturnDateTo	
  

The	
  specified	
  end	
  return	
  date	
  for	
  getting	
  a	
  set	
  of	
  ACHReturnRecords	
  for	
  this	
  LocID.	
  
	
  

3.5.8	
  TotalNumErrors	
  

This	
  is	
  the	
  total	
  number	
  of	
  errors	
  encountered	
  as	
  a	
  result	
  of	
  getting	
  the	
  ACHReturnRecords.	
  
	
  

3.5.9	
  Errors	
  

List	
  of	
  errors	
  as	
  an	
  array	
  of	
  String.	
  
	
  

3.5.10	
  ACHReturnRecords	
  
List	
  of	
  all	
  the	
  ACH	
  returns	
  and/or	
  settlements	
  as	
  an	
  array	
  of	
  ACHReturnRecord	
  
(ArrayOfACHReturnRecord).	
  	
  See	
  Section	
  3.4	
  above	
  for	
  the	
  data	
  structure	
  of	
  ACHReturnRecord.	
  Again,	
  this	
  
field	
  is	
  best	
  understood	
  by	
  looking	
  at	
  the	
  WSDL	
  and/or	
  the	
  classes	
  generated	
  from	
  WSDL;	
  and	
  looking	
  at	
  
the	
  sample	
  codes	
  given	
  in	
  Appendix	
  A2	
  of	
  this	
  guide.	
  

	
  
3.6	
  TransResult

	
  

	
  
TransResult	
  is	
  the	
  data	
  structure	
  of	
  the	
  result	
  or	
  response	
  when	
  calling	
  send	
  methods	
  or	
  operations	
  e.g.	
  
SendACHTrans	
  or	
  SendACHTransBatch.	
  	
  It	
  consists	
  of	
  SSS,	
  LocID,	
  	
  Status,	
  Details,	
  CallMethod,	
  FileName,	
  
FrontEndTrace,	
  TotalNumErrors	
  and	
  Errors	
  which	
  will	
  be	
  described	
  below.	
  	
  	
  
	
  

3.6.1	
  SSS	
  

SSS	
  is	
  a	
  3-­‐letter	
  code	
  furnished	
  to	
  registered	
  merchants.	
  	
  	
  This	
  value	
  is	
  returned	
  when	
  doing	
  a	
  ‘send’	
  
method	
  call.	
  
	
  

3.6.2	
  LocID	
  

LocID	
  is	
  a	
  4-­‐digit	
  alphanumeric	
  	
  code	
  furnished	
  to	
  registered	
  merchants.	
  	
  This	
  value	
  is	
  returned	
  when	
  
doing	
  a	
  ‘send’	
  method	
  call.	
  
	
  

3.6.3	
  Status	
  

This	
  field	
  shows	
  the	
  connection	
  status	
  of	
  doing	
  a	
  ‘send’	
  method	
  call.	
  	
  The	
  value	
  is	
  either	
  a	
  ‘SUCCESS’	
  or	
  a	
  
‘REJECT’.	
  
	
  

ACHWorks-­‐SOAP	
  Ver	
  4.0	
  	
  Guide	
  Copyright	
  ©	
  ACHWorks	
  2010.	
  All	
  Rights	
  Reserved.	
  

Page	
  25	
  of	
  83	
  

	
  
	
  
	
  

	
  

3.6.4	
  Details	
  
This	
  field	
  describe	
  in	
  detail	
  the	
  conection	
  status	
  in	
  doing	
  a	
  ‘send’	
  method	
  call.	
  
Example:	
  
	
   	
  	
  ‘Rejected	
  due	
  to	
  errors	
  ‘or	
  ‘Transaction	
  records	
  received	
  and	
  queued	
  on	
  04/12/2010	
  12:56:34	
  PM	
   	
  
	
  

	
  	
  Pacific	
  Time	
  [ACHFileName=TST9505-­‐10041200.XML].	
  Server	
  Processing	
  Time:15.6245	
  ms’	
  

	
  
	
  

3.6.5	
  CallMethod	
  
This	
  returns	
  the	
  ‘send’	
  method	
  used	
  i.e.	
  SendACHTrans,	
  SendACHTransBatch	
  or	
  SendACHTransBatchBIN.	
  
	
  
	
  

3.6.6	
  CallDateTime	
  

This	
  returns	
  the	
  time	
  stamp	
  of	
  the	
  ‘send’	
  method	
  call.	
  
	
  
	
  

3.6.7	
  FileName	
  

This	
  field	
  returns	
  the	
  FileName	
  used	
  or	
  generated	
  for	
  doing	
  a	
  ‘send’	
  method	
  call.	
  	
  	
  
e.g.	
  TST9505-­‐10041200.XML	
  
	
  

3.6.8	
  FrontEndTrace	
  

This	
  field	
  returns	
  the	
  FrontEndTrace	
  used	
  for	
  doing	
  a	
  SendACHTrans	
  method	
  call.	
  
	
  

3.6.9	
  TotalNumErrors	
  

This	
  field	
  returns	
  the	
  number	
  of	
  errors	
  encountered	
  in	
  a	
  ‘REJECTED’	
  send	
  method	
  call.	
  	
  This	
  value	
  is	
  zero	
  if	
  
the	
  Status	
  is	
  a	
  ‘SUCCESS’.	
  
	
  

3.6.10	
  Errors	
  

List	
  of	
  all	
  the	
  Errors	
  encountered	
  in	
  a	
  ‘REJECTED’	
  send	
  method	
  call.	
  	
  	
  
Example:	
  
Error#1:FrontEndTrace X9000123310456 already used.
Error#2:Unable to complete processing of data due to error(s).

3.7	
  ResultFile

	
  

	
  
The	
  ResultFile	
  	
  represents	
  the	
  file	
  with	
  elements	
  or	
  fields	
  that	
  describe	
  a	
  list	
  of	
  TransResult	
  from	
  specified	
  
data	
  range.	
  	
  It	
  contains	
  one	
  or	
  more	
  records	
  of	
  TransResults	
  (same	
  as	
  the	
  list	
  of	
  TransResult	
  or	
  
ArrayOfTransResult).	
  	
  It	
  serves	
  as	
  the	
  output	
  in	
  getting	
  past	
  connection	
  Results	
  and	
  Errors	
  i.e.	
  using	
  the	
  
GetResultFile	
  method.	
  	
  It	
  consists	
  of	
  SSS,	
  LocID,	
  	
  Status,	
  Details,	
  TotalResultRecords,	
  ResultDateFrom,	
  
ResultDateTo,	
  and	
  TransResults	
  which	
  will	
  be	
  described	
  below.	
  	
  	
  
	
  

3.7.1	
  SSS	
  

SSS	
  is	
  a	
  3-­‐letter	
  code	
  furnished	
  to	
  registered	
  merchants.	
  	
  	
  	
  

ACHWorks-­‐SOAP	
  Ver	
  4.0	
  	
  Guide	
  Copyright	
  ©	
  ACHWorks	
  2010.	
  All	
  Rights	
  Reserved.	
  

Page	
  26	
  of	
  83	
  

3.7.2	
  LocID	
  
LocID	
  is	
  a	
  4-­‐digit	
  alphanumeric	
  	
  code	
  furnished	
  to	
  registered	
  merchants.	
  	
  	
  
	
  

3.7.3	
  Status	
  

This	
  is	
  the	
  Status	
  of	
  calling	
  the	
  GetResultFile	
  method,	
  either	
  a	
  ‘REJECTED’	
  or	
  ‘SUCCESS’	
  call.	
  
	
  

3.7.4	
  Details	
  

This	
  field	
  describe	
  in	
  detail	
  the	
  Status	
  of	
  calling	
  the	
  GetResultFile.	
  
Example:	
  
Retrieved 79 connection records on 04/12/2010 01:16:42 PM Pacific Time. Server Processing Time:<0.0001 ms

	
  

3.7.5	
  TotalResultRecords	
  
The	
  total	
  number	
  or	
  result	
  records	
  or	
  array	
  count	
  of	
  TransResults	
  .	
  
	
  

3.7.6	
  ResultDateFrom	
  

The	
  	
  specified	
  start	
  result	
  date	
  for	
  getting	
  a	
  set	
  of	
  TransResults	
  for	
  this	
  LocID.	
  
	
  

3.7.7	
  ResultDateTo	
  

The	
  	
  specified	
  end	
  result	
  date	
  for	
  getting	
  a	
  set	
  of	
  TransResults	
  for	
  this	
  LocID.	
  
	
  

3.7.8	
  TransResults	
  

List	
  of	
  all	
  the	
  transaction	
  results	
  as	
  an	
  array	
  of	
  TransResult	
  (ArrayOfTransResult).	
  	
  See	
  Section	
  3.6	
  above	
  
for	
  the	
  data	
  structure	
  of	
  TransResult.	
  Again,	
  this	
  field	
  is	
  best	
  understood	
  by	
  looking	
  at	
  the	
  WSDL	
  and/or	
  the	
  
classes	
  generated	
  from	
  WSDL;	
  and	
  looking	
  at	
  the	
  sample	
  codes	
  given	
  in	
  Appendix	
  A2	
  of	
  this	
  guide.	
  
	
  

3.8	
  ErrorRecord

	
  

	
  
ErrorRecord	
  is	
  the	
  data	
  structure	
  of	
  an	
  error	
  when	
  calling	
  methods	
  or	
  operations	
  e.g.	
  SendACHTrans	
  or	
  
SendACHTransBatch.	
  	
  It	
  consists	
  of	
  SSS,	
  LocID,	
  	
  Status,	
  Details,	
  CallMethod,	
  CallDateTime,	
  FileName,	
  
FrontEndTrace,	
  TotalNumErrors	
  and	
  Errors	
  which	
  will	
  be	
  described	
  below.	
  	
  	
  
	
  

3.8.1	
  SSS	
  

SSS	
  is	
  a	
  3-­‐letter	
  code	
  furnished	
  to	
  registered	
  merchants.	
  	
  	
  This	
  field	
  shows	
  the	
  value	
  of	
  SSS	
  when	
  the	
  error	
  
occurred.	
  
	
  

3.8.2	
  LocID	
  

LocID	
  is	
  a	
  4-­‐digit	
  alphanumeric	
  	
  code	
  furnished	
  to	
  registered	
  merchants.	
  This	
  field	
  shows	
  the	
  value	
  of	
  
LocID	
  when	
  the	
  error	
  occurred.	
  
	
  

	
  

ACHWorks-­‐SOAP	
  Ver	
  4.0	
  	
  Guide	
  Copyright	
  ©	
  ACHWorks	
  2010.	
  All	
  Rights	
  Reserved.	
  

Page	
  27	
  of	
  83	
  

3.8.3	
  CallMethod	
  
This	
  field	
  shows	
  the	
  method	
  used	
  when	
  the	
  error	
  occured.	
  
	
  

3.8.4	
  CallDateTime	
  

This	
  returns	
  the	
  time	
  stamp	
  of	
  the	
  error	
  when	
  it	
  occured.	
  
	
  

3.8.5	
  FileName	
  

The	
  FileName	
  used	
  or	
  generated	
  in	
  the	
  method	
  (if	
  applicable)	
  when	
  the	
  error	
  occured.	
  
	
  

3.8.6	
  FrontEndTrace	
  

The	
  FrontEndTrace	
  used	
  in	
  the	
  method	
  (if	
  applicable)	
  when	
  the	
  error	
  occured.	
  
	
  

3.8.7	
  TotalNumErrors	
  

This	
  is	
  the	
  total	
  number	
  of	
  errors	
  encountered	
  as	
  a	
  result	
  of	
  using	
  the	
  ‘CallMethod’.	
  
	
  

3.8.8	
  Errors	
  

List	
  of	
  all	
  the	
  errors	
  encountered	
  as	
  a	
  result	
  of	
  a	
  ‘REJECTED’	
  CallMethod.	
  

	
  
3.9	
  ErrorFile

	
  

	
  
The	
  ErrorFile	
  	
  represents	
  the	
  file	
  with	
  elements	
  or	
  fields	
  that	
  describe	
  a	
  list	
  of	
  ErrorRecord	
  from	
  specified	
  
data	
  range.	
  	
  It	
  contains	
  one	
  or	
  more	
  records	
  of	
  ErrorRecords	
  (same	
  as	
  the	
  list	
  of	
  ErrorRecord	
  or	
  
ArrayOfErrorRecord).	
  	
  It	
  serves	
  as	
  the	
  output	
  in	
  getting	
  past	
  connection	
  Errors	
  i.e.	
  using	
  the	
  GetErrorFile	
  
method.	
  	
  It	
  consists	
  of	
  SSS,	
  LocID,	
  	
  Status,	
  Details,	
  TotalErrorRecords,	
  ErrorDateFrom,	
  ErrorDateTo,	
  and	
  
ErrorRecords	
  which	
  will	
  be	
  described	
  below.	
  	
  	
  
	
  

3.9.1	
  SSS	
  

SSS	
  is	
  a	
  3-­‐letter	
  code	
  furnished	
  to	
  registered	
  merchants	
  
	
  

3.9.2	
  LocID	
  

LocID	
  is	
  a	
  4-­‐digit	
  alphanumeric	
  	
  code	
  furnished	
  to	
  registered	
  merchants.	
  	
  	
  
	
  

3.9.3	
  Status	
  

This	
  is	
  the	
  Status	
  of	
  calling	
  the	
  GetErrorFile	
  method,	
  either	
  a	
  ‘REJECTED’	
  or	
  ‘SUCCESS’	
  call.	
  
	
  

3.9.4	
  Details	
  

This	
  field	
  describe	
  in	
  detail	
  the	
  Status	
  of	
  calling	
  the	
  GetErrorFile.	
  
Example:	
  
Retrieved 9 error records on 04/12/2010 01:16:42 PM Pacific Time. Server Processing Time:<0.0001 ms

ACHWorks-­‐SOAP	
  Ver	
  4.0	
  	
  Guide	
  Copyright	
  ©	
  ACHWorks	
  2010.	
  All	
  Rights	
  Reserved.	
  

Page	
  28	
  of	
  83	
  

	
  

3.9.5	
  TotalErrorRecords	
  
The	
  total	
  number	
  or	
  error	
  records	
  or	
  array	
  count	
  of	
  	
  ErrorRecords	
  .	
  
	
  

3.9.6	
  ErrorDateFrom	
  

The	
  	
  specified	
  start	
  error	
  date	
  for	
  getting	
  a	
  set	
  of	
  ErrorRecords	
  for	
  this	
  LocID.	
  
	
  

3.9.7	
  ErrorDateTo	
  

The	
  	
  specified	
  end	
  error	
  date	
  for	
  getting	
  a	
  set	
  of	
  ErrorRecords	
  for	
  this	
  LocID.	
  
	
  

3.9.8	
  ErrorRecords	
  

List	
  of	
  all	
  the	
  errors	
  as	
  an	
  array	
  of	
  ErrorRecord	
  (ArrayOfErrorRecord).	
  	
  See	
  Section	
  3.8	
  above	
  for	
  the	
  data	
  
structure	
  of	
  ErrorRecord.	
  Again,	
  this	
  field	
  is	
  best	
  understood	
  by	
  looking	
  at	
  the	
  WSDL	
  and/or	
  the	
  classes	
  
generated	
  from	
  WSDL;	
  and	
  looking	
  at	
  the	
  sample	
  codes	
  given	
  in	
  Appendix	
  A2	
  of	
  this	
  guide.	
  

	
  
3.10	
  Field	
  Types	
  and	
  Length

	
  

	
  
Listed	
  in	
  the	
  table	
  below	
  are	
  the	
  fields	
  with	
  the	
  required	
  types	
  and	
  lengths	
  for	
  data	
  entry/output.	
  	
  	
  The	
  web	
  
service	
  allows	
  entry	
  of	
  some	
  of	
  the	
  string	
  types	
  e.g.	
  OriginatorName	
  or	
  CustomerName	
  to	
  exceed	
  the	
  
required	
  length	
  but	
  the	
  value	
  is	
  trimmed	
  to	
  the	
  required	
  length	
  during	
  processing	
  and	
  final	
  storage.	
  
	
  
Table	
  3.1	
  	
  Fields	
  with	
  required	
  types	
  and	
  lengths.	
  	
  	
  
Field	
  
SSS	
  
LocID	
  
FrontEndTrace	
  	
  
OriginatorName	
  
TransactionCode	
  
CustTransType	
  
CustomerID	
  
CustomerName	
  
CustomerRoutingNo	
  
CustomerAcctNo	
  
CustomerAcctType	
  
TransAmount	
  
CheckOrCustID	
  
CheckOrTransDate	
  
EffectiveDate	
  
Memo	
  
OpCode	
  
AccountSet	
  
ACHFileName	
  	
  

	
  	
  	
  	
  	
  	
  	
  Type	
  
String	
  
String	
  
String	
  
String	
  
String	
  
String	
  
String	
  
String	
  
String	
  
String	
  
String	
  
Double	
  
String	
  
ns:dateTime	
  
ns:dateTime	
  
String	
  
String	
  
String	
  
String	
  

Length	
  
3	
  
4	
  
1-­‐12	
  
1-­‐16	
  
3	
  
1	
  
1-­‐12	
  
1-­‐22	
  
9	
  
4-­‐17	
  
1	
  
-­‐	
  
1-­‐15	
  
-­‐	
  
-­‐	
  
1-­‐10	
  
1	
  
1-­‐3	
  
20	
  

	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Remarks	
  
Use	
  the	
  value	
  assigned	
  by	
  ACHWorks	
  
Use	
  the	
  value	
  assigned	
  by	
  ACHWorks	
  
First	
  character	
  should	
  not	
  be	
  ‘W’	
  
Originator	
  Name	
  (Individual	
  or	
  Company)	
  
Value	
  is	
  either	
  PPD,	
  CCD,	
  TEL,	
  WEB,	
  	
  RCK,	
  POS,	
  etc.	
  
Put	
  ‘D’	
  for	
  Debit,	
  ‘C’	
  for	
  Credit	
  
Optional	
  field	
  for	
  ACHWorks-­‐WEB	
  
Format:	
  Lastname,	
  Firstname	
  or	
  Companyname	
  
Bank	
  Routing	
  No	
  
Include	
  prefix	
  and	
  suffix	
  0’s,	
  	
  include	
  hyphens	
  
Put	
  ‘C’	
  for	
  Checking,	
  ‘S’	
  for	
  Savings	
  
Amount	
  in	
  dollars,	
  e.g.	
  100.75,	
  MAX	
  =	
  999999.99	
  
Check	
  number	
  or	
  Customer	
  ID	
  
Value	
  should	
  be	
  <=	
  EffectiveDate	
  
Value	
  should	
  be	
  >=	
  CheckOrTransDate	
  
This	
  appears	
  on	
  customer’s	
  bank	
  statement	
  
Put	
  ‘R’	
  if	
  recurring,	
  Default	
  value	
  is	
  ‘S’	
  
Use	
  the	
  value(s)	
  assigned	
  by	
  ACHWorks	
  	
  
Format:	
  SSSLLLL-­‐YYmmddAA.XML	
  	
  (see	
  Section	
  3.3.3)	
  

	
  
ACHWorks-­‐SOAP	
  Ver	
  4.0	
  	
  Guide	
  Copyright	
  ©	
  ACHWorks	
  2010.	
  All	
  Rights	
  Reserved.	
  

Page	
  29	
  of	
  83	
  

4.	
  Contact	
  Information	
  
	
  
For	
  more	
  information	
  and/or	
  questions	
  please	
  email	
  ACHWorks	
  support:	
  	
  support@achworks.com	
  or	
  
call	
  us	
  at	
  +1	
  916	
  638	
  8811.	
  
	
  

ACHWorks-­‐SOAP	
  Ver	
  4.0	
  	
  Guide	
  Copyright	
  ©	
  ACHWorks	
  2010.	
  All	
  Rights	
  Reserved.	
  

Page	
  30	
  of	
  83	
  

	
  
APPENDICES	
  
	
  
A1.	
  Service	
  Description	
  
	
  
Test	
  WSDL	
  URL:	
  	
  http://tstsvr.achworks.com/dnet/achws.asmx?WSDL	
  
(A	
  Live	
  WSDL	
  URL	
  will	
  be	
  provided	
  to	
  registered	
  merchants)	
  
	
  
	
  	
  	
  	
  
-­‐	
  	
  
	
  	
  ACHWorksWS	
  is	
  a	
  web	
  service	
  
(web	
  API)	
  by	
  ACHWorks	
  that	
  provides	
  a	
  complete	
  solution	
  for	
  
Automated	
  Clearing	
  House	
  (ACH)	
  operations:	
  Sending	
  transactions	
  and	
  getting	
  status	
  of	
  returns	
  and	
  
settlements.	
  Please	
  click	
  here	
  to	
  contact	
  us	
  for	
  more	
  
information.	
  Last	
  updated	
  on:	
  03/25/2010.	
  Beta	
  Version.	
  	
  
-­‐	
  	
  
-­‐	
  	
  
-­‐	
  	
  
-­‐	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  

ACHWorks-­‐SOAP	
  Ver	
  4.0	
  	
  Guide	
  Copyright	
  ©	
  ACHWorks	
  2010.	
  All	
  Rights	
  Reserved.	
  

Page	
  31	
  of	
  83	
  

-­‐	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
-­‐	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
-­‐	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  

ACHWorks-­‐SOAP	
  Ver	
  4.0	
  	
  Guide	
  Copyright	
  ©	
  ACHWorks	
  2010.	
  All	
  Rights	
  Reserved.	
  

Page	
  32	
  of	
  83	
  

	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
-­‐	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
-­‐	
  	
  
-­‐	
  	
  

ACHWorks-­‐SOAP	
  Ver	
  4.0	
  	
  Guide	
  Copyright	
  ©	
  ACHWorks	
  2010.	
  All	
  Rights	
  Reserved.	
  

Page	
  33	
  of	
  83	
  

	
  	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
-­‐	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
-­‐	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
-­‐	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  

ACHWorks-­‐SOAP	
  Ver	
  4.0	
  	
  Guide	
  Copyright	
  ©	
  ACHWorks	
  2010.	
  All	
  Rights	
  Reserved.	
  

Page	
  34	
  of	
  83	
  

	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
-­‐	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
-­‐	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
-­‐	
  	
  
-­‐	
  	
  

ACHWorks-­‐SOAP	
  Ver	
  4.0	
  	
  Guide	
  Copyright	
  ©	
  ACHWorks	
  2010.	
  All	
  Rights	
  Reserved.	
  

Page	
  35	
  of	
  83	
  

	
  	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
-­‐	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  

ACHWorks-­‐SOAP	
  Ver	
  4.0	
  	
  Guide	
  Copyright	
  ©	
  ACHWorks	
  2010.	
  All	
  Rights	
  Reserved.	
  

Page	
  36	
  of	
  83	
  

	
  	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
-­‐	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
-­‐	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
-­‐	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
-­‐	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
-­‐	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  

ACHWorks-­‐SOAP	
  Ver	
  4.0	
  	
  Guide	
  Copyright	
  ©	
  ACHWorks	
  2010.	
  All	
  Rights	
  Reserved.	
  

Page	
  37	
  of	
  83	
  

	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
-­‐	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
-­‐	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
-­‐	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
	
  	
  	
  

ACHWorks-­‐SOAP	
  Ver	
  4.0	
  	
  Guide	
  Copyright	
  ©	
  ACHWorks	
  2010.	
  All	
  Rights	
  Reserved.	
  

Page	
  38	
  of	
  83	
  

-­‐	
  	
  
-­‐	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  

ACHWorks-­‐SOAP	
  Ver	
  4.0	
  	
  Guide	
  Copyright	
  ©	
  ACHWorks	
  2010.	
  All	
  Rights	
  Reserved.	
  

Page	
  39	
  of	
  83	
  

	
  	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  

ACHWorks-­‐SOAP	
  Ver	
  4.0	
  	
  Guide	
  Copyright	
  ©	
  ACHWorks	
  2010.	
  All	
  Rights	
  Reserved.	
  

Page	
  40	
  of	
  83	
  

	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
-­‐	
  	
  
	
  	
  Checks	
  validity	
  of	
  user/company	
  
information	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
	
  	
  Sends	
  single	
  ACH	
  transaction	
  
record	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
	
  	
  Sends	
  multiple	
  ACH	
  transaction	
  
records	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
	
  	
  Sends	
  multiple	
  ACH	
  transaction	
  
records	
  in	
  a	
  binary	
  file	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
	
  	
  Sends	
  multiple	
  IAT	
  ACH	
  transaction	
  
records	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  

ACHWorks-­‐SOAP	
  Ver	
  4.0	
  	
  Guide	
  Copyright	
  ©	
  ACHWorks	
  2010.	
  All	
  Rights	
  Reserved.	
  

Page	
  41	
  of	
  83	
  

	
  	
  Gets	
  returns	
  and	
  deletes	
  from	
  
server	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
	
  	
  Gets	
  returns	
  from	
  given	
  date	
  
range	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
	
  	
  Gets	
  binary	
  return	
  files	
  and	
  deletes	
  
from	
  server	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
	
  	
  Gets	
  binary	
  return	
  files	
  from	
  given	
  
date	
  range	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
	
  	
  Gets	
  result	
  records	
  at	
  specified	
  date	
  
range	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
	
  	
  Gets	
  error	
  records	
  at	
  specified	
  date	
  
range	
  	
  
	
  	
  	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  

ACHWorks-­‐SOAP	
  Ver	
  4.0	
  	
  Guide	
  Copyright	
  ©	
  ACHWorks	
  2010.	
  All	
  Rights	
  Reserved.	
  

Page	
  42	
  of	
  83	
  

	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
	
  	
  	
  

ACHWorks-­‐SOAP	
  Ver	
  4.0	
  	
  Guide	
  Copyright	
  ©	
  ACHWorks	
  2010.	
  All	
  Rights	
  Reserved.	
  

Page	
  43	
  of	
  83	
  

-­‐	
  	
  
	
  	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
	
  	
  	
  

ACHWorks-­‐SOAP	
  Ver	
  4.0	
  	
  Guide	
  Copyright	
  ©	
  ACHWorks	
  2010.	
  All	
  Rights	
  Reserved.	
  

Page	
  44	
  of	
  83	
  

-­‐	
  	
  
	
  	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  

ACHWorks-­‐SOAP	
  Ver	
  4.0	
  	
  Guide	
  Copyright	
  ©	
  ACHWorks	
  2010.	
  All	
  Rights	
  Reserved.	
  

Page	
  45	
  of	
  83	
  

	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
	
  	
  	
  

ACHWorks-­‐SOAP	
  Ver	
  4.0	
  	
  Guide	
  Copyright	
  ©	
  ACHWorks	
  2010.	
  All	
  Rights	
  Reserved.	
  

Page	
  46	
  of	
  83	
  

-­‐	
  	
  
	
  	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
	
  	
  ACHWorksWS	
  is	
  a	
  web	
  service	
  
(web	
  API)	
  by	
  ACHWorks	
  that	
  provides	
  a	
  complete	
  solution	
  for	
  
Automated	
  Clearing	
  House	
  (ACH)	
  operations:	
  Sending	
  transactions	
  and	
  getting	
  status	
  of	
  returns	
  and	
  
settlements.	
  Please	
  click	
  here	
  to	
  contact	
  us	
  for	
  more	
  
information.	
  Last	
  updated	
  on:	
  03/25/2010.	
  Beta	
  Version.	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
-­‐	
  	
  
	
  	
  	
  	
  
	
  	
  	
  
	
  	
  	
  
	
  	
  .	
  	
  

	
  

ACHWorks-­‐SOAP	
  Ver	
  4.0	
  	
  Guide	
  Copyright	
  ©	
  ACHWorks	
  2010.	
  All	
  Rights	
  Reserved.	
  

Page	
  47	
  of	
  83	
  

	
  
A2.	
  Sample	
  Client	
  Codes	
  
	
  
The	
  sample	
  codes	
  below	
  are	
  written	
  for	
  the	
  most	
  popular	
  and	
  recent	
  development	
  platforms	
  namely	
  PHP,	
  C#,	
  
Visual	
  Basic	
  (VB.NET),	
  ASP.NET	
  and	
  JAVA.	
  	
  	
  	
  
	
  
Brief	
  descriptions	
  are	
  provided	
  to	
  provide	
  ease	
  in	
  understanding	
  the	
  required	
  input	
  and	
  output	
  and	
  their	
  
formats.	
  
	
  
Please	
  contact	
  us	
  if	
  you	
  want	
  a	
  digital	
  copy	
  of	
  the	
  sample	
  codes.	
  	
  See	
  Section	
  4	
  for	
  contact	
  information.	
  
	
  
	
  

A2.1	
  PHP	
  (Version	
  5)	
  	
  

	
  
connectioncheck.php	
  	
  
	
  SSS	
  =	
  "TST";	
  
$mycompanyinfo	
  -­‐>	
  LocID	
  =	
  "9505";	
  
$mycompanyinfo	
  -­‐>	
  Company	
  =	
  "THAT	
  COMPANY";	
  
$mycompanyinfo	
  -­‐>	
  CompanyKey	
  =	
  "RICO";	
  	
  
	
  
	
  
$myclient	
  =	
  new	
  SoapClient("http://tstsvr.achworks.com/dnet/achws.asmx?WSDL");	
  
	
  
	
  
//Important:	
  	
  use	
  InpCompanyInfo	
  in	
  the	
  soap	
  stru	
  not	
  CompanyInfo	
  
$myresult	
  =	
  $myclient-­‐>ConnectionCheck(array("InpCompanyInfo"=>$mycompanyinfo));	
  
	
  
print($myresult-­‐>ConnectionCheckResult);	
  
?>	
  

	
  

	
  
ACHWorks-­‐SOAP	
  Ver	
  4.0	
  	
  Guide	
  Copyright	
  ©	
  ACHWorks	
  2010.	
  All	
  Rights	
  Reserved.	
  

Page	
  48	
  of	
  83	
  

sendachtrans.php	
  	
  
	
  SSS	
  =	
  "TST";	
  
$mycompanyinfo	
  -­‐>	
  LocID	
  =	
  "9505";	
  
$mycompanyinfo	
  -­‐>	
  Company	
  =	
  "THAT	
  COMPANY";	
  
$mycompanyinfo	
  -­‐>	
  CompanyKey	
  =	
  "RICO";	
  	
  
	
  
	
  
//ACHTransRecord	
  
$myachtransrecord	
  =	
  new	
  ACHTransRecord;	
  
$myachtransrecord	
  -­‐>	
  SSS	
  =	
  "TST";	
  //ACHWorks	
  assigned	
  
$myachtransrecord	
  -­‐>	
  LocID	
  =	
  "9505";	
  //ACHWorks	
  assigned	
  
$myachtransrecord	
  -­‐>	
  FrontEndTrace	
  =	
  "W9000123310454";	
  //impt!!!Needs	
  a	
  unique	
  value	
  each	
  record	
  per	
  LocID	
  
$myachtransrecord	
  -­‐>	
  OriginatorName	
  =	
  "MYCOMPANY";	
  
$myachtransrecord	
  -­‐>	
  TransactionCode	
  =	
  "PPD";	
  //PPD,	
  CCD,	
  WEB,	
  TEL,	
  RCK,	
  etc.	
  
$myachtransrecord	
  -­‐>	
  CustTransType	
  =	
  "D";	
  	
  //D	
  for	
  debit,	
  C	
  for	
  credit	
  
$myachtransrecord	
  -­‐>	
  CustomerID	
  =	
  "CustID12235";	
  
$myachtransrecord	
  -­‐>	
  CustomerName	
  =	
  "DOE,	
  JOHNNY";	
  
$myachtransrecord	
  -­‐>	
  CustomerRoutingNo	
  ="987654320";	
  
$myachtransrecord	
  -­‐>	
  CustomerAcctNo	
  =	
  "0000388836291";	
  

ACHWorks-­‐SOAP	
  Ver	
  4.0	
  	
  Guide	
  Copyright	
  ©	
  ACHWorks	
  2010.	
  All	
  Rights	
  Reserved.	
  

Page	
  49	
  of	
  83	
  

$myachtransrecord	
  -­‐>	
  CustomerAcctType	
  =	
  "C";	
  //C	
  for	
  checking,	
  S	
  for	
  Savings	
  
$myachtransrecord	
  -­‐>	
  TransAmount	
  =	
  100.75;	
  
$myachtransrecord	
  -­‐>	
  CheckOrCustID	
  =	
  "9166388811";	
  
$myachtransrecord	
  -­‐>	
  CheckOrTransDate	
  =	
  '2010-­‐03-­‐24';	
  	
  //include	
  leading	
  zero	
  for	
  mm	
  and	
  dd	
  e.g.	
  01	
  for	
  Jan	
  
$myachtransrecord	
  -­‐>	
  EffectiveDate	
  =	
  '2010-­‐03-­‐24';	
  	
  	
  	
  	
  //include	
  leading	
  zero	
  for	
  mm	
  and	
  dd	
  e.g.	
  01	
  for	
  Jan	
  
$myachtransrecord	
  -­‐>	
  Memo	
  =	
  "Payment";	
  
$myachtransrecord	
  -­‐>	
  OpCode	
  =	
  "S";	
  //S	
  for	
  Single,	
  R	
  for	
  recurring	
  
$myachtransrecord	
  -­‐>	
  AccountSet	
  =	
  "1";	
  //ACHWorks	
  assigned	
  
	
  
	
  
//SOAP	
  call	
  -­‐	
  test	
  server	
  
$myclient	
  =	
  new	
  SoapClient("http://tstsvr.achworks.com/dnet/achws.asmx?WSDL");	
  
$myresult	
  =	
  $myclient-­‐>SendACHTrans(array("InpCompanyInfo"=>$mycompanyinfo,"InpACHTransRecord"=>$myachtransrecord))-­‐
>SendACHTransResult;	
  
	
  
//print	
  status	
  and	
  details	
  
print($myresult-­‐>Status	
  .	
  ",	
  "	
  .	
  $myresult-­‐>Details	
  .	
  "
");     //print  errors  if  there  is  any   foreach  ($myresult-­‐>Errors-­‐>string  as  $myerror)  {   print($myerror  .  "
");   }   ?>       sendachtransbatch.php        SSS  =  "TST";   $mycompanyinfo  -­‐>  LocID  =  "9505";   $mycompanyinfo  -­‐>  Company  =  "THAT  COMPANY";   $mycompanyinfo  -­‐>  CompanyKey  =  "RICO";         //sample  ACHTransRecord  1,2  &  3    (2  debits  and  1  credit)   //1   $myachtransrecord1  =  new  ACHTransRecord;   $myachtransrecord1  -­‐>  SSS  =  "TST";  //ACHWorks  assigned   $myachtransrecord1  -­‐>  LocID  =  "9505";  //ACHWorks  assigned   $myachtransrecord1  -­‐>  FrontEndTrace  =  "W3000123456";  //impt!!!Needs  a  unique  value  each  record  per  LocID   $myachtransrecord1  -­‐>  OriginatorName  =  "MYCOMPANY";   $myachtransrecord1  -­‐>  TransactionCode  =  "PPD";  //PPD,  CCD,  WEB,  TEL,  RCK,  etc.   $myachtransrecord1  -­‐>  CustTransType  =  "D";    //D  for  debit,  C  for  credit   $myachtransrecord1  -­‐>  CustomerID  =  "CustID12235";   $myachtransrecord1  -­‐>  CustomerName  =  "DOE,  JOHNNY";   $myachtransrecord1  -­‐>  CustomerRoutingNo  =  "987654320";   $myachtransrecord1  -­‐>  CustomerAcctNo  =  "04038883674";   $myachtransrecord1  -­‐>  CustomerAcctType  =  "C";  //C  forchecking,  S  for  Savings   $myachtransrecord1  -­‐>  TransAmount  =  100.25;   $myachtransrecord1  -­‐>  CheckOrCustID  =  "9166388811";   $myachtransrecord1  -­‐>  CheckOrTransDate  =  '2010-­‐03-­‐16';  //include  leading  zero  for  mm  and  dd  e.g.  01  for  Jan   $myachtransrecord1  -­‐>  EffectiveDate  =  '2010-­‐03-­‐16';        //include  leading  zero  for  mm  and  dd  e.g.  01  for  Jan   $myachtransrecord1  -­‐>  Memo  =  "Payment";   $myachtransrecord1  -­‐>  OpCode  =  "S";  //S  for  Single,  R  for  Recurring   $myachtransrecord1  -­‐>  AccountSet  =  "1";  //ACHWorks  assigned     //2   $myachtransrecord2  =  new  ACHTransRecord;   $myachtransrecord2  -­‐>  SSS  =  "TST";  //ACHWorks  assigned   $myachtransrecord2  -­‐>  LocID  =  "9505";  //ACHWorks  assigned   $myachtransrecord2  -­‐>  FrontEndTrace  =  "W3000123457";  //impt!!!Needs  a  unique  value  each  record  per  LocID   $myachtransrecord2  -­‐>  OriginatorName  =  "MYCOMPANY";   $myachtransrecord2  -­‐>  TransactionCode  =  "PPD";  //PPD,  CCD,  WEB,  TEL,  RCK,  etc.   $myachtransrecord2  -­‐>  CustTransType  =  "D";    //D  for  debit,  C  for  credit   $myachtransrecord2  -­‐>  CustomerID  =  "CustID12235";   ACHWorks-­‐SOAP  Ver  4.0    Guide  Copyright  ©  ACHWorks  2010.  All  Rights  Reserved.   Page  51  of  83   $myachtransrecord2  -­‐>  CustomerName  =  "DOE,  JANET";   $myachtransrecord2  -­‐>  CustomerRoutingNo  =  "987654320";   $myachtransrecord2  -­‐>  CustomerAcctNo  =  "0000388836291";   $myachtransrecord2  -­‐>  CustomerAcctType  =  "C";  //C  forchecking,  S  for  Savings   $myachtransrecord2  -­‐>  TransAmount  =  500.25;   $myachtransrecord2  -­‐>  CheckOrCustID  =  "9166388811";   $myachtransrecord2  -­‐>  CheckOrTransDate  =  '2010-­‐03-­‐16';    //include  leading  zero  for  mm  and  dd  e.g.  01  for  Jan   $myachtransrecord2  -­‐>  EffectiveDate  =  '2010-­‐03-­‐16';          //include  leading  zero  for  mm  and  dd  e.g.  01  for  Jan   $myachtransrecord2  -­‐>  Memo  =  "Payment";   $myachtransrecord2  -­‐>  OpCode  =  "S";  //S  for  Single,  R  for  Recurring   $myachtransrecord2  -­‐>  AccountSet  =  "1";  //ACHWorks  assigned     //3   $myachtransrecord3  =  new  ACHTransRecord;   $myachtransrecord3  -­‐>  SSS  =  "TST";  //ACHWorks  assigned   $myachtransrecord3  -­‐>  LocID  =  "9505";  //ACHWorks  assigned   $myachtransrecord3  -­‐>  FrontEndTrace  =  "W1000123451";  //impt!!!Needs  a  unique  value  each  record  per  LocID   $myachtransrecord3  -­‐>  OriginatorName  =  "MYCOMPANY";   $myachtransrecord3  -­‐>  TransactionCode  =  "PPD";  //PPD,  CCD,  WEB,  TEL,  RCK,  etc.   $myachtransrecord3  -­‐>  CustTransType  =  "C";    //D  for  debit,  C  for  credit   $myachtransrecord3  -­‐>  CustomerID  =  "CustID12235";   $myachtransrecord3  -­‐>  CustomerName  =  "SMITH,  JOE";   $myachtransrecord3  -­‐>  CustomerRoutingNo  =  "987654320";   $myachtransrecord3  -­‐>  CustomerAcctNo  =  "5500038883005";   $myachtransrecord3  -­‐>  CustomerAcctType  =  "C";  //C  forchecking,  S  for  Savings   $myachtransrecord3  -­‐>  TransAmount  =  350.25;   $myachtransrecord3  -­‐>  CheckOrCustID  =  "9166388811";   $myachtransrecord3  -­‐>  CheckOrTransDate  =  '2010-­‐03-­‐16';    //include  leading  zero  for  mm  and  dd  e.g.  01  for  Jan   $myachtransrecord3  -­‐>  EffectiveDate  =  '2010-­‐03-­‐16';          //include  leading  zero  for  mm  and  dd  e.g.  01  for  Jan   $myachtransrecord3  -­‐>  Memo  =  "Payment";   $myachtransrecord3  -­‐>  OpCode  =  "S";  //S  for  Single,  R  for  Recurring   $myachtransrecord3  -­‐>  AccountSet  =  "1";  //ACHWorks  assigned     //ACHFile   $myachfile  =  new  ACHFile;   $myachfile  -­‐>  SSS  =  "TST";   $myachfile  -­‐>  LocID  =  "9505";   $myachfile  -­‐>  ACHFileName  =  "";    //leave  blank  to  automatically  name  the  file   $myachfile  -­‐>  TotalNumRecords  =  3;   $myachfile  -­‐>  TotalDebitRecords  =  2;   $myachfile  -­‐>  TotalDebitAmount  =  600.50;   $myachfile  -­‐>  TotalCreditRecords  =  1;   $myachfile  -­‐>  TotalCreditAmount  =  350.25;   //$myachfile  -­‐>  ACHRecords  =  array($myachtransrecord1,$myachtransrecord2,$myachtransrecord3);    //OR   $myachfile  -­‐>  ACHRecords[]  =  $myachtransrecord1;   $myachfile  -­‐>  ACHRecords[]  =  $myachtransrecord2;   $myachfile  -­‐>  ACHRecords[]  =  $myachtransrecord3;       //SOAP  Call  -­‐  test  server   $myclient  =  new  SoapClient("http://tstsvr.achworks.com/dnet/achws.asmx?WSDL");   $myresult  =  $myclient-­‐>SendACHTransBatch(array("InpCompanyInfo"=>$mycompanyinfo,"InpACHFile"=>$myachfile))-­‐ >SendACHTransBatchResult;       //print  status  and  details   ACHWorks-­‐SOAP  Ver  4.0    Guide  Copyright  ©  ACHWorks  2010.  All  Rights  Reserved.   Page  52  of  83   print($myresult-­‐>Status  .  ",  "    .  $myresult-­‐>Details  .  "
");     //print  errors  if  there  is  any   foreach  ($myresult-­‐>Errors-­‐>string  as  $myerror)  {   print($myerror  .  "
");   }   ?>     getachreturns.php        SSS  =  "TST";   $mycompanyinfo  -­‐>  LocID  =  "9505";   $mycompanyinfo  -­‐>  Company  =  "THAT  COMPANY";   $mycompanyinfo  -­‐>  CompanyKey  =  "RICO";         //SOAP  call  -­‐  test  server   $myclient  =  new  SoapClient("http://tstsvr.achworks.com/dnet/achws.asmx?WSDL");   $myresult  =  $myclient-­‐>GetACHReturns(array("InpCompanyInfo"=>$mycompanyinfo))-­‐>GetACHReturnsResult;     //print  status  and  details   print($myresult-­‐>Status  .  ",  "  .  $myresult-­‐>Details  .  "
");     //print  ACHReturnRecords  if  there  is  any   foreach  ($myresult-­‐>ACHReturnRecords-­‐>ACHReturnRecord  as  $myACHReturnRecord)  {   print("FrontEndTrace:"  .  $myACHReturnRecord-­‐>FrontEndTrace  .  ",  EffectiveDate:"  .  $myACHReturnRecord-­‐>EffectiveDate  .  ",   Name:"  .  $myACHReturnRecord-­‐>CustomerName  .  ",  Amount:"  .  $myACHReturnRecord-­‐>TransAmount  .  ",   ResponseCode:"  .  $myACHReturnRecord-­‐>ResponseCode  .  ",  ActionDetail:"  .  $myACHReturnRecord-­‐>ActionDetail  .   "
");   }   ?>     getachreturnshist.php        SSS  =  "TST";   $mycompanyinfo  -­‐>  LocID  =  "9505";   $mycompanyinfo  -­‐>  Company  =  "THAT  COMPANY";   $mycompanyinfo  -­‐>  CompanyKey  =  "RICO";       $myDateFrom  =  '2010-­‐01-­‐01';  //include  leading  zero  for  mm  and  dd  e.g.  01  for  Jan   $myDateTo  =  '2010-­‐03-­‐20';      //include  leading  zero  for  mm  and  dd  e.g.  01  for  Jan       //SOAP  call  -­‐  test  server   $myclient  =  new  SoapClient("http://tstsvr.achworks.com/dnet/achws.asmx?WSDL");   $myresult  =  $myclient-­‐>GetACHReturnsHist(array("InpCompanyInfo"=>$mycompanyinfo,  "ReturnDateFrom"=>$myDateFrom,   "ReturnDateTo"=>$myDateTo))-­‐>GetACHReturnsHistResult;     //print  status  and  details   print($myresult-­‐>Status  .  ",  "  .  $myresult-­‐>Details  .  "
");     //print  ACHReturnRecords  if  there  is  any   foreach  ($myresult-­‐>ACHReturnRecords-­‐>ACHReturnRecord  as  $myACHReturnRecord)  {   print("FrontEndTrace:"  .  $myACHReturnRecord-­‐>FrontEndTrace  .  ",  EffectiveDate:"  .  $myACHReturnRecord-­‐>EffectiveDate  .  ",   Name:"  .  $myACHReturnRecord-­‐>CustomerName  .  ",  Amount:"  .  $myACHReturnRecord-­‐>TransAmount  .  ",   ResponseCode:"  .  $myACHReturnRecord-­‐>ResponseCode  .  ",  ActionDetail:"  .  $myACHReturnRecord-­‐>ActionDetail  .   "
");   }   ?>         getresultfile.php        SSS  =  "TST";   $mycompanyinfo  -­‐>  LocID  =  "9505";   $mycompanyinfo  -­‐>  Company  =  "THAT  COMPANY";   ACHWorks-­‐SOAP  Ver  4.0    Guide  Copyright  ©  ACHWorks  2010.  All  Rights  Reserved.   Page  54  of  83   $mycompanyinfo  -­‐>  CompanyKey  =  "RICO";       $myDateFrom  =  '2010-­‐03-­‐25';  //include  leading  zero  for  mm  and  dd  e.g.  01  for  Jan   $myDateTo  =  '2010-­‐03-­‐26';      //include  leading  zero  for  mm  and  dd  e.g.  01  for  Jan       //SOAP  call  -­‐  test  server   $myclient  =  new  SoapClient("http://tstsvr.achworks.com/dnet/achws.asmx?WSDL");   $myresult  =  $myclient-­‐>GetResultFile(array("InpCompanyInfo"=>$mycompanyinfo,  "ResultDateFrom"=>$myDateFrom,   "ResultDateTo"=>$myDateTo))-­‐>GetResultFileResult;     //print  status  and  details   print($myresult-­‐>Status  .  ",  "  .  $myresult-­‐>Details  .  "

");     //print  TransResults  if  there  is  any   print("PAST  CONNECTION  AND  TRANSACTION  RESULTS:
");   foreach  ($myresult-­‐>TransResults-­‐>TransResult  as  $myTransResult)  {   print("DateTime:"  .  $myTransResult-­‐>CallDateTime  .  ",  Method:"  .  $myTransResult-­‐>CallMethod  .  ",  Status:"  .  $myTransResult-­‐>Status   .  ",  FileName:"  .  $myTransResult-­‐>FileName    .  "
");            foreach  ($myTransResult-­‐>Errors-­‐>string  as  $myError)  {          print("     Error=>"  .  $myError  .  "
");                }   }   ?>       geterrorfile.php        SSS  =  "TST";   $mycompanyinfo  -­‐>  LocID  =  "9505";   $mycompanyinfo  -­‐>  Company  =  "THAT  COMPANY";   $mycompanyinfo  -­‐>  CompanyKey  =  "RICO";       $myDateFrom  =  '2010-­‐03-­‐25';  //include  leading  zero  for  mm  and  dd  e.g.  01  for  Jan   $myDateTo  =  '2010-­‐03-­‐26';      //include  leading  zero  for  mm  and  dd  e.g.  01  for  Jan       //SOAP  call  -­‐  test  server   $myclient  =  new  SoapClient("http://tstsvr.achworks.com/dnet/achws.asmx?WSDL");   $myresult  =  $myclient-­‐>GetErrorFile(array("InpCompanyInfo"=>$mycompanyinfo,  "ErrorDateFrom"=>$myDateFrom,   "ErrorDateTo"=>$myDateTo))-­‐>GetErrorFileResult;   ACHWorks-­‐SOAP  Ver  4.0    Guide  Copyright  ©  ACHWorks  2010.  All  Rights  Reserved.   Page  55  of  83     //print  status  and  details   print($myresult-­‐>Status  .  ",  "  .  $myresult-­‐>Details  .  "

");     //print  ErrorRecords  if  there  is  any   print("PAST  CONNECTION  AND  TRANSACTION  ERRORS:
");   foreach  ($myresult-­‐>ErrorRecords-­‐>ErrorRecord  as  $myErrorRecord)  {   print("DateTime:"  .  $myErrorRecord-­‐>CallDateTime  .  ",  Method:"  .  $myErrorRecord-­‐>CallMethod  .  ",  Status:"  .  $myErrorRecord-­‐ >Status  .  ",  FileName:"  .  $myErrorRecord-­‐>FileName  .  ",  No  of  Errors:  "  .  $myErrorRecord-­‐>TotalNumErrors    .  "
");            foreach  ($myErrorRecord-­‐>Errors-­‐>string  as  $myError)  {          print("     Error=>"  .  $myError  .  "
");                }   }   ?>     ACHWorks-­‐SOAP  Ver  4.0    Guide  Copyright  ©  ACHWorks  2010.  All  Rights  Reserved.   Page  56  of  83   A2.2  Visual  Basic  (VB.NET/ASP.NET)       connectioncheck   Sub  Button1Click(sender  As  Object,  e  As  EventArgs)      'named  nsACHWorksWS  as  the  namespace  when  adding  web  reference      Dim  myACHWS  As  nsACHWorksWS.ACHWorksWS      Dim  myCompanyInfo  As  nsACHWorksWS.CompanyInfo            'instances      myACHWS  =  New  nsACHWorksWS.ACHWorksWS      myCompanyInfo  =  New  nsACHWorksWS.CompanyInfo        'CompanyInfo      myCompanyInfo.SSS="TST"      myCompanyInfo.LocID="9505"      myCompanyInfo.Company="THAT  COMPANY"      myCompanyInfo.CompanyKey="RICO"            'call  ConnectionCheck  and  assign  result  to  textBox1      textBox1.Text=myACHWS.ConnectionCheck(myCompanyInfo)   End  Sub   sendachtrans                                        'minstances   yACHWS  =  New  nsACHWorksWS.ACHWorksWS          mmyCompanyInfo  =  New  nsACHWorksWS.CompanyInfo   yACHTransRecord  =  New  nsACHWorksWS.ACHTransRecord      myACHTransResult  =  New  nsACHWorksWS.TransResult                'mCompanyInfo   yCompanyInfo.SSS="TST"          mmyCompanyInfo.LocID="9505"   yCompanyInfo.Company="THAT  COMPANY"      myCompanyInfo.CompanyKey="RICO"                'mACHTransRecord   yACHTransRecord.SSS="TST"  'ACHWorks  assigned          mmyACHTransRecord.LocID="9505"  'ACHWorks  assigned   yACHTransRecord.FrontEndTrace="VVB-­‐0003"  'impt!!!  needs  a  unique  value  each  record  per  LocID      myACHTransRecord.OriginatorName="MYCOMPANY"   Sub  Button2Click(sender  As  Object,  e  As  EventArgs)    'named  nsACHWorksWS  as  the  namespace  when  adding  web  reference Dim  myACHWS  As  nsACHWorksWS.ACHWorksWS Dim  myCompanyInfo  As  nsACHWorksWS.CompanyInfo    Dim  myACHTransRecord  As  nsACHWorksWS.ACHTransRecord Dim  myACHTransResult  as  nsACHWorksWS.TransResult ACHWorks-­‐SOAP  Ver  4.0    Guide  Copyright  ©  ACHWorks  2010.  All  Rights  Reserved.   Page  57  of  83          mmyACHTransRecord.TransactionCode="PPD"  'PPD,CCD,WEB,TEL,RCK,  etc   yACHTransRecord.CustTransType="D"  'D  for  debit,  C  for  credit          mmyACHTransRecord.CustomerID="CustID0001"   yACHTransRecord.CustomerName="DOE,  JOHN"  'Lastname,  FirstName  -­‐  all  caps          mmyACHTransRecord.CustomerRoutingNo="987654320"  '9-­‐digit  Bank  Routing  No   yACHTransRecord.CustomerAcctNo="034332222"  'Bank  Account  No          mmyACHTransRecord.CustomerAcctType="C"  'C  for  checking,  S  for  savings   yACHTransRecord.TransAmount=100.75          mmyACHTransRecord.CheckOrCustID="9166388811"   yACHTransRecord.CheckOrTransDate="2010-­‐03-­‐24"          mmyACHTransRecord.EffectiveDate="2010-­‐03-­‐24"   yACHTransRecord.Memo="FirstPay"          mmyACHTransRecord.OpCode="S"  'S  for  single,  R  for  recurring   yACHTransRecord.AccountSet="1"  'ACHWorks  assigned                'mcall  SendACHTrans  method   yACHTransResult=myACHWS.SendACHTrans(myCompanyInfo,myACHTransRecord)            'tassign  portion  of  result  to  textBox1  (e.g.  Status  and  Details)   extBox1.Text=myACHTransResult.Status  +  ",  "  +  myACHTransResult.Details                'lprint  errors  to  listBox  if  there  is  any   istBox1.Items.Clear            I  f  myACHTransResult.TotalNumErrors>0  Then   For  i=0  To  myACHTransResult.TotalNumErrors-­‐1                    N  ext  i listBox1.Items.Add(myACHTransResult.Errors(i).ToString)    End  Sub  End  If         sendachtransbatch                                              'minstances   yACHWS  =  New  nsACHWorksWS.ACHWorksWS          mmyCompanyInfo  =  New  nsACHWorksWS.CompanyInfo   yACHTransRecord1  =  New  nsACHWorksWS.ACHTransRecord          mmyACHTransRecord2  =  New  nsACHWorksWS.ACHTransRecord   yACHTransRecord3  =  New  nsACHWorksWS.ACHTransRecord          mmyACHFile  =  new  nsACHWorksWS.ACHFile   yACHTransResult  =  New  nsACHWorksWS.TransResult     Sub  Button3Click(sender  As  Object,  e  As  EventArgs) 'named  nsACHWorksWS  as  the  namespace  when  adding  web  reference Dim  myACHWS  As  nsACHWorksWS.ACHWorksWS Dim  myCompanyInfo  As  nsACHWorksWS.CompanyInfo Dim  myACHTransRecord1,myACHTransRecord2,myACHTransRecord3  As  nsACHWorksWS.ACHTransRecord Dim  myACHFile  As  nsACHWorksWS.ACHFile Dim  myACHTransResult  As  nsACHWorksWS.TransResult ACHWorks-­‐SOAP  Ver  4.0    Guide  Copyright  ©  ACHWorks  2010.  All  Rights  Reserved.   Page  58  of  83              'mCompanyInfo   yCompanyInfo.SSS="TST”      myCompanyInfo.LocID="9505"          mmyCompanyInfo.Company="THAT  COMPANY"   yCompanyInfo.CompanyKey="RICO"            'mACHFile   yACHFile.SSS="TST"          mmyACHFile.LocID="9505"   yACHFile.ACHFileName=""  'leave  blank  to  automatically  name  the  file          mmyACHFile.TotalNumRecords=3   yACHFile.TotalDebitRecords=2          mmyACHFile.TotalDebitAmount=600.50   yACHFile.TotalCreditRecords=1          mmyACHFile.TotalCreditAmount=350.25   yACHFile.ACHRecords  =  new  nsACHWorksWS.ACHTransRecord(2){}  '(2)  is  3-­‐1                ''assign  records  to  file   ACHTransRecord  (1,  2  &  3)          'm1st  record   yACHTransRecord1.SSS="TST"  'ACHWorks  assigned          mmyACHTransRecord1.LocID="9505"  'ACHWorks  assigned   yACHTransRecord1.FrontEndTrace="VVB-­‐0003"  'impt!!!  needs  a  unique  value  each  record  per  LocID          mmyACHTransRecord1.OriginatorName="MYCOMPANY"   yACHTransRecord1.TransactionCode="PPD"  'PPD,CCD,WEB,TEL,RCK,  etc          mmyACHTransRecord1.CustTransType="D"  'D  for  debit,  C  for  credit   yACHTransRecord1.CustomerID="CustID0001"          mmyACHTransRecord1.CustomerName="DOE,  JOHN"  'Lastname,  FirstName  -­‐  all  caps   yACHTransRecord1.CustomerRoutingNo="987654320"  '9-­‐digit  Bank  Routing  No          mmyACHTransRecord1.CustomerAcctNo="034332222"  'Bank  Account  No   yACHTransRecord1.CustomerAcctType="C"  'C  for  checking,  S  for  savings          mmyACHTransRecord1.TransAmount=100.25   yACHTransRecord1.CheckOrCustID="9166388811"          mmyACHTransRecord1.CheckOrTransDate="2010-­‐03-­‐24"   yACHTransRecord1.EffectiveDate="2010-­‐03-­‐24"          mmyACHTransRecord1.Memo="FirstPay"   yACHTransRecord1.OpCode="S"  'S  for  single,  R  for  recurring          mmyACHTransRecord1.AccountSet="1"  'ACHWorks  assigned   yACHFile.ACHRecords(0)=new  nsACHWorksWS.ACHTransRecord    'instance      myACHFile.ACHRecords(0)=myACHTransRecord1    'instance                'm2nd  record   yACHTransRecord2.SSS="TST"  'ACHWorks  assigned          mmyACHTransRecord2.LocID="9505"  'ACHWorks  assigned   yACHTransRecord2.FrontEndTrace="VVB-­‐0004"  'impt!!!  needs  a  unique  value  each  record  per  LocID          mmyACHTransRecord2.OriginatorName="MYCOMPANY"   yACHTransRecord2.TransactionCode="PPD"  'PPD,CCD,WEB,TEL,RCK,  etc      myACHTransRecord2.CustTransType="D"  'D  for  debit,  C  for  credit   ACHWorks-­‐SOAP  Ver  4.0    Guide  Copyright  ©  ACHWorks  2010.  All  Rights  Reserved.   Page  59  of  83          mmyACHTransRecord2.CustomerID="CustID0002"   yACHTransRecord2.CustomerName="DOE,  JANE"  'Lastname,  FirstName  -­‐  all  caps          mmyACHTransRecord2.CustomerRoutingNo="987654320"  '9-­‐digit  Bank  Routing  No   yACHTransRecord2.CustomerAcctNo="111034332222"  'Bank  Account  No          mmyACHTransRecord2.CustomerAcctType="C"  'C  for  checking,  S  for  savings   yACHTransRecord2.TransAmount=500.25          mmyACHTransRecord2.CheckOrCustID="9166388811"   yACHTransRecord2.CheckOrTransDate="2010-­‐03-­‐24"          mmyACHTransRecord2.EffectiveDate="2010-­‐03-­‐24"   yACHTransRecord2.Memo="FirstPay"          mmyACHTransRecord2.OpCode="S"  'S  for  single,  R  for  recurring   yACHTransRecord2.AccountSet="1"  'ACHWorks  assigned          mmyACHFile.ACHRecords(1)=new  nsACHWorksWS.ACHTransRecord  'instance   yACHFile.ACHRecords(1)=myACHTransRecord2            'm3rd  record   yACHTransRecord3.SSS="TST"  'ACHWorks  assigned          mmyACHTransRecord3.LocID="9505"  'ACHWorks  assigned   yACHTransRecord3.FrontEndTrace="WVB-­‐0005"  'impt!!!  needs  a  unique  value  each  record  per  LocID          mmyACHTransRecord3.OriginatorName="MYCOMPANY"   yACHTransRecord3.TransactionCode="PPD"  'PPD,CCD,WEB,TEL,RCK,  etc          mmyACHTransRecord3.CustTransType="C"  'credit   yACHTransRecord3.CustomerID="CustID0003"          mmyACHTransRecord3.CustomerName="SMITH,  JOE"  'Lastname,  FirstName  -­‐  all  caps   yACHTransRecord3.CustomerRoutingNo="987654320"  '9-­‐digit  Bank  Routing  No      myACHTransRecord3.CustomerAcctNo="111034332222"  'Bank  Account  No          mmyACHTransRecord3.CustomerAcctType="C"  'C  for  checking,  S  for  savings   yACHTransRecord3.TransAmount=350.25          mmyACHTransRecord3.CheckOrCustID="9166388811"   yACHTransRecord3.CheckOrTransDate="2010-­‐03-­‐24"          mmyACHTransRecord3.EffectiveDate="2010-­‐03-­‐24"   yACHTransRecord3.Memo="FirstPay"          mmyACHTransRecord3.OpCode="S"  'S  for  single,  R  for  recurring   yACHTransRecord3.AccountSet="1"  'ACHWorks  assigned          mmyACHFile.ACHRecords(2)=new  nsACHWorksWS.ACHTransRecord  'instance   yACHFile.ACHRecords(2)=myACHTransRecord3            'mcall  SendACHTransBatch  method   yACHTransResult=myACHWS.SendACHTransBatch(myCompanyInfo,myACHFile)                'tassign  portion  of  result  to  textBox1  (e.g.  Status  and  Details)   extBox1.Text=myACHTransResult.Status  +  ",  "  +  myACHTransResult.Details            'lprint  errors  to  listBox  if  there  is  any   istBox1.Items.Clear            I  f  myACHTransResult.TotalNumErrors>0  Then   For  i=0  To  myACHTransResult.TotalNumErrors-­‐1                    N  ext  i listBox1.Items.Add(myACHTransResult.Errors(i).ToString)     ACHWorks-­‐SOAP  Ver  4.0    Guide  Copyright  ©  ACHWorks  2010.  All  Rights  Reserved.   Page  60  of  83    End  Sub  End  If       getachreturns                                'minstances   yACHWS  =  New  nsACHWorksWS.ACHWorksWS          mmyCompanyInfo  =  New  nsACHWorksWS.CompanyInfo   yACHReturns  =  New  nsACHWorksWS.ACHReturns                'mCompanyInfo   yCompanyInfo.SSS="TST"          mmyCompanyInfo.LocID="9505"   yCompanyInfo.Company="THAT  COMPANY"      myCompanyInfo.CompanyKey="RICO"            'mcall  GetACHReturns  method   yACHReturns  =  myACHWS.GetACHReturns(myCompanyInfo)      textBox1.Text=myACHReturns.Status  +  ",  "  +  myACHReturns.Details   Sub  Button4Click(sender  As  Object,  e  As  EventArgs) Dim  myACHWS  As  nsACHWorksWS.ACHWorksWS Dim  myCompanyInfo  As  nsACHWorksWS.CompanyInfo Dim  myACHReturns  As  nsACHWorksWS.ACHReturns          'llist  returns  if  there  are  any   istBox1.Items.Clear            I  f  myACHReturns.TotalNumRecords>0  Then   For  i=0  To  myACHReturns.TotalNumRecords-­‐1                            l  istBox1.Items.Add("FrontEndTrace:"  +  myACHReturns.ACHReturnRecords(i).FrontEndTrace  +  _                                         ",  Date:"  +  myACHReturns.ACHReturnRecords(i).EffectiveDate.ToString  +  _                                                                                                          "",  Name:"  +  myACHReturns.ACHReturnRecords(i).CustomerName  +  _   ,  Amount:"  +  myACHReturns.ACHReturnRecords(i).TransAmount.ToString  +  _                                                                                                          "",  ResponseCode:"  +  myACHReturns.ACHReturnRecords(i).ResponseCode  +  _   ,  ActionDetail:"  +  myACHReturns.ACHReturnRecords(i).ActionDetail)            E  nd  If Next  i     End  Sub     getachreturnshist                           Sub  Button5Click(sender  As  Object,  e  As  EventArgs) Dim  myACHWS  As  nsACHWorksWS.ACHWorksWS Dim  myCompanyInfo  As  nsACHWorksWS.CompanyInfo Dim  myACHReturns  As  nsACHWorksWS.ACHReturns Dim  myDateFrom,myDateTo  as  Date         ACHWorks-­‐SOAP  Ver  4.0    Guide  Copyright  ©  ACHWorks  2010.  All  Rights  Reserved.   Page  61  of  83          'minstances   yACHWS  =  New  nsACHWorksWS.ACHWorksWS          mmyCompanyInfo  =  New  nsACHWorksWS.CompanyInfo   yACHReturns  =  New  nsACHWorksWS.ACHReturns                'mCompanyInfo   yCompanyInfo.SSS="TST"          mmyCompanyInfo.LocID="9505"   yCompanyInfo.Company="THAT  COMPANY"      myCompanyInfo.CompanyKey="RICO"                'mdate   yDateFrom  =  "2010-­‐01-­‐01”      myDateTo  =  "2010-­‐03-­‐20"            'mcall  GetACHReturnsHist  method   yACHReturns  =  myACHWS.GetACHReturnsHist(myCompanyInfo,myDateFrom,myDateTo)      textBox1.Text=myACHReturns.Status  +  ",  "  +  myACHReturns.Details                'llist  returns  if  there  are  any   istBox1.Items.Clear            I  f  myACHReturns.TotalNumRecords>0  Then   For  i=0  To  myACHReturns.TotalNumRecords-­‐1                            l  istBox1.Items.Add("FrontEndTrace:"  +  myACHReturns.ACHReturnRecords(i).FrontEndTrace  +  _                                         ",  Date:"  +  myACHReturns.ACHReturnRecords(i).EffectiveDate.ToString  +  _                                                                                                          "",  Name:"  +  myACHReturns.ACHReturnRecords(i).CustomerName  +  _   ,  Amount:"  +  myACHReturns.ACHReturnRecords(i).TransAmount.ToString  +  _                                                                                                          "",  ResponseCode:"  +  myACHReturns.ACHReturnRecords(i).ResponseCode  +  _   ,  ActionDetail:"  +  myACHReturns.ACHReturnRecords(i).ActionDetail)            E  nd  If Next  i     End  Sub       getresultfile                                          'minstances   yACHWS  =  New  nsACHWorksWS.ACHWorksWS          mmyCompanyInfo  =  New  nsACHWorksWS.CompanyInfo   yResultFile  =  New  nsACHWorksWS.ResultFile   Sub  Button6Click(sender  As  Object,  e  As  EventArgs) Dim  myACHWS  As  nsACHWorksWS.ACHWorksWS Dim  myCompanyInfo  As  nsACHWorksWS.CompanyInfo Dim  myResultFile  As  nsACHWorksWS.ResultFile Dim  myDateFrom,myDateTo  as  Date ACHWorks-­‐SOAP  Ver  4.0    Guide  Copyright  ©  ACHWorks  2010.  All  Rights  Reserved.   Page  62  of  83                'mCompanyInfo   yCompanyInfo.SSS="TST"          mmyCompanyInfo.LocID="9505"   yCompanyInfo.Company="THAT  COMPANY"      myCompanyInfo.CompanyKey="RICO"            'mdate   yDateFrom  =  "2010-­‐03-­‐25"      myDateTo  =  "2010-­‐03-­‐26"            'mcall  GetResultFile  method   yResultFile  =  myACHWS.GetResultFile(myCompanyInfo,myDateFrom,myDateTo)            'tassign  status/details  to  textbox   extBox1.Text=myResultFile.Status  +  ",  "  +  myResultFile.Details            'llist  past  connection  results  to  listBox1   istBox1.Items.Clear            I  f  myResultFile.TotalResultRecords>0  Then   For  i=0  To  myResultFile.TotalResultRecords-­‐1                                                      ",  Method:"  +  myResultFile.TransResults(i).CallMethod  +  _          listBox1.Items.Add("DateTime:"  +  myResultFile.TransResults(i).CallDateTime.ToString  +  _                                                                                                            "",  Status:"  +  myResultFile.TransResults(i).Status  +  _   ,  FileName:"  +  myResultFile.TransResults(i).FileName)                            F  or  j=0  To  myResultFile.TransResults(i).TotalNumErrors-­‐1   listBox1.Items.Add(">"  +  myResultFile.TransResults(i).Errors(j).ToString)                    N  ext  i Next  j    End  Sub    End  If       geterrorfile                                      'minstances   yACHWS  =  New  nsACHWorksWS.ACHWorksWS          mmyCompanyInfo  =  New  nsACHWorksWS.CompanyInfo   yErrorFile  =  New  nsACHWorksWS.ErrorFile         Sub  Button7Click(sender  As  Object,  e  As  EventArgs) Dim  myACHWS  As  nsACHWorksWS.ACHWorksWS Dim  myCompanyInfo  As  nsACHWorksWS.CompanyInfo Dim  myErrorFile  As  nsACHWorksWS.ErrorFile Dim  myDateFrom,myDateTo  as  Date ACHWorks-­‐SOAP  Ver  4.0    Guide  Copyright  ©  ACHWorks  2010.  All  Rights  Reserved.   Page  63  of  83          'mCompanyInfo   yCompanyInfo.SSS="TST"          mmyCompanyInfo.LocID="9505"   yCompanyInfo.Company="THAT  COMPANY"      myCompanyInfo.CompanyKey="RICO"            'mdate   yDateFrom  =  "2010-­‐03-­‐25"      myDateTo  =  "2010-­‐03-­‐26"            'mcall  GetErrorFile  method   yErrorFile  =  myACHWS.GetErrorFile(myCompanyInfo,myDateFrom,myDateTo)            'tassign  status/details  to  textbox   extBox1.Text=myErrorFile.Status  +  ",  "  +  myErrorFile.Details            'llist  past  connection  errors  to  listBox1   istBox1.Items.Clear            I  f  myErrorFile.TotalErrorRecords>0  Then   For  i=0  To  myErrorFile.TotalErrorRecords-­‐1                                                      ",  Method:"  +  myErrorFile.ErrorRecords(i).CallMethod  +  _          listBox1.Items.Add("DateTime:"  +  myErrorFile.ErrorRecords(i).CallDateTime.ToString  +  _                                                      ",  No  of  Errors:"  +  myErrorFile.ErrorRecords(i).TotalNumErrors.ToString)                                                  ",  FileName:"  +  myErrorFile.ErrorRecords(i).FileName  +  _                                F  or  j=0  To  myErrorFile.ErrorRecords(i).TotalNumErrors-­‐1   listBox1.Items.Add(">"  +  myErrorFile.ErrorRecords(i).Errors(j).ToString)                    N  ext  i Next  j    End  Sub  End  If               ACHWorks-­‐SOAP  Ver  4.0    Guide  Copyright  ©  ACHWorks  2010.  All  Rights  Reserved.   Page  64  of  83   A2.3  C#    (.NET)     connectioncheck                                                       void  Button1Click(object  sender,  EventArgs  e) { //named  nsACHWorksWS  as  the  namespace  when  adding  web  reference //instances nsACHWorksWS.ACHWorksWS  myACHWS  =  new  nsACHWorksWS.ACHWorksWS(); nsACHWorksWS.CompanyInfo    myCompanyInfo  =  new  nsACHWorksWS.CompanyInfo();               //company  info myCompanyInfo.SSS="TST"; myCompanyInfo.LocID="9505"; myCompanyInfo.Company="THAT  COMPANY"; myCompanyInfo.CompanyKey="RICO";       //call  ConnectionCheck  method textBox1.Text=myACHWS.ConnectionCheck(myCompanyInfo); }       sendachtrans                                              /m/company  info   yCompanyInfo.SSS="TST";          mmyCompanyInfo.LocID="9505";   yCompanyInfo.Company="THAT  COMPANY";      myCompanyInfo.CompanyKey="RICO";                /m/ACHTransRecord   yACHTransRecord.SSS="TST";  //ACHWorks  assigned          mmyACHTransRecord.LocID="9505";  //ACHWorks  assigned   yACHTransRecord.FrontEndTrace="CC#-­‐0003";  //impt!  needs  a  unique  value  each  record  per  LocID          mmyACHTransRecord.OriginatorName="MYCOMPANY";   yACHTransRecord.TransactionCode="PPD";  //PPD,CCD,WEB,TEL,RCK,  etc.          mmyACHTransRecord.CustTransType="D";  //D  for  debit,  C  for  credit   yACHTransRecord.CustomerID="CustID0001";     void  Button2Click(object  sender,  EventArgs  e) { //instances nsACHWorksWS.ACHWorksWS  myACHWS  =  new  nsACHWorksWS.ACHWorksWS(); nsACHWorksWS.CompanyInfo    myCompanyInfo  =  new  nsACHWorksWS.CompanyInfo(); nsACHWorksWS.ACHTransRecord  myACHTransRecord  =  new  nsACHWorksWS.ACHTransRecord(); nsACHWorksWS.TransResult  myACHTransResult  =  new  nsACHWorksWS.TransResult(); ACHWorks-­‐SOAP  Ver  4.0    Guide  Copyright  ©  ACHWorks  2010.  All  Rights  Reserved.   Page  65  of  83          mmyACHTransRecord.CustomerName="DOE,  JOHN";    //Lastname,  Firstname  -­‐  all  caps   yACHTransRecord.CustomerRoutingNo="987654320";  //9-­‐digit  Bank  Routing  No          mmyACHTransRecord.CustomerAcctNo="0002311331555";  //Bank  Account  No   yACHTransRecord.CustomerAcctType="C";  //C  for  checking,  S  for  savings          mmyACHTransRecord.TransAmount=100.75;   yACHTransRecord.CheckOrCustID="9166388811";          mmyACHTransRecord.CheckOrTransDate=Convert.ToDateTime("2010-­‐03-­‐24");   yACHTransRecord.EffectiveDate=Convert.ToDateTime("2010-­‐03-­‐24");          mmyACHTransRecord.Memo="FirstPay";   yACHTransRecord.OpCode="S";  //S  for  single,  R  for  recurring      myACHTransRecord.AccountSet="1";    //ACHWorks  assigned            /m/call  SendACHTrans  method   yACHTransResult=myACHWS.SendACHTrans(myCompanyInfo,myACHTransRecord);                /t/assign  portion  of  result  to  textbox1  (e.g.  status  and  details)   extBox1.Text=myACHTransResult.Status  +  ",  "  +  myACHTransResult.Details;            /l/print  errors  to  listBox  if  there  is  any   istBox1.Items.Clear();          i{f  (myACHTransResult.TotalNumErrors>0)                      f  or  (int  i=0;  i0)                      f  or  (int  i=0;  i0)                  listBox1.Items.Add("FrontEndTrace:"  +  myACHReturns.ACHReturnRecords[i].FrontEndTrace  +        for  (int  i=0;  i0)                  listBox1.Items.Add("FrontEndTrace:"  +  myACHReturns.ACHReturnRecords[i].FrontEndTrace  +        for  (int  i=0;  i0)                    f{or  (int  i=0;  i"  +  myResultFile.TransResults[i].Errors[j]);                                              }      }       }     geterrorfile                                        /m/company  info   yCompanyInfo.SSS="TST";          mmyCompanyInfo.LocID="9505";   yCompanyInfo.Company="THAT  COMPANY";      myCompanyInfo.CompanyKey="RICO";            /m/date   yDateFrom=Convert.ToDateTime("2010-­‐03-­‐25");      myDateTo=Convert.ToDateTime("2010-­‐03-­‐26");   void  Button7Click(object  sender,  EventArgs  e) { //instances nsACHWorksWS.ACHWorksWS  myACHWS  =  new  nsACHWorksWS.ACHWorksWS(); nsACHWorksWS.CompanyInfo    myCompanyInfo  =  new  nsACHWorksWS.CompanyInfo(); nsACHWorksWS.ErrorFile  myErrorFile  =  new  nsACHWorksWS.ErrorFile(); DateTime  myDateFrom,  myDateTo;              /m/call  GetErrorFile  method   yErrorFile=myACHWS.GetErrorFile(myCompanyInfo,myDateFrom,myDateTo);      textBox1.Text=myErrorFile.Status  +  ",  "  +  myErrorFile.Details;                  /l/list  error  records   istBox1.Items.Clear();          i{f  (myErrorFile.TotalErrorRecords>0)            for  (int  i=0;  i"  +    myErrorFile.ErrorRecords[i].Errors[j]);    }     }         ACHWorks-­‐SOAP  Ver  4.0    Guide  Copyright  ©  ACHWorks  2010.  All  Rights  Reserved.   Page  72  of  83   A2.4  Java  (1.5/1.6)       connectioncheck    private  void  jButton1MouseClicked(java.awt.event.MouseEvent  evt)  {                                                                                          try              {                  //instances                  ACHWorksWS  myACHWS  =  new  ACHWorksWS();                  CompanyInfo  myCompanyInfo  =  new  CompanyInfo();                                  //assign  values  for  myCompanyInfo                  myCompanyInfo.sss="TST";                  myCompanyInfo.locID="9505";                  myCompanyInfo.company="THAT  COMPANY";                  myCompanyInfo.companyKey="RICO";                                                  //put  value  of  ConnectionCheck  call  to  jTextField                  jTextField1.setText(myACHWS.getACHWorksWSSoap().connectionCheck(myCompanyInfo));              }              catch  (Exception  e)              {                  jTextField1.setText("Exception  caught:  "  +  e);              }   }                                                                     sendachtrans    private  void  jButton2MouseClicked(java.awt.event.MouseEvent  evt)  {                      //need  to  'import'  the  following:              //import  java.util.*;              //import  java.text.*;              //import  javax.xml.datatype.DatatypeConfigurationException;              //import  javax.xml.datatype.DatatypeFactory;              //import  javax.xml.datatype.XMLGregorianCalendar;              //import  javax.swing.DefaultListModel;                try              {                  //instances                  ACHWorksWS  myACHWS  =  new  ACHWorksWS();                  CompanyInfo  myCompanyInfo  =  new  CompanyInfo();                  ACHTransRecord  myACHTransRecord  =  new  ACHTransRecord();                  TransResult  myACHTransResult  =  new  TransResult();                  DatatypeFactory  myDTF;                      //assign  values  for  myCompanyInfo                  myCompanyInfo.sss="TST";                  myCompanyInfo.locID="9505";                  myCompanyInfo.company="THAT  COMPANY";                  myCompanyInfo.companyKey="RICO";   ACHWorks-­‐SOAP  Ver  4.0    Guide  Copyright  ©  ACHWorks  2010.  All  Rights  Reserved.   Page  73  of  83                                  //ACHTransRecord                  myACHTransRecord.sss="TST";  //ACHWorks  assigned                  myACHTransRecord.locID="9505";  //ACHWorks  assigned                  myACHTransRecord.frontEndTrace="JJ-­‐0007";  //impt!  needs  a  unique  value  for  each  record  per  locid                  myACHTransRecord.originatorName="MYCOMPANY";                  myACHTransRecord.transactionCode="PPD";  //PPD,CCD,WEB,TEL,RCK,  etc.                  myACHTransRecord.custTransType="D";  //D  for  debit,  C  for  credit                  myACHTransRecord.customerID="CUSTID123";                  myACHTransRecord.customerName="DOE,  JOHN";    //Lastname,  Firstname  -­‐  all  caps                  myACHTransRecord.customerRoutingNo="987654320";  //9-­‐digit  Bank  Routing  No                  myACHTransRecord.customerAcctNo="00332358882";  //Bank  Account  No                  myACHTransRecord.customerAcctType="C";  //C  for  checking,  S  for  savings                  myACHTransRecord.transAmount=100.75;                  myACHTransRecord.checkOrCustID="9166388811";                    try                  {                        myDTF  =  DatatypeFactory.newInstance();                        myACHTransRecord.checkOrTransDate=myDTF.newXMLGregorianCalendar("2010-­‐03-­‐24T00:00:00");                        myACHTransRecord.effectiveDate=myDTF.newXMLGregorianCalendar("2010-­‐03-­‐24T00:00:00");                  }                  catch  (DatatypeConfigurationException  e)                  {                        jTextField1.setText("Date  exception  caught:  "  +  e);                  }                    myACHTransRecord.memo="FirstPay";                  myACHTransRecord.opCode="S";    //S  for  single,  R  for  recurring                  myACHTransRecord.accountSet="1";    //ACHWorks  assigned                    //call  SendACHTrans  method                  myACHTransResult  =  myACHWS.getACHWorksWSSoap().sendACHTrans(myCompanyInfo,  myACHTransRecord);                  jTextField1.setText(myACHTransResult.status  +  ",  "  +  myACHTransResult.details);                                  //list  errors  if  there  are  any                  if  (myACHTransResult.totalNumErrors>0)                  {                      DefaultListModel  myList  =  new  DefaultListModel();                        jList1.setVisibleRowCount(myACHTransResult.totalNumErrors);                      for  (int  i=0;  i0)                  {                      DefaultListModel  myList  =  new  DefaultListModel();                        jList1.setVisibleRowCount(myACHTransResult.totalNumErrors);                      for  (int  i=0;  i0)                  {                      DefaultListModel  myList  =  new  DefaultListModel();                        jList1.setVisibleRowCount(myACHReturns.totalNumRecords);                      for  (int  i=0;  i0)                  {   ACHWorks-­‐SOAP  Ver  4.0    Guide  Copyright  ©  ACHWorks  2010.  All  Rights  Reserved.   Page  79  of  83                      DefaultListModel  myList  =  new  DefaultListModel();                        jList1.setVisibleRowCount(myACHReturns.totalNumRecords);                      for  (int  i=0;  i0)                  {                      DefaultListModel  myList  =  new  DefaultListModel();                        jList1.setVisibleRowCount(myResultFile.totalResultRecords);                      for  (int  i=0;  i"  +   myResultFile.transResults.getTransResult().get(i).errors.getString().get(j));                      }                        jList1.setModel(myList);                    }              }              catch  (Exception  e)              {                    jTextField1.setText("Exception  caught:  "  +  e);              }        }                                               geterrorfile   private  void  jButton7MouseClicked(java.awt.event.MouseEvent  evt)  {                                                                                          //need  to  'import'  the  following:              //import  java.util.*;              //import  java.text.*;              //import  javax.xml.datatype.DatatypeConfigurationException;              //import  javax.xml.datatype.DatatypeFactory;   ACHWorks-­‐SOAP  Ver  4.0    Guide  Copyright  ©  ACHWorks  2010.  All  Rights  Reserved.   Page  81  of  83              //import  javax.xml.datatype.XMLGregorianCalendar;              //import  javax.swing.DefaultListModel;                try              {                  //instances                  ACHWorksWS  myACHWS  =  new  ACHWorksWS();                  CompanyInfo  myCompanyInfo  =  new  CompanyInfo();                  ErrorFile  myErrorFile  =  new  ErrorFile();                  DatatypeFactory  myDTF;                      //assign  values  for  myCompanyInfo                  myCompanyInfo.sss="TST";                  myCompanyInfo.locID="9505";                  myCompanyInfo.company="THAT  COMPANY";                  myCompanyInfo.companyKey="RICO";                    try                  {                        //instance                        myDTF  =  DatatypeFactory.newInstance();                          //call  GetResultFile  method                        myErrorFile  =   myACHWS.getACHWorksWSSoap().getErrorFile(myCompanyInfo,myDTF.newXMLGregorianCalendar("2010-­‐ 03-­‐25T00:00:00"),myDTF.newXMLGregorianCalendar("2010-­‐03-­‐26T00:00:00"));                  }                  catch  (DatatypeConfigurationException  e)                  {                        jTextField1.setText("Date  exception  caught:  "  +  e);                  }                    //assign  portion  of  result  to  jTextField                  jTextField1.setText(myErrorFile.status  +  ",  "  +  myErrorFile.details);                      //list  past  connection  results  if  there  are  any                  if  (myErrorFile.totalErrorRecords>0)                  {                      DefaultListModel  myList  =  new  DefaultListModel();                        jList1.setVisibleRowCount(myErrorFile.totalErrorRecords);                      for  (int  i=0;  i"  +   myErrorFile.errorRecords.getErrorRecord().get(i).errors.getString().get(j));                      }   ACHWorks-­‐SOAP  Ver  4.0    Guide  Copyright  ©  ACHWorks  2010.  All  Rights  Reserved.   Page  82  of  83                        jList1.setModel(myList);                    }              }              catch  (Exception  e)              {                    jTextField1.setText("Exception  caught:  "  +  e);              }      }                                                         ACHWorks-­‐SOAP  Ver  4.0    Guide  Copyright  ©  ACHWorks  2010.  All  Rights  Reserved.   Page  83  of  83  

Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
Linearized                      : No
Page Count                      : 83
PDF Version                     : 1.4
Title                           : ACHWorks-SOAP Ver4 Guide 1.3
Author                          : Rico Pamplona
Subject                         : SOAP Guide
Producer                        : Mac OS X 10.7.5 Quartz PDFContext
Creator                         : Word
Create Date                     : 2014:01:28 00:33:11Z
Modify Date                     : 2014:01:28 00:33:11Z
Keywords                        : SOAP Guide, API, ACHWorks Integration
Apple Keywords                  : SOAP Guide, API, ACHWorks Integration
EXIF Metadata provided by EXIF.tools

Navigation menu