Cassette for BankServACH command reference
For each WebSphere Commerce Payments application programming interface (API) command, the following sections describe:
- All BankServ-specific protocol parameters
- Any special notes related to the Cassette for BankServACH handling of framework parameters.
The following section outlines information specific to the BankServ protocol for the parameters on WebSphere Commerce Payments commands.
AcceptPayment
The AcceptPayment command causes a framework order and a BankServACH cassette order to be created. If the ApproveFlag is set to 1, then a framework payment and BankServACH cassette payment are also created. If the DepositFlag is set to 1, then the Payment is added to the currently open batch (if there isn't a batch open, one will be created implicitly) and an Electronic Check transaction is sent to the BankServ payment gateway.
Name | Value |
---|---|
$BUYERNAME | Specifies the name of the buyer. The value is specified as a 1-80 character string. |
$STREETADDRESS | Specifies the first line of the street address. The value is specified as a 1-50 character string. |
$CITY | Specifies the city. The value specified is a 1-50 character string. |
$STATEPROVINCE | Specifies the 2 character state abbreviation. See Appendix A. Country codes and state codes for a list of valid state codes. |
$POSTALCODE | Specifies the 5 or 9 digit zip code. |
$COUNTRYCODE | Specifies the 2 character country code of the buyer. See Appendix A. Country codes and state codes for a list of valid country codes. |
$PHONE | Specifies the phone number of the buyer. The value specified is a 1-10 digit number. |
$CHECKROUTINGNUMBER | Specifies the nine digit check routing number of the buyer. The value specified is a 9 digit number. |
$CHECKINGACCOUNTNUMBER | Specifies the checking account number of the buyer. The value specified is a 1-17 digit number. |
Name | Value |
---|---|
$STREETADDRESS2 | Specifies the second line of the street address. The value specified is a 1-50 character string. |
$EMAILADDRESS | Specifies the e-mail address of the buyer. The value specified is a 1-49 character string. |
Approve
The Approve command causes a framework payment and BankServACH cassette payment to be created. If the DepositFlag is set to 1, then the Payment is added to the currently open batch (if there isn't a batch open, one will be created implicitly) and an Electronic Check transaction is sent to the BankServ payment gateway.
ApproveReversal
The ApproveReversal command causes the specified payment to be retrieved and reversed. This command is a local operation only. There are no messages that flow to the BankServ payment gateway as a result of this command. The BankServACH cassette will support both full and partial reversals. This works as follows:
- If the AMOUNT in the request is 0, then a full reversal is done and the payment moves into PAYMENT_VOID state.
- If the AMOUNT is non-0, then the payment amount is updated with an amount equal to the amount in the ApproveReversal request. The state of this newly updated payment stays in the PAYMENT_APPROVED state.
BatchOpen
This command is not supported since all batches are opened implicitly. If this command is issued with PAYMENTTYPE set to BankServACH the command will fail with PRC_COMMAND_NOT_SUPPORTED and RC_NONE.
BatchPurge
The BatchPurge command is not supported. If this command is issued with PAYMENTTYPE set to BankServACH the command will fail with PRC_COMMAND_NOT_SUPPORTED and RC_NONE.
BatchClose
The BatchClose command is a local operation only since settlement occurs outside the scope of cassette. The way settlement occurs is that every day at 2:30 p.m. PST, all transactions that have been received and authorized by the BankServ gateway in the previous 24 hours are sent, as a batch, to the BankServ originating bank (ODFI), where they are introduced into the ACH network. The cassette is not involved in this process. The cassette does support the automatic closing of the currently open batch (see CreateAccount for details), and it is expected that merchants will configure this to be 2:30 p.m. PST.
When a BatchClose command is received, the current batch will be put in CLOSED state (moving all associated payments to CLOSED state as well) and will no longer accept new transactions.
CassetteControl
The CassetteControl command is not supported. This command will fail with the following return codes:
- PRC_COMMAND_NOT_SUPPORTED
- RC_NONE.
CloseOrder
The Delete option may be used only if every Batch containing one or more of the Payments or Credits has already been Closed.
CreateAccount
Name | Value |
---|---|
$BATCHCLOSETIME | In the format HHMM, the (local) time of day an automatic BatchClose is to occur. |
CreatePaySystem
Name | Value |
---|---|
$MERCHANTPIN | Merchant assigned pin. The value specified is a 1-200 character string. |
DeleteBatch
The DeleteBatch command removes the specified Batch from the database. A Batch can be deleted only if the Batch is in Closed state.
Deposit
The Deposit command causes the specified payment to be added to the currently open batch. If a batch is not currently open, one is created. This command causes an Electronic Check transaction to be sent to the BankServ gateway. If the operation is successful, the payment moves from Approved state to Deposited state.
DepositReversal
The DepositReversal command causes the specified payment to be removed from the currently open batch. In addition, it causes the transaction to be removed from the BankServ batch. There is no concept of partial reversals; you are either adding transactions to the batch or you are removing transactions from the batch. Removing a transaction from the batch is accomplished by sending an Electronic Check transaction to the BankServ gateway with the rule set ID = "ACHVOID". If the transaction is successful, then the payment is removed from the batch (both the cassette batch and the BankServ batch) and the payment moves to the PAYMENT_APPROVED state. This command is valid for payments in DEPOSITED state.
ModifyAccount
Name | Value |
---|---|
$BATCHCLOSETIME | In the format HHMM, the (local) time of day an automatic BatchClose is to occur. |
ModifyCassette
Name | Value |
---|---|
$READTIMEOUT | Number of seconds to wait while communicating with the BankServ payment gateway. |
$CONNECTTIMEOUT | Number of seconds to wait while attempting connection to the BankServ payment gateway. |
$CONNECTRETRIES | Number of times to retry a connection attempt to the BankServ payment gateway. |
$MAXRETRIES | When a communications error occurs (i.e.not a connection failure), the maximum number of immediate retries to attempt before either returning a communication error, or before entering the delayed retry cycle. |
$ATTEMPTINTERVAL | When a communications error occurs, the number of seconds to wait before trying the next set of (delayed) retries. |
$MAXATTEMPTS | Maximum number of delayed retry sets. Default is 3. |
$SOCKSHOSTNAME | TCP Host Address for socks server (0-254 character string). Specify
the fully qualified host name carefully. For example, |
$SOCKSPORTNUMBER | Socks port number |
$BANKSERVURL | The URL to access the BankServ payment gateway. |
ModifyPaySystem
Name | Value |
---|---|
$MERCHANTPIN | Merchant assigned PIN. |
ReceivePayment
This command is not supported because the cassette does not support order creation by a wallet. If this command is issued with PAYMENTTYPE set to BankServ the command will fail with:
- PRC_COMMAND_NOT_SUPPORTED and RC_NONE.
Refund
This command is not supported since BankServ ACH transactions do not have the concept of refunds. If this command is issued with PAYMENTTYPE set to BankServACH the command will fail with PRC_COMMAND_NOT_SUPPORTED and RC_NONE.
RefundReversal
This command is not supported since BankServ ACH transactions do not have the concept of refunds. If this command is issued with PAYMENTTYPE set to BankServACH the command will fail with PRC_COMMAND_NOT_SUPPORTED and RC_NONE.