Service Location:
For SOAP connections:
https://<assigned domain>/ws/transact.asmx?op=ProcessEBTCard
For standard HTTPS connections:
https://<assigned domain>/ws/transact.asmx/ProcessEBTCard?
Description:
EBT is used in all U.S. states to issue government benefits to recipients. Benefits are automatically deposited onto the card by the state and recipients are issued an “EBT card” (similar to a bank ATM or debit card) to receive their food stamp and/or cash benefits. Recipients with food stamp benefits can use their EBT cards for eligible food purchases at most grocery stores and some other retailers.
This web service is used whenever a transaction is completed via customer EBT card. The processes supported by this web service include:
• FoodStampSale – make a purchase on an EBT cardholder’s food stamp account
• FoodStampReturn – credit to an EBT cardholder’s food stamp account
• CashBenefitSale – make a purchase on an EBT cardholder’s cash benefit account
• Inquire – check the balance on an EBT card
• Capture – settle a single transaction in the current batch; only for terminal-based processors
• CaptureAll – settle all transactions in the current batch; only for terminal-based processors or host-based processors that support a batch release feature
• Force (Voucher Clear) – allow a merchant to pass a voucher number which is a reference number on the voucher slip to clear the transaction along with the authorization code obtained via a voice approval. This means that you can perform a pin-less EBT sale with the authorization code along with the voucher reference number.
The following transaction types apply to eWic processing.
• EWICAUTHORIZATION – Authorize amount for eWic transaction
• EWICCOMPLETION – Complete or capture the amount for an eWic authorization
• EWICSALE – Perform an eWic Sale
Developer Notes:
Invalid Characters: Some parameters and XML tags contain data that will automatically remove invalid characters from the user-entered data. These parameters and tags include:
• MagData
• NameOnCard
• InvNum
• RegisterNum
Register Number and Terminal ID Setup: When processing transactions with BuyPass, the Payment Server will attempt to match the RegisterNum passed from the client-side with the register number set up in the merchant account. Once it has made the match, it will send the corresponding terminal ID assigned to that register number to BuyPass. When no terminal ID is sent to BuyPass, the default value is sent (usually terminal ID “01”).
If you are also doing VRU (phone-originated) transactions, a separate terminal ID must be set up in the registers on the merchant account and submitted in your request through the web service.
If the merchant will be doing both internet and VRU transactions at the same time, the terminal ID value will be required to differentiate between the two. For example, you may set up “01” for Internet and “02” for VRU. The request sent through the ProcessEBTCard operation must then send the appropriate register number to reflect the appropriate transaction type.
Input Parameters:
O = Optional, R = Required, R* = Required except in Capture and CaptureAll transactions, R# = Required except for CaptureAll transactions, R1 = Required on Force and Capture transactions, R$ = Required on all swiped card transactions
Parameter Name |
Opt/Req |
Description |
UserName |
R |
User name assigned in the payment server. The user must have an appropriate level of access in order to utilize the web service. |
Password |
R |
Password associated with the user name provided. |
TransType |
R |
Identifies the type of debit card transaction being made. Valid values are: • FoodStampSale – make a purchase on an EBT cardholder’s food stamp account • FoodStampReturn – credit to an EBT cardholder’s food stamp account • CashBenefitSale – make a purchase on an EBT cardholder’s cash benefit account • Inquire – check the balance on an EBT card • Capture – settle a single transaction in the current batch; only for terminal-based processors • CaptureAll – settle all transactions in the current batch; only for terminal-based processors or host-based processors that support a batch release feature • Force (Voucher Clear) – allow a merchant to pass a voucher number along with authorization code to perform a pin-less EBT sale. The voucher reference number is a reference number on the voucher slip to clear the transaction along with the authorization code obtained via a voice approval. The following transaction types apply to eWic processing. • EWICAUTHORIZATION – Authorize amount for eWic transaction • EWICCOMPLETION – Complete or capture the amount for an eWic authorization • EWICSALE – Perform an eWic Sale |
CardNum |
R* |
EBT card number used to uniquely identify the owner’s account. |
ExpDate |
R* |
EBT card date of expiration in MMYY format. |
MagData |
O |
Data located on the magnetic strip on the back of the card. The format of the MagData is CardNum=ExpDate followed by the service code and checksum. For example: 36438999960016=05121015432112345678 |
NameOnCard |
O |
Card owner’s name as it appears on the card. See ‘Developer Notes’ for invalid character processing. Note: This parameter may be required depending on the merchant’s processor setup. Note: Invalid characters will be removed from this entry. See ‘Developer Notes’ for invalid character processing. |
Amount |
R* |
Total transaction amount in DDDD.CC format. Note: This amount includes the CashBackAmt and SureChargeAmt. |
InvNum |
O |
The invoice ID is assigned by the merchant. This identifier can be used to locate a specific transaction or multiple transactions grouped under a single invoice. |
PNRef |
R$ |
Unique payment reference number used to identify a single transaction within the system. The payment reference number (PNRef) is assigned by the payment server at the time the transaction is created. |
Pin |
R* |
The encrypted PIN-block returned by the PIN pad. Note: The transaction will fail if an unencrypted PIN is used. |
RegisterNum |
O |
A string that uniquely identifies the register, terminal, or computer on which the transaction was performed. |
SureChargeAmt |
O |
The amount, in DDDD.CC format, charged by a merchant in exchange for processing a debit card transaction. |
CashBackAmt |
O |
The amount, in DDDD.CC format, requested by the card holder in cash back from the debit transaction. |
ExtData |
O |
The ExtData parameter allows you to pass additional information to the web service that is not covered under the input parameters. ExtData values need not be placed in any particular order; however, they must be properly formatted using XML tags. The following information may be added via the ExtData parameter: Time out: (optional) Processor time out value in seconds. The default value for the parameter is 30 seconds for a transaction and 300 seconds for a settlement transaction. Valid format is: • <TimeOut>TimeOut</TimeOut> where TimeOut is the processor time out value in seconds. Training Mode: (optional) This is an indicator that specifies whether transactions will be processed for local loop back testing or treated normally. Valid formats are: • <TrainingMode>T</TrainingMode> where T (true) indicates that training mode is active and transactions are processed for local loop back testing. • <TrainingMode>F</TrainingMode> where F (false) indicates that training mode is inactive and transactions should be treated normally. Key Serial Number: (required for all non-PIN-less debit transactions) PIN pad serial number. Valid format is: • <KeySerialNumber>KeySerialNumber</KeySerialNumber> where KeySerialNumber is the PIN pad serial number used in managing DUKPT PIN pads. Force: (optional) This is an indicator that specifies whether or not duplicate transactions will be processed. Valid formats are: • <Force>T</Force> where T (true) indicates that duplicate transactions are accepted. • <Force>F</Force> where F (false) indicates that duplicate transactions are not accepted. Note: Some processors, including BuyPass, will not recognize this tag and reject duplicate transactions.
External IP: (optional) When using the Transact web service, the IP address defaults to the calling computer's IP. If the request is coming from an external source, the external IP address can be substituted for the purpose of logging and fraud control.
To implement this IP pass through functionality, the following XML node should be included in the external data field of the web service call...
• <ExternalIP>IP Address Here</ExternalIP>
If the ExternalIP node is not included in the external data field, then the default behavior of using the callers IP address is used.
eWic transactions (Specific to RapidConnect): For eWic transactions, you can supply eWic detail using the following parameters and must be contained in the EWicDetail group: • UPCPLUInd – Indicator for UPC/PLU, 0 for UPC, 1 for PLU • UPCPLUData – Can be up to 16 characters • UPCPrice – Can only be up to 6 digits, which includes two implied decimals • UPCQty – Number of Items or total weight of items, Can only be up to 5 digits, which includes two implied decimals
Below is an examples of what the string would look like without data:
<EWicDetails><EWicDetail><UPCPLUData/><UPRPrice/><UPCQty/></EWicDetail></EWicDetails>
Merchant FNS: For a Food benefit/snap transaction you can provide the Merchant FNS Number in the MerchantFNS tag: • <MerchantFNS>12345</MerchantFNS> |