ePay Adjustment Interface

This interface will allow the client to cancel pending payments electronically. There are two steps to this process: the request and the response. Both are described below.

1. Request

You must pass a request to the the ePay CGI as if the browser were passing a completed form. The 'post' method is used. Below is the definition of each form field expected. Below the definitions is an actual example. Replacing the form variable values in the example will give you a working example. When your program generates the same outputs as the modified example, the request portion is complete and should work.

Variable Type Value Notes
  (*1)    
formid C webx001a Tells the system which authentication system to use. Do not change this value unless instructed.
client A (CLIENTID) Each client is assigned an ID. You will use your unique client code here. Client IDs are always upper-case.
user C remote-cancel The system cancel account.
password C (password) The password assigned to your remote-cancel account.
action C LogIn Tells the system to complete authentication prior to processing the ach variables.
what R   "What" is a code up to 16 characters and has the following values:
  1. kill -- cancel a pending payment
  2. resched - reschedule a single payment
  3. adjust - Adjust a single Payment (date and dollar for now) If the date is provided (not-null), the date will be changed. If the dollar is provided, the transaction amount will be changed
seqno R   The transaction sequence number (originally assigned by EBS). This identifies the transaction you wish to cancel.
cid1 O   If provided, the system will ensure that the transaction being cancelled has the same CID1 that you provide in this field. This helps prevent cancelling the wrong transaction.
all O   Y or blank. Only valid for "kill". When value is Y, cid1 is required. It will cancel all transactions starting with the first transaction for this person based on the seqno and all transactions for that cid1 on a later date.
reason_code R   The reason for the cancel request. ACH cancel codes: N01 to N14. CC cancel codes: CC1 to CC3 (*2).
reason_text R   The textual description for the reason_code. Must match the text from the on-line system (*2).
resched_date O   Blank for "kill" and required for "resched" and optional for "adjust". Must be in yyyymmdd format. The reschedule date must not be less than 'today'
amount O   Ignored for "kill" and "resched", optional for "adjust". This is the updated amount of the transaction. Leave blank for a resched. Must be a left-justified dollar in the form 9.99. There may be only one decimal point, two digits after the decimal (cents) and from one to eight digits before the decimal (dollars). A zero-dollar amount is invalid. The amount must be less than the original transaction. This is the same as the amount to pay from the data entry form. Fees are added to this amount to determine the amount to charge. (*3)

Notes:

  • (*1) C=Constant, R=Required Variable, O=optional variable, A=Assigned by EBS (contact your support rep)
  • (*2) Reason code/text is only required on a "kill" (cancel). See the Reason Table below for a list of codes and descriptions.
  • (*3) Adjustments only. The fees are not recalculated. The fee from the original transaction is maintained on the adjusted transaction. In order to recalculate the fees, kill the existing transaction and create a new transaction.

Additional Comments:

  • All variable names are case-sensitive
  • All constants and assigned variables are case-sensitive and must be provided as shown. All other variables are not case-sensitive unless noted in the table above.

Reason Table

CodeDescription
N01Funds not available
N02Incorrect account number
N03Moved payment to different day
N04Used credit card to pay
N05Duplicate payment
N06Filing bankruptcy/attorney involved
N07Account closed/recalled
N08Cease and desist
N09Overpay
N10Funds by sent in mail
N11PIF / SIF
N12Payor requested cancelation
N13Client requested cancelation
N14Pending Cancelled due to NSF
CC1Pending
CC2As Per Client
CC3Chargeback

Sample Form:

	<!DOCTYPE HTML PUBLIC "-//W3C/DTD HTML 3.2//EN">
	<html>
	<head>
	   <meta HTTP-EQUIV="Pragma" CONTENT="no-cache">
	   <meta HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
	   <title>ECSI Login</title>
	</head>

	<body onload="document.form01.submit()">
	  <form name="bcgi01" method=POST action="https://www.ecsi.net/cgi-bin/webt.exe">
	    <input type="hidden" name="formid" value="webx001a">
	
	
	    <input type="hidden" name="client" value="DEMO-EPAY">
	    <input type="hidden" name="user" value="remote-fixup">
	    <input type="hidden" name="password" value="mypassword">
	    <input type="hidden" name="action" value="LogIn">

	    <input type="hidden" name="what" value="kill">
	    <input type="hidden" name="seqno" value="1918206">
	    <input type="hidden" name="cid1" value="111111111">
	    <input type="hidden" name="all" value="Y">

	    <input type="hidden" name="reason_code" value="N13">
	    <input type="hidden" name="reason_text" value="Client requested cancelation">
	    <input type="hidden" name="reason_date" value="20090521">
	    <input type="hidden" name="amount" value="150.00">

	  </form>
	</body>
	</html>
	    

2. Response

If you do not use the "force" option, a form will be presented allowing the user to complete the data entry. If you have arranged to have your form automatically post, you will receive a special response buffer as described below.

The system will present a response page after a successful request. The page will have three, formatted HTML comment lines as shown below. You will need to search for the first line (it is not the first line of the response page). Once you find the first line, the three lines will appear in order.

Sample Response Lines

	<!-- Response: text1-->
	<!-- Reason: text2-->
	<!-- Seqno: number-->
	    

The definition of the response lines is as follows:

text1
Will return either "pass" or "fail". Pass means the transaction was cancelled. Fail means something went wrong, consult text2 for more info.

text2
Will contain a textual description. An example might be "Cannot loacate transaction" would imply that the transaction seqno could not be found.

The rest of the Response Page can safely be ignored. As the ePay system is primarly an on-line system, it may contain other information which made up the page that would have been presented to the user.