Our Payment Gateway generates a unique token for each transaction which allows you to process repeat payments without having to store or secure cardholder data, thus reducing your scope of the relevant PCI standards. When our Payment Gateway sees a token it simply looks up the original card data used in the transaction and reuses it transparently. Cardholder data is stored and managed within the security boundaries of our PCI DSS Level 1 certification.
For more information, please see our Creditcall website on Tokenization.
Retrieving Tokens
ChipDNA Windows/Linux
Once ClientHelper.startTransaction(ParameterSet)
has been successfully called and the transaction has finished, ChipDNA will fire transactionFinishedEvent(EventParameters)
. The token consists of the following EventParameters
:
ParameterKeys.CardHash
ParameterKeys.CardReference
*The token will be returned during a TransactionType.Sale
(Auth) or TransactionType.AccountVerification
(Pre-Auth)
ChipDNA Mobile
Once a sale transaction is completed, ICardEaseMobileListener.standaloneTransactionCompleted(StandaloneTransactionResult)
will be invoked. The token can be retrieved with the following:
StandaloneTransactionResult.getCardHash( )
StandaloneTransactionResult.getCardReference( )
*The token will be returned only during a Sale transaction
Hosted Payment Page (formerly eKashu)
The Hosted Payment Page checkout process sends output properties as POST data to the URLs specified in the ekashu_success_url
and ekashu_callback_success_url
properties upon a successful transaction. The token can be recovered from the following properties:
ekashu_card_hash
ekashu_card_reference
*The token will be returned during an ekashu_request_type
of "auth" or "preauth"
Processing Tokenized Payments
Using our ChipDNA Direct API, you will need set the following in the Request
class: SoftwareName
, SoftwareVersion
, TerminalID
, TransactionKey
, RequestType
, and Amount
.
In addition to the above you will also need to set the retrieved token data:
Request.setCardHash(string cardHash)
Request.setCardReference(string cardReference)
You will then need to process the request using the Client
class to perform a tokenized payment.