dsiEMVApple™
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 (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 important support for any particular transaction code depends on the processing host's support of that transaction request full access to dsiemvapple api get started request developer credentials for free access to every product's integration guide