---
title: dsiEMVApple™
slug: datacap-api-overview/dsiemvappletm
docTags: 
createdAt: 2025-12-08T15:02:07.974Z
---

## What is dsiEMVApple?

dsiEMVApple is an Apple framework that provides POS applications with the ability to process an EMV (chip card) electronic payment. dsiEMVApple is designed to communicate exclusively to Datacap’s NETePay Hosted™ platform, and doesn’t require an in-store NETePay application. Communication to NETePay Hosted uses the Apple device’s IP stack, and all messages are encrypted for secure transmission over open networks (such as the Internet).

dsiEMVApple does not use any transaction storage on the client device; logging and transaction management occur at the NETePay Hosted servers.

dsiEMVApple directly controls an approved EMV device over Bluetooth LE or IP to manage all card data interactions. See [dsiEMVApple Secure Devices](docId:8gbfrtlNvFMwYcV_IZLzm) for a list of supported EMV devices and communication interfaces.

The dsiEMVApple control uses XML formatted requests and responses for transaction processing requests. For help getting started with dsiEMVApple, see Datacap’s [dsiEMVApple Demo app on GitHub](https://github.com/datacapsystems/DSIEMVAppleDemo), or [contact Datacap Integration Support](mailto\:integrationsupport@dcap.com).



## Supported EMV PIN Pad Devices (SecureDevice)

The payment device(s) supported by dsiEMVApple can be determined by performing the **GetDevicesInfo** method available in dsiEMVApple. See GetDevicesInfo for details.





| **Device/Payment Processing Provider** | **`<SecureDevice>` Value**    |
| -------------------------------------- | ----------------------------- |
| ID TECH VP3300 - Datacap E2E           | EMV\_VP3300\_DATACAP          |
| ID TECH VP3300 - Mercury               | EMV\_VP3300\_MERCURY          |
| ID TECH VP3300 - Monetary              | EMV\_VP3300\_MONETARY         |
| ID TECH VP3350 - Datacap E2E           | EMV\_VP3350\_DATACAP          |
| ID TECH VP3350 - PCI-Validated P2PE    | EMV\_VP3350\_DATACAP\_BLUEFIN |
| Ingenico Lane/3000                     | EMV\_LANE3000\_DATACAP\_E2E   |
| Ingenico Lane/7000                     | EMV\_LANE7000\_DATACAP\_E2E   |
| Ingenico DX4000 - Datacap E2E          | EMV\_DX4000\_DATACAP\_E2E     |
| Ingenico DX4000 - PCI-Validated P2PE   | EMV\_DX4000\_DATACAP\_BLUEFIN |
| Ingenico DX8000 - Datacap E2E          | EMV\_DX8000\_DATACAP\_E2E     |
| Ingenico DX8000 - PCI-Validated P2PE   | EMV\_DX8000\_DATACAP\_BLUEFIN |
| Ingenico EX6000 - Datacap E2E          | EMV\_EX6000\_DATACAP\_E2E     |
| Ingenico EX6000 - PCI-Validated P2PE   | EMV\_EX6000\_DATACAP\_BLUEFIN |
| Ingenico EX8000 - Datacap E2E          | EMV\_EX8000\_DATACAP\_E2E     |
| Ingenico EX8000 - PCI-Validated P2PE   | EMV\_EX8000\_DATACAP\_BLUEFIN |
| Ingenico RX5000 - Datacap E2E          | EMV\_RX5000\_DATACAP\_E2E     |
| Ingenico RX5000 - PCI-Validated P2PE   | EMV\_RX5000\_DATACAP\_BLUEFIN |
| Ingenico RX7000 - Datacap E2E          | EMV\_RX7000\_DATACAP\_E2E     |
| Ingenico RX7000 - PCI-Validated P2PE   | EMV\_RX7000\_DATACAP\_BLUEFIN |
| PAX A920Pro - Datacap E2E              | EMV\_A920PRO\_DATACAP\_E2E    |
| PAX A920MAX - Datacap E2E              | EMV\_A920PRO\_DATACAP\_E2E    |
| PAX A30 - Datacap E2E                  | EMV\_A30\_DATACAP\_E2E        |
| PAX A35 - Datacap E2E                  | EMV\_A35\_DATACAP\_E2E        |
| PAX A60 - Datacap E2E                  | EMV\_A60\_DATACAP\_E2E        |
| PAX A77 - Datacap E2E                  | EMV\_A77\_DATACAP\_E2E        |
| PAX A6650 - Datacap E2E                | EMV\_A6650\_DATACAP\_E2E      |
| PAX A6630 - Datacap E2E                | EMV\_A6630\_DATACAP\_E2E      |
| PAX A800 - Datacap E2E                 | EMV\_A800\_DATACAP\_E2E       |
| PAX A800 - Bluefin E2E                 | EMV\_A800\_DATACAP\_BLUEFIN   |
| PAX A3700 - Datacap E2E                | EMV\_A3700\_DATACAP           |
| PAX A3700 - Bluefin E2E                | EMV\_A3700\_DATACAP\_BLUEFIN  |
| PAX A6650 - Datacap E2E                | EMV\_A6650\_DATACAP\_E2E      |
| PAX Aries6 - Datacap E2E               | EMV\_ARIES6\_DATACAP\_E2E     |
| PAX Aries8 - Datacap E2E               | EMV\_ARIES8\_DATACAP\_E2E     |
| PAX IM30 - Datacap E2E                 | EMV\_IM30\_DATACAP\_E2E       |



## Supported Transactions and Operations

The following transaction codes TranCode are supported in dsiEMVApple

### Credit/Debit Transactions

| **Operation**             | **Definition**                                                                                                                                                                                                                                                                                                                                                                                                    | **Supported By** |
| ------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------- |
| EMVPadReset               | This command must be performed after every monetary transaction (Sale, VoidSale, Return, VoidReturn, VoiceAuth, ZeroAuth, etc) to assure that no card remains in the PIN pad chip reader.  If no card is in the reader, then a response should be returned in 2-3 seconds.  If there’s a card in the reader, the PIN pad displays ‘Remove Card’ and waits for the card to be removed before returning a response. | Credit or Debit  |
| EMVSale                   | EMV Sale transaction                                                                                                                                                                                                                                                                                                                                                                                              | Credit or Debit  |
| EMVSaleWithSplit          | EMV Sale with Split Fee Funding                                                                                                                                                                                                                                                                                                                                                                                   | Credit or Debit  |
| SaleByRecordNo            | Sale transaction using a processor supplied multi-use token                                                                                                                                                                                                                                                                                                                                                       | Credit           |
| EMVPreAuth                | To preauthorize a credit card which must be subsequently captured for settlement                                                                                                                                                                                                                                                                                                                                  | Credit           |
| PreAuthByRecordNo         | To preauthorize a credit card using a processor supplied multi-use token                                                                                                                                                                                                                                                                                                                                          | Credit           |
| EMVVoidSale               | Void of a previously completed EMV Sale transaction                                                                                                                                                                                                                                                                                                                                                               | Credit           |
| VoidSaleByRecordNo        | Void of a previously completed EMV Sale transaction using transaction reference identifier(s)                                                                                                                                                                                                                                                                                                                     | Credit           |
| EMVReturn                 | EMV Return transaction                                                                                                                                                                                                                                                                                                                                                                                            | Credit or Debit  |
| ReturnByRecordNo          | Return transaction using a processor supplied multi-use token                                                                                                                                                                                                                                                                                                                                                     | Credit           |
| EMVVoidReturn             | Void of a previously completed EMV Return transaction                                                                                                                                                                                                                                                                                                                                                             | Credit           |
| VoidReturnByRecordNo      | Void of a previously completed EMV Return transaction using transaction reference identifier(s)                                                                                                                                                                                                                                                                                                                   | Credit           |
| EMVVoiceAuth              | Capture a transaction that was authorized by voice into the current batch                                                                                                                                                                                                                                                                                                                                         | Credit           |
| EMVZeroAuth               | To verify a card is valid without charging any amount                                                                                                                                                                                                                                                                                                                                                             | Credit           |
| AdjustByRecordNo          | To adjust the gratuity amount on a previously processed EMVSale or EMVVoiceAuth transaction.                                                                                                                                                                                                                                                                                                                      | Credit           |
| PreAuthCaptureByRecordNo  | To add a gratuity to a previously processed EMVPreAuth transaction and capture the transaction to the Credit current batch.                                                                                                                                                                                                                                                                                       | Credit           |
| IncrementalAuthByRecordNo | To increase the authorized amount of a previous PreAuth transaction                                                                                                                                                                                                                                                                                                                                               | Credit           |
| PartialReversalByRecordNo | To decrease the authorized amount of a previous PreAuth transaction.                                                                                                                                                                                                                                                                                                                                              | Credit           |
| VoidByInvoiceNo           | To void the authorized amount of a previous sale transaction.                                                                                                                                                                                                                                                                                                                                                     | Credit           |

### PrePaid

| **Operation**              | **Definition**                                                                                                                                   |
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
| PrePaid EMVIssue           | Issue a new prepaid (stored value) card with a starting balance (value).                                                                         |
| PrePaid EMVVoidIssue       | Void the previous issue a new prepaid (stored value) card with a starting balance (value).                                                       |
| PrePaid EMVSale            | Process a payment (purchase) using a prepaid card. PrePaid sales reduce the available balance (value) of the account (card).                     |
| PrePaid EMVVoidSale        | Void a previous a payment (purchase) on a prepaid card. PrePaid void sales increase the available balance (value) of the account (card).         |
| PrePaid SaleByRecordNo     | Process a PrePaid EMV Sale transaction without a card present.                                                                                   |
| PrePaid VoidSaleByRecordNo | Void of a previously completed PrePaid EMV Sale transaction using transaction reference identifier(s).                                           |
| PrePaid EMVReturn          | Process a return (refund) using a prepaid card. PrePaid returns increase the available balance (value) of the account (card).                    |
| PrePaid EMVVoidReturn      | Void a previous a return (refund) on a prepaid card. PrePaid void returns decrease the available balance (value) of the account (card).          |
| PrePaid EMVCashOut         | Process a cash refund of the remaining balance on a prepaid card. A CashOut reduces the available balance (value) of the account (card) to zero. |
| PrePaid EMVBalance         | Find the remaining balance (value) on a prepaid card.                                                                                            |

### EBT

| **Operation**            | **Definition**                                                                                                                                                                                                                                                                       |
| ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| EBT Foodstamp EMVSale    | Process a Foodstamp payment on an EBT card. Foodstamp EBT sales require the input of a PIN (Personal Identification Number) by the cardholder into a PIN pad device which encrypts the PIN number for secure transmission to the bank’s computer for validation.                     |
| EBT Foodstamp EMVReturn  | Process a Foodstamp return (refund) on an EBT card. Foodstamp EBT returns require the input of a PIN (Personal Identification Number) by the cardholder into a PIN pad device which encrypts the PIN number for secure transmission to the bank’s computer for validation.           |
| EBT Foodstamp EMVBalance | Process a foodstamp balance inquiry on an EBT card. Foodstamp EBT balance inquiries require the input of a PIN (Personal Identification Number) by the cardholder into a PIN pad device which encrypts the PIN number for secure transmission to the bank’s computer for validation. |
| EBT Foodstamp EMVVoucher | Process a Foodstamp voucher payment. The AcctNo, ExpDate, AuthCode and VoucherNo data must be supplied from the printed voucher.                                                                                                                                                     |
| EBT Cash EMVSale         | Process a cash payment on an EBT card. Cash EBT sales require the input of a PIN (Personal Identification Number) by the cardholder into a PIN pad device which encrypts the PIN number for secure transmission to the bank’s computer for validation.                               |
| EBT Cash EMVBalance      | Process a cash balance inquiry on an EBT card. EBT cash balance inquiries require the input of a PIN (Personal Identification Number) by the cardholder into a PIN pad device which encrypts the PIN number for secure transmission to the bank’s computer for validation.           |

### eWIC

| **Operation**      | **Definition**                                                                                                                                                 |
| ------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| eWIC Balance       | The eWIC Balance is processed to get the balance for customer’s card on demand from eWIC processor.                                                            |
| eWIC BalancePreVal | The eWIC BalancePreVal is processed prior to an eWIC Sale to get the customer’s prescription from the eWIC processor.                                          |
| eWIC Sale          | The eWIC Sale transaction is used to process payment for an included list of eWIC eligible items.                                                              |
| eWIC VoidSale      | The eWIC VoidSale transaction is used to process a refund (return) for a previously completed eWIC Sale transaction.                                           |
| eWIC Voucher       | To process a eWIC Voucher payment. The AcctNo must be manually input on PIN pad and the AuthCode and VoucherNo data must be supplied from the printed voucher. |

### FSA

| **Operation**   | **Definition**                                                                                                                    |
| --------------- | --------------------------------------------------------------------------------------------------------------------------------- |
| FSA EMVSale     | Process a payment on a Flexible Spending Account credit card.                                                                     |
| FSA EMVVoidSale | Void (reverse) a previously completed sale (payment) transaction in the current batch on a Flexible Spending Account credit card. |

### Admin

| **Operation**    | **Definition**                                                                                                                                                                                                          |
| ---------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| EMVParamDownload | This command loads essential parameter and security information into the EMV PIN pad. This command must be performed as requested by the payment service provider OR when a pad is replaced OR new PIN pad installation |
| ServerVersion    | Reports the NETePay server version with which the dsiEMVApple is communicating                                                                                                                                          |
| BatchSummary     | Retrieves current batch summary information (overall counts and net amount; optionally totals by card type)                                                                                                             |
| BatchClose       | To close the currently open batch                                                                                                                                                                                       |

### Other

| **Operation**     | **Definition**                                                                                                                                                              |
| ----------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| PrintReceipt      | Print a receipt on PIN pad devices which support this feature. (Currently the Ingenico Move/3500, Ingenico Move/5000, Ingenico Desk/3500, Ingenico Desk/5000, PAX A920Pro). |
| GetAnswer         | To prompt a question and obtain an answer using the attached PIN pad.                                                                                                       |
| GetYesNo          | Custom two choice prompt on pad.                                                                                                                                            |
| GetMultipleChoice | Custom multi choice prompt, max 6 choices.                                                                                                                                  |
| GetSuggestiveTip  | Gratuity multiple choice prompt, max 6 choices.                                                                                                                             |
| GetSignature      | Get a digitized signature from a signature capture capable PIN pad.                                                                                                         |
| GetPhoneNumber    | To obtain a customer’s phone number using the attached PIN pad.                                                                                                             |
| GetID             | To obtain a customer’s ID number using the attached PIN pad.                                                                                                                |
| SetTerms          | To set terms and conditions on a signature capture PIN Pad.                                                                                                                 |
| DisplayTerms      | To display terms and conditions on a signature capture PIN pad for customers to accept or decline.                                                                          |
| DisplayTerms      | To display terms and conditions on a signature capture PIN pad for customers to accept or decline.                                                                          |
| DisplayOnDevice   | To display text on connected PIN pad.                                                                                                                                       |
| GetGenericAmount  | To obtain an amount outside of a normal transaction flow.                                                                                                                   |
| GetManualTip      | To obtain a manual tip outside of the suggestive tip prompt flow.                                                                                                           |
| GetZipCode        | To obtain the zip code for the cardholder's credit card using the attached PIN pad.                                                                                         |

### Additional Use Cases

| **Operation**             | **Definition**                                                                                                                                                                                                                                                                                                                                    |
| ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Payment Fee Suite         | dsiEMVApple supports Datacap's Payment Fee Suite (Compliant Surcharge with Lookup, Dual or multi-pricing, and Convenience Fee / Split fee funding)                                                                                                                                                                                                |
| CardholderID              | CardholderID allows ISVs to track unique cardholders across their entire merchant base for data aggregation and proactive marketing.                                                                                                                                                                                                              |
| SuggestiveTipPrompt       | dsiEMVApple supports Sugggestive Tip Prompting on select supported PIN pads.                                                                                                                                                                                                                                                                      |
| Custom Amount Format      | On PAX Android devices, dsiEMVApple supports the `<CustomAmountFormat>` field, which allows integrators to display a custom message to the cardholder on the "collect card data" form screen.                                                                                                                                                     |
| Custom Forms              | dsiEMVApple supports customs forms, so integrators can develop/design their own forms packages on PAX Android devices.                                                                                                                                                                                                                            |
| Parking IN/OUT            | dsiEMVApple PAX Android devices support a method to uniquely identify a customer’s payment card, allowing the POS to determine when the customer is entering and exiting a parking lot or garage. Datacap’s control combines and hashes the unencrypted parts of the payment card, and provides them back to the POS as a base-64 encoded string. |
| Stored Credential On File | Ideal for situations of recurring payments and installment payments. By using COF, the merchant and POS avoid storing card data for recurring transactions, and maintain compliance with the card brands.                                                                                                                                         |



:::hint{type="warning"}
**Important**: Support for any particular transaction code depends on the processing host's support of that transaction.
:::



## Request Full Access to dsiEMVApple API

:::CtaButton{label="Request Access" externalHref="https://dsidevportal.com/request-access" openInNewTab="true"}

:::

:::hint{type="success"}
**Get started:** Request developer credentials for free access to every product's integration guide.
:::

