ChipDna Mobile
Loading...
Searching...
No Matches
Class Methods | List of all members
ChipDnaMobile Class Reference

This class should be used for processing Card Present sale and refund transactions on a mobile device. More...

#import <ChipDnaMobile.h>

Inherits NSObject.

Class Methods

(ChipDnaMobile *) + sharedInstance
 
(BOOL) + isInitialized
 
(CCParameters *) + initialize:
 
(CCParameters *) + dispose:
 
(void) + addAvailablePinPadsTarget:action:
 
(void) + removeAvailablePinPadsTarget:
 
(void) + addTmsUpdateTarget:action:
 
(void) + removeTmsUpdateTarget:
 
(void) + addConnectAndConfigureFinishedTarget:action:
 
(void) + removeConnectAndConfigureFinishedTarget:
 
(void) + addDeviceUpdateTarget:action:
 
(void) + removeDeviceUpdateTarget:
 
(void) + addConfigurationUpdateTarget:action:
 
(void) + removeConfigurationUpdateTarget:
 
(void) + addTransactionFinishedTarget:action:
 
(void) + removeTransactionFinishedTarget:
 
(void) + addTransactionUpdateTarget:action:
 
(void) + removeTransactionUpdateTarget:
 
(void) + addUserNotificationTarget:action:
 
(void) + removeUserNotificationTarget:
 
(void) + addSignatureVerificationTarget:action:
 
(void) + removeSignatureVerificationTarget:
 
(void) + addVoiceReferralTarget:action:
 
(void) + removeVoiceReferralTarget:
 
(void) + addForcedAcceptanceTarget:action:
 
(void) + removeForcedAcceptanceTarget:
 
(void) + addDeferredAuthorizationTarget:action:
 
(void) + removeDeferredAuthorizationTarget:
 
(void) + addPartialApprovalTarget:action:
 
(void) + removePartialApprovalTarget:
 
(void) + addIdVerificationTarget:action:
 
(void) + removeIdVerificationTarget:
 
(void) + addCardDetailsTarget:action:
 
(void) + removeCardDetailsTarget:
 
(void) + addProcessReceiptFinishedTarget:action:
 
(void) + removeProcessReceiptFinishedTarget:
 
(void) + addCardApplicationSelectionTarget:action:
 
(void) + removeCardApplicationSelectionTarget:
 
(void) + addSignatureCaptureTarget:action:
 
(void) + removeSignatureCaptureTarget:
 
(void) + addFirmwareUpdateTarget:action:
 
(void) + removeFirmwareUpdateTarget:
 
(CCParameters *) - getAvailablePinPads:
 
(CCParameters *) - setProperties:
 
(CCParameters *) - getAvailableCurrencies:
 
(CCParameters *) - requestTmsUpdate:
 
(CCParameters *) - connectAndConfigure:
 
(CCParameters *) - getStatus:
 Checks the current status of various components of ChipDNA Mobile in a single call. More...
 
(CCParameters *) - getMerchantData:
 
(CCParameters *) - startTransaction:
 
(CCParameters *) - setIdleMessage:
 
(CCParameters *) - terminateTransaction:
 
(CCParameters *) - continueSignatureVerification:
 
(CCParameters *) - continueSignatureCapture:
 
(CCParameters *) - continueVoiceReferral:
 
(CCParameters *) - continueForcedAcceptance:
 
(CCParameters *) - continueDeferredAuthorization:
 
(CCParameters *) - continuePartialApproval:
 
(CCParameters *) - continueCardApplicationSelection:
 
(CCParameters *) - continueIdVerification:
 
(CCParameters *) - getCardDetails:
 
(CCParameters *) - confirmTransaction:
 
(CCParameters *) - processReceipt:
 
(CCParameters *) - linkedRefundTransaction:
 
(CCParameters *) - voidTransaction:
 
(CCParameters *) - getTransactionInformation:
 
(CCParameters *) - retryFailedOfflineRequest:
 
(CCParameters *) - deleteFailedOfflineRequest:
 
(CCParameters *) - disconnect:
 

Detailed Description

This class should be used for processing Card Present sale and refund transactions on a mobile device.

Author
Creditcall Ltd

It is also provides the necessary functionality for refunding a sale transaction and emailing and sending SMS receipts. connectAndConfigure, startTransaction, linkedRefundTransaction, getCardDetails , confirmTransaction and voidTransaction cannot be executed simultaneously, the operation that they perform needs to be finished before any of the other methods is executed. The method dispose: cannot be used when the above operations are taking place. Otherwise AnotherOperationBeingProcessed error is returned.

Method Documentation

◆ addAvailablePinPadsTarget:action:

+ (void) addAvailablePinPadsTarget: (id)  target
action: (SEL)  action 

Add an observer and action to be called with the response to ChipDnaMobile#getAvailablePinPads:.

When an observer no longer requires the result of calls to ChipDnaMobile#getAvailablePinPads: it should be removed using the removeAvailablePinPadsTarget: method.

Parameters
targetTarget observing results of ChipDnaMobile#getAvailablePinPads:.
actionSelector to be called on observing Target.

◆ addCardApplicationSelectionTarget:action:

+ (void) addCardApplicationSelectionTarget: (id)  target
action: (SEL)  action 

Add an observer and action to know when card application selection is required after a call to ChipDnaMobile#startTransaction.

When updates are no longer required by the observer a call should be made to ChipDnaMobile#removeCardApplicationSelectionTarget:.

Parameters
targetTarget wishing to know when Card Application Selection is required.
actionAction to be called on the observing target.

◆ addCardDetailsTarget:action:

+ (void) addCardDetailsTarget: (id)  target
action: (SEL)  action 

Add an observer and action to receive the results of calls to ChipDnaMobile#getCardDetails:.

Observers will receive a CCParameters collection which can contain:

CCParamResult defining whether card details have successful be retrieved. Value can be either TRUE or FALSE.

CCParamError defining a comma separated string of error strings.

CCParamExpiryDate defining the expiry date returned by the PIN pad in the format YYMM.

CCParamMaskedTrack2 defining the masked track2 returned by the PIN pad.

CCParamMaskedPan defining the masked PAN returned by the PIN pad.

When updates are no longer required by the observer a call should be made to ChipDnaMobile#removeCardDetailsTarget:.

Parameters
targetTarget wishing to receive card details.
actionAction to be called on the observing target.

◆ addConfigurationUpdateTarget:action:

+ (void) addConfigurationUpdateTarget: (id)  target
action: (SEL)  action 

Add an observer and action to receive updates about device configuration.

When updates are no longer required by an observer a call should be made to ChipDnaMobile#removeConfigurationUpdateTarget: passing in the target to be removed.

Observers are returned a CCParameters collection which will contain:

{@CCParameters#CCParamConfigurationUpdate CCParamConfigurationUpdate} containing information about the current progress ofChipDnaMobile::connectAndConfigure: connectAndConfigure}.

Parameters
targetTarget wishing to receive configuration updates.
actionSelector to be called on observing target.

◆ addConnectAndConfigureFinishedTarget:action:

+ (void) addConnectAndConfigureFinishedTarget: (id)  target
action: (SEL)  action 

Add an observer and action to be called once connectAndConfigure has completed.

Observers are return a CCParameters collection which can contain:

CCParamResult defining if the connect and configure was successful using the values TRUE and FALSE.

CCParamError defining the errors which have occurred. Will always be returned if the CCParamResult is FALSE.

CCParamFirmwareUpdateAvailable defining if a firmware update is available using the values TRUE and FALSE.

{@CCParameters#CCParamDeviceStatusUpdate CCParamFirmwareUpdateStatus} returned with a serialized FirmwareUpdateStatus object. FirmwareUpdateStatus can be deserialized using ChipDnaMobileSerializer#deserializeFirmwareUpdateStatus:.

Parameters
targetTarget observing results of ChipDnaMobile#connectAndConfigure:.
actionSelector to be called on observing target.

◆ addDeferredAuthorizationTarget:action:

+ (void) addDeferredAuthorizationTarget: (id)  target
action: (SEL)  action 

Add an observer and action to know when deferred authorization confirmation is required after a call to ChipDnaMobile#startTransaction:.

When updates are no longer required by the observer a call should be made to ChipDnaMobile#removeDeferredAuthorizationTarget:.

Parameters
targetTarget wishing to know when deferred authorization is required.
actionAction to be called on the observing target.

◆ addDeviceUpdateTarget:action:

+ (void) addDeviceUpdateTarget: (id)  target
action: (SEL)  action 

Add an observer and action to receive updates about device connectivity.

When updates are no longer required by an observer a call should be made to ChipDnaMobile#removeDeviceUpdateTarget: passing in the target to be removed.

Observers are returned a CCParameters collection which will contain:

{@CCParameters#CCParamDeviceStatusUpdate CCParamDeviceStatusUpdate} returned with a serialized DeviceStatus object. DeviceStatus can be deserialized using ChipDnaMobileSerializer#deserializeDeviceStatus:.

Parameters
targetTarget wishing to receive device status updates. @param action Selector to be called on observing target.

◆ addFirmwareUpdateTarget:action:

+ (void) addFirmwareUpdateTarget: (id)  target
action: (SEL)  action 

Add an observer and action to get the event for firmware updates. Set observer before calling method connectAndConfigure.

Currently events for firmware updates are only supported by IDTech VP3350, Miura M020 and Miura M021 PIN pads.

Observers are returned a CCParameters collection which can contain:

CCParamFirmwareUpdateAvailable When present with the value TRUE, indicates that a firmware update is available for the currently configured terminal.

CCParamFirmwareUpdateStatus - An XML representation of a FirmwareUpdateStatus object. ChipDnaMobileSerializer#deserializeFirmwareUpdateStatus: can be used to retrieve an object.

CCParamFirmwareDownloadPercentage A value from 0 to 100 which shows the percentage of the firmware downloaded to the PIN pad.

CCParamFirmwareFile The name of the file being downloaded to the PIN pad.

CCParamFirmwareUpdate A FirmwareUpdate providing an update on the firmware update process.

When updates are no longer required by the observer a call should be made to ChipDnaMobile#removeFirmwareUpdateTarget:.

Parameters
targetTarget wishing to know when a firmware update is required or updates about an in progress firmware update.
actionAction to be called on observing target.

◆ addForcedAcceptanceTarget:action:

+ (void) addForcedAcceptanceTarget: (id)  target
action: (SEL)  action 

Add an observer and action to know when forced acceptance confirmation is required after a call to ChipDnaMobile#startTransaction:.

When updates are no longer required by the observer a call should be made to ChipDnaMobile#removeFocedAcceptanceTarget:.

Parameters
targetTarget wishing to know when forced acceptance is required.
actionAction to be called on the observing target.

◆ addIdVerificationTarget:action:

+ (void) addIdVerificationTarget: (id)  target
action: (SEL)  action 

Add an observer and action to know when ID verification is required after a call to ChipDnaMobile#startTransaction.

When updates are no longer required by the observer a call should be made to ChipDnaMobile#removeIdVerificationTarget:.

Parameters
targetTarget wishing to know when ID verification is required.
actionAction to be called on the observing target.

◆ addPartialApprovalTarget:action:

+ (void) addPartialApprovalTarget: (id)  target
action: (SEL)  action 

Add an observer and action to know when partial approval confirmation is required after a call to ChipDnaMobile#startTransaction:.

When updates are no longer required by the observer a call should be made to ChipDnaMobile#removePartialApprovalTarget:

Parameters
targetTarget wishing to know when partial approval is required.
actionAction to be called on the observing target.

◆ addProcessReceiptFinishedTarget:action:

+ (void) addProcessReceiptFinishedTarget: (id)  target
action: (SEL)  action 

Add an observer and action to receipt results of calls to ChipDnaMobile#processReceipt:.

Observers will receive a CCParameters collection which can contain:

CCParamResult defining if the receipt was successfully processed. Values can be TRUE or CCValueFalse.

CCParamError defining any errors while attempting to process receipt. If not present no errors occurred.

Parameters
targetTarget wishing to receive notification of results of ChipDnaMobile#processReceipt.
actionAction called on observing target.

◆ addSignatureCaptureTarget:action:

+ (void) addSignatureCaptureTarget: (id)  target
action: (SEL)  action 

Add an observer and action to get the event for signature capture. Set observer before calling method ChipDnaMobile#startTransaction.

Observers are returned a CCParameters collection which will contain:

CCParameters#CCParamReceiptData data to create signature receipt. An array of {@ReceiptField} objects serialized in an XML format. Can be deserialized into an object using ChipDnaMobileSerializer#deserializeReceiptData:.

When updates are no longer required by the observer a call should be made to ChipDnaMobile#removeSignatureCaptureTarget:.

Parameters
targetTarget wishing to know when signature capture is required.
actionAction to be called on observing target.

◆ addSignatureVerificationTarget:action:

+ (void) addSignatureVerificationTarget: (id)  target
action: (SEL)  action 

Add an observer and action to know when signature verification is required after a call to ChipDnaMobile#startTransaction:.

When updates are no longer required by the observer a call should be made to ChipDnaMobile#removeSignatureVeririficationTarget:.

Observer are returned a CCParameters collection which will contain:

CCParamSigantureData The signature data of receipt after resize and validation. Returned as a base 64 encoded string.

CCParameters#CCParamReceiptData data to create signature receipt. An array of {@ReceiptField} objects serialized in an XML format. Can be deserialized into an object using ChipDnaMobileSerializer#deserializeReceiptData:.

Parameters
targetTarget wishing to know when signature verification is required.
actionAction to be called on the observing target.

◆ addTmsUpdateTarget:action:

+ (void) addTmsUpdateTarget: (id)  target
action: (SEL)  action 

Add an observer and action to be called with the response to tmsUpdate:.

When an observer no longer requires the result of calls to tmsUpdate: it should be removed using the removeTmsUpdateTarget: method.

Observers are returned a CCParameters collection which can contain:

CCParamResult defining if the tms update was successful using the values TRUE and FALSE.

CCParamError defining the error which has occurred. Will always be returned if the CCParamResult is FALSE.

CCParamTmsUpdateUtc is returned if CCParamResult is TRUE. Defines the time of the last successful TMS update in UTC.

CCParamFirmwareUpdateAvailable defining if a firmware update is available using the values TRUE and FALSE.

CCParamFirmwareUpdateStatus returned with a serialized FirmwareUpdateStatus object. FirmwareUpdateStatus can be deserialized using ChipDnaMobileSerializer#deserializeFirmwareUpdateStatus:.

Parameters
targetTarget observing results of ChipDnaMobile#tmsUpdate:.
actionSelector to be called on observing target.

◆ addTransactionFinishedTarget:action:

+ (void) addTransactionFinishedTarget: (id)  target
action: (SEL)  action 

Add an observer and action to receive the results of calls to startTransaction.

When updates are no longer required by an observer a call should be made to removeTransactionFinishedTarget.

Observer are returned a CCParameters collection which will contain:

CCParameters#CCParamAcquirerResponseCode The acquirer response code

CCParameters#CCParamAmount Amount in minor units e.g. "123" for GBP1.23

CCParameters#CCParamAmountOnlineAuthorized The amount authorized online, in minor units e.g. "123" for GBP1.23

CCParameters#CCParamAuthCode Alpha numeric authorization code, up to 12 characters.

CCParameters#CCParamCardEaseReference Unique GUID generated for a transaction if the authorization was submitted online to the Creditcall payment platform.

CCParameters#CCParamCardSchemeId The CardSchemeIdEnum

CCParameters#CCParamCurrency The 3-char currency code

CCParameters#CCParamMaskedPan Masked primary account number showing only the first 6 (if available) and last 4 digits.

CCParameters#CCParamPaymentMethod The payment method; CCParameters#CCValueCard, CCParameters#CCValueCash, or CCParameters#CCValueCheque

CCParameters#CCParamPreformattedCustomerReceipt Preformatted receipt text, customer copy.

CCParameters#CCParamPreformattedMerchantReceipt Preformatted receipt text, merchant copy.

CCParameters#CCParamReceiptData A Map with keys Receipt Item Tag string and values ReceiptField objects serialized in XML format. Can be deserialized into an object using deserializeReceiptData.

CCParameters#CCParamUserReference Unique reference of the transaction supplied by the integrating application.

CCParameters#CCParamTransactionDateTime Local date and time of the transaction.

CCParameters#CCParamTransactionDateTimeUtc UTC date and time of the transaction.

CCParameters#CCParamDateTimeFormat Format of the date and time in CCParameters#CCParamTransactionDateTime or CCParameters#CCParamTransactionDateTimeUtc

CCParameters#CCParamTransactionResult The result of the transaction authorization. Can be CCParameters#CCValueApproved, CCParameters#CCValuePartiallyApproved or CCParameters#CCValueDeclined.

CCParameters#CCParamTransactionState Transaction state. Value can be CCParameters#CCValueUncommitted, CCParameters#CCValueVoided or , CCParameters#CCValueUncommittedVoid

CCParameters#CCParamTransactionType The transaction type. CCParameters#CCValueSale, CCParameters#CCValueRefund or CCParameter#CCValueAccountVerification.

CCParameters#CCParamMerchantName Merchant name is returned for Cash and Cheque transactions

CCParameters#CCParamCustomerVaultId The identifier for the customer's vault.

CCParameters#CCParamTransactionId The identifier for transaction using the gateway.

CCParameters#CCParamError Comma separated errors encountered during transaction processing

CCParameters#CCParamCardHashCollection list of tokens generated by Creditcall payment gateway and or payment device that can be used to identify a card with out the PAN. Value in XML format representing List of CCCardHash, deserialize into object using ChipDnaMobileSerializer#deserializeCardHashes:.

CCParameters#CCParamPar Payment Account Reference, alpha numeric reference that is 29 characters in length.

Parameters
targetTarget wishing to receive transaction finished results.
actionSelector to be call on observing target.

◆ addTransactionUpdateTarget:action:

+ (void) addTransactionUpdateTarget: (id)  target
action: (SEL)  action 

Add an observer and action to receive updates about on going transactions after a call to startTransaction.

When updates are no longer required by an observer a call should be made to removeTransactionUpdateTarget.

Parameters
targetTarget wishing to receive transaction updates.
actionSelector to be called on observing target.

◆ addUserNotificationTarget:action:

+ (void) addUserNotificationTarget: (id)  target
action: (SEL)  action 

Add an observer and action to receive updates on notifications which need to be shown to the customer after a call to startTransaction.

When updates are no longer required by an observer a call should be made to removeUserNotificationTarget.

Parameters
targetTarget wishing to receive transaction updates.
actionSelector to be called on observing target.

◆ addVoiceReferralTarget:action:

+ (void) addVoiceReferralTarget: (id)  target
action: (SEL)  action 

Add an observer and action to know when voice referral is required after a call to ChipDnaMobile#startTransaction:.

When updates are no longer required by the observer a call should be made to ChipDnaMobile#removeVoiceReferralTarget:.

Parameters
targetTarget wishing to know when voice referral is required.
actionAction to be called on the observing target.

◆ confirmTransaction:

- (CCParameters *) confirmTransaction: (CCParameters *)  request

Finalizes a transaction after it has been approved so that the transaction will be settled. This method allows the transaction to be committed using a different amount to the authorized amount.

Parameters
requestA parameter collection which can contain the following:

CCParamUserReference The unique user reference used when performing the transaction.

CCParamAmount The amount to confirm the transaction for.

CCParamTipAmount The tip amount for the transaction. Can only be used for transaction which used end of day tipping.

CCParamCloseTransaction Close the current transaction. Only available with end of day tipping by default this parameter is TRUE.

Returns
Parameter collection which can contain:

CCParamTransactionResult indicating if committing the transaction has been CCValueApproved or CCValueDeclined.

CCParamError Containing a comma separated list of errors which have occurred.

CCParamReceiptData only returned when transaction result is approved. An array of {@ReceiptField} objects serialized in XML format. Can be serialized into an object using ChipDnaMobileSerializer#deserializeReceiptData:.

CCParamPreformattedMerchantReceipt A preformatted merchant receipt string. Only returned on approval.

CCParamPreformattedCustomerReceipt A preformatted customer receipt string. Only returned on approval.

◆ connectAndConfigure:

- (CCParameters *) connectAndConfigure: (CCParameters *)  request

Connect to and configure the current device. This method will perform all necessary actions required to get the selected PIN pad ready for transaction. This includes performing TMS updates if required. CCParameters#CCParamForceTmsUpdate and CCParameters#CCParamFullTmsUpdate can be passed to this method to force a TMS updated. When called the result of this method will be returned to observers subscribed to the addConnectAndConfigureFinishedTarget.

This method can be called regardless of the current connection state of the PIN pad. When the PIN pad is already connected TMS checks will be made and a TMS update performed if required. When new configuration is available this method will then re-configure the PIN pad. This method can also perform registration when required.

To receive updates on the progress of this method observers can be added using the addConfigurationUpdateTarget method. Observer will receive a CCParameters collection which will contain a CCParamConfigurationUpdate items with the following values:

CCValueConnectionAndConfigureStarted

CCValueConnecting

CCValuePerformingTmsUpdate

CCValueCheckingPinPadConfig

CCValueUpdatingPinPadConfig

To receive updates on the current connection status of the PIN pad observers can be added using the addDeviceUpdateTarget method. Observers will receive a CCParameters collection which will contain a CCParamDeviceStatusUpdate item with a serialized DeviceStatus object value.

Parameters
requestParameter collection which can contain the following:

CCParameters#CCParamForceTmsUpdate

Force connectAndConfigure to perform a TMS update whether one is required or not.

CCParameters#CCParamFullTmsUpdate Force a full TMS update whether one is required or not. All configuration will be re-downloaded regardless of whether it's required.

CCParamBLEScanTime Set the length of time Bluetooth Low Energy (BLE) devices will be scanned for. The value is required to be a string valued number between 1 and 30. The default value of 15 seconds will be used if this value is not available.

CCParameters#CCParamApplyFirmwareUpdate (Only supported on VP3350) When present with the value ParameterValues.FALSE, this stops a firmware update beginning, if one is available.

Returns
parameter collection containing CCParamResult and if applicable CCParamErrors.

◆ continueCardApplicationSelection:

- (CCParameters *) continueCardApplicationSelection: (CCParameters *)  request

Continue transaction currently waiting for card application selection response. Informs ChipDnaMobile of the result of a card application selection.

Parameters
requestA parameter list which can contain:

CCParamResult indicating the outcome of a card application selection. Value can be TRUE to indicate that the card application selection has been completed, or FALSE to indicate that the card application selection has failed.

CCParamSelectedCardApplication is required to return the selected card application

Returns
parameter collection containing CCParamResult and if applicable CCParamErrors.

◆ continueDeferredAuthorization:

- (CCParameters *) continueDeferredAuthorization: (CCParameters *)  request

Continue transaction currently waiting for deferred authorisation response. Informs ChipDnaMobile of the result of deferred authorization.

Parameters
requestA parameter list which can contain:

CCParamResult indicating the outcome of forced acceptance. Value can be TRUE to indicate that the deferred authorization has been approved, or FALSE to indicate that the deferred authorization has been declined.

CCParamOperatorPin required when CCParamOperatorPinRequired is set to TRUE.

Returns
parameter collection containing CCParamResult and if applicable CCParamErrors.

◆ continueForcedAcceptance:

- (CCParameters *) continueForcedAcceptance: (CCParameters *)  request

Continue transaction currently waiting for forced acceptance response. Informs ChipDnaMobile of the result of forced acceptance.

Parameters
requestA parameter list which can contain:

CCParamResult indicating the outcome of forced acceptance. Value can be TRUE to indicate that the forced acceptance has been approved, or FALSE to indicate that the forced acceptance has been declined.

CCParamOperatorPin required when CCParamOperatorPinRequired is set to TRUE.

Returns
parameter collection containing CCParamResult and if applicable CCParamErrors.

◆ continueIdVerification:

- (CCParameters *) continueIdVerification: (CCParameters *)  request

Continue transaction currently waiting for ID verification response. Informs ChipDnaMobile of the result of ID verification.

Parameters
requestA parameter list which can contain:

CCParamResult indicating the outcome of a partial approval. Value can be TRUE to indicate that ID verification has been approved, or FALSE to indicate that ID verification has been declined.

CCParamOperatorPin required when CCParamOperatorPinRequired is set to TRUE.

Returns
parameter collection containing CCParamResult and if applicable CCParamErrors.

◆ continuePartialApproval:

- (CCParameters *) continuePartialApproval: (CCParameters *)  request

Continue transaction currently waiting for partial approval response. Informs ChipDnaMobile of the result of a partial approval.

Parameters
requestA parameter list which can contain:

CCParamResult indicating the outcome of a partial approval. Value can be TRUE to indicate that the partial approval has been approved, or FALSE to indicate that the partial approval has been declined.

CCParamOperatorPin required when CCParamOperatorPinRequired is set to TRUE.

Returns
parameter collection containing CCParamResult and if applicable CCParamErrors.

◆ continueSignatureCapture:

- (CCParameters *) continueSignatureCapture: (CCParameters *)  request

Continue transaction currently waiting for signature capture. This should be called with targets observing SigantureCapture receive a parameter list containing CCParameters#CCParamResponseRequired set to TRUE.

Parameters
requestParameter list which can contain the following:

CCParamSignatureData containing data for digital signature represented as a base64 string of PNG image data. Signature must be a minimum dimension of 25x150 or 150x25 pixels not including white space.

Returns
parameter collection which can contain:

CCParamResult and if applicable CCParamErrors.

◆ continueSignatureVerification:

- (CCParameters *) continueSignatureVerification: (CCParameters *)  request

Continue transaction currently waiting for signature verification. This should be called when a targets observing SignatureVerification receive a parameter list containing CCParameters#CCParamResponseRequired set to TRUE.

Parameters
requestParameter list which can contain the following:

CCParamResult indicating the outcome of signature verification. Value can be TRUE to indicate that signature verification was successful or FALSE to indicate that signature verification has failed.

CCParamOperatorPin required when CCParamOperatorPinRequired is set to TRUE.

Returns
parameter collection which can contain:

CCParamResult and if applicable CCParamErrors.

◆ continueVoiceReferral:

- (CCParameters *) continueVoiceReferral: (CCParameters *)  request

Continue transaction currently waiting for voice referral response. Informs ChipDnaMobile of the result of voice referral.

Parameters
requestA parameter list which can contain:

CCParamResult indicating the outcome of a voice referral. Value can be TRUE to indicate that the voice referral has been approved, or FALSE to indicate that the voice referral has been declined.

CCParamAuthCode The auth code of the voice referral. For approved voice referral, it must be 1-6 alphanumeric characters. For declined voice referral, auth code will be ignored.

CCParamOperatorPin required when CCParamOperatorPinRequired is set to TRUE.

Returns
parameter collection containing CCParamResult and if applicable CCParamErrors.

◆ deleteFailedOfflineRequest:

- (CCParameters *) deleteFailedOfflineRequest: (CCParameters *)  request

Delete a transaction which has been moved to the failed offline queue.

Parameters
requestA parameter collection containing the CCParamUserReference of the transaction to be deleted.
Returns
parameter collection containing CCParamResult and if applicable CCParamErrors.

◆ disconnect:

- (CCParameters *) disconnect: (CCParameters *)  request

Disconnects the currently connected PINpad. The PINpad will only be disconnected if the device is not busy.

To receive updates on the current connection status of the PIN pad observers can be added using the addDeviceUpdateTarget method. Observers will receive a CCParameters collection which will contain a CCParamDeviceStatusUpdate item with a serialized DeviceStatus object value.

Parameters
requestCurrently not used, can be set to nil.
Returns
parameter collection containing CCParamResult and if applicable CCParamErrors.

◆ dispose:

+ (CCParameters *) dispose: (CCParameters *)  request

Disposes of ChipDnaMobile. Resources will be disposed off, database will be closed, PIN pad disconnected and functionality will be disabled. To restore the functionality, ChipDnaMobile will need to be reinitialised after this method is called.

The use of this method is required in order to close the connection to the database. It must be called before the application is closed.

Parameters
requestCurrently not used and can be nil.
Returns
parameter collection containing CCParamResult and if applicable CCParamErrors.

◆ getAvailableCurrencies:

- (CCParameters *) getAvailableCurrencies: (CCParameters *)  request

Retrieve the available currencies for currently configured terminal.

Parameters
requestNot currently in use. Can be nil.
Returns
A parameter list which can contain:

CCParamResult defining if the call to getAvailableCurrencies was successful using the values TRUE and FALSE.

CCParamError a comma separated string of errors which have occurred during the call to getAvailableCurrencies.

CCParameters#CCParamAvailableCurrencies An XML representation of the available currencies for each payment method. XML can be de serialized into a NSDictionary of NSArrays containing Currency objects using ChipDnaMobileSerializer#deserializeAvailableCurrencies.

◆ getAvailablePinPads:

- (CCParameters *) getAvailablePinPads: (CCParameters *)  request

Retrieves a list of names of the PIN pads currently paired and connected to the iOS device. Returned to observers subscribed using ChipDnaMobile#addAvailablePinPadsTarget:action:.

Only the following PIN pads are supported:

  • BBPOS Chipper CHB20, CHB22, CHB29 or CHB30
  • Datecs Bluepad50 Contact or Contactless
  • Miura M020 or M021
  • IDTech VP3350

CCParamBLEScanTime Set the length of time Bluetooth Low Energy (BLE) devices will be scanned for. The value is required to be a string valued number between 1 and 30. The default value of 5 seconds will be used if this value is not available.

Returns
parameter collection containing CCParamResult and if applicable CCParamErrors.

◆ getCardDetails:

- (CCParameters *) getCardDetails: (CCParameters *)  request

Acquire card details without performing a transaction. Card details will be returned to observers registered using ChipDnaMobile#addCardDetailsTarget:action:

Parameters
requestParameter list which can contain:

CCParameter#CCParamCurrency indicating the currency to be set. Only needs to be set if more than one currency is supported.

Returns
parameter collection containing CCParamResult and if applicable CCParamErrors.

◆ getMerchantData:

- (CCParameters *) getMerchantData: (CCParameters *)  request

Get all merchant data in a single call.

Parameters
requestParameters currently not used, can be set to nil.
Returns
Parameter collection containing the following:

CCParamResult defining if the call to getMerchantData was successful using the values TRUE and FALSE.

CCParamMerchantData An XML representation of the MerchantData. ChipDnaMobileSerializer#deserializeMerchantData: can be used to retrieve an object.

◆ getStatus:

- (CCParameters *) getStatus: (CCParameters *)  request

Checks the current status of various components of ChipDNA Mobile in a single call.

Parameters returned can be filtered by passing in the CCParameters with a value of TRUE. Only CCParameters listed in the possible return parameters can be filtered for. If one or more valid CCParameters with a value of TRUE is passed into the request, filtering is enabled, and only the filtered CCParameters will be returned if available.

If no CCParameters are passed into the request or just CCParamPaymentPlatformTest, then all available CCParameters are returned in the response.

Parameters
requestParameter collection which can contain the following:
Returns
Parameter collection which can contain the following:

◆ getTransactionInformation:

- (CCParameters *) getTransactionInformation: (CCParameters *)  request

Get information stored about a transaction.

Parameters
requestA parameter list which can contain:

CCParamUserReference The user reference used during the call to ChipDnaMobile#startTransaction:.

Returns
A parameter list which can contain:

CCParamResult defining if the call to getTransactionInformation was successful using the values TRUE and FALSE.

CCParamError a comma separated string of errors which occurred during the call to getTransactionInformation.

CCParamUserReference The user reference of the transaction.

CCParamAmount The amount the transaction was performed for.

CCParamTipAmount The tip amount tip amount for the transaction.

CCParamEnvironment The payment environment which the transaction applies to.

CCParamCurrency The currency used during the transaction. Value is the 3 character code passed in during the call to ChipDnaMobile#startTransaction:.

CCParamTransactionState The current state of the transaction.

CCParamTransactionType Indicating if the transaction was a Sale, Refund or AccountVerification.

CCParamTransactionResult The current result of the transaction.

CCParamOfflineStatus If returned indicates the status of the transaction in the offline queue.

CCParamLinkedRefundReferences Comma separated string of user references for linked refunds linked to this transaction.

CCParameters#CCParamCardHashCollection list of tokens generated by Creditcall payment gateway and or payment device that can be used to identify a card with out the PAN. Value in XML format representing List of CCCardHash, deserialize into object using ChipDnaMobileSerializer#deserializeCardHashes:.

CCParamCardReference The unique reference generated by the Creditcall payment gateway that can be used to identify a card without using the PAN<./p>

CCParamTransactionDateTime The date and time the transaction was performed.

CCParamDateTimeFormat The format of the CCParamTransactionDateTime parameter.

CCParamTransactionId The identifier for transactions using the gateway.

CCParameters#CCParamPar Payment Account Reference, alpha numeric reference that is 29 characters in length.

◆ initialize:

+ (CCParameters *) initialize: (CCParameters *)  request

Initializes ChipDnaMobile. Ensures an encrypted database is used and migrates the previous versions of the SDK to use encryption, as needed. The specified delegate will be notified when a password is required and whether the initialisation was successful or not.

The initialization process has to be completed successfully before ChipDnaMobile functionality is enabled. Only static methods can be executed before the initialisation process has finished successfully.

Once ChipDnaMobile has been initialise successfully,link dispose:} should be call before the application terminates to ensure resources are disposed of correctly.

Parameters
requestwith parameter collection containing oneor more of the following:

CCParamPassword Required during initialization.

CCParamChangePassword Required during password change

CCParamDestroy Optional

Returns
parameter collection containing CCParamResult and if applicable CCParamErrors.

◆ isInitialized

+ (BOOL) isInitialized

Returns whether ChipDnaMobile has been initialized.

Returns
YES if ChipDnaMobile has been initialized, otherwise NO.

◆ linkedRefundTransaction:

- (CCParameters *) linkedRefundTransaction: (CCParameters *)  request

Start a linked refund transaction to refund part or all of a previously online approved transaction.

Parameters
requestA parameter collection which can contain:

CCParamAmount The amount to be refunded.

CCParamUserReference A unique user reference for the linked refund.

CCParamSaleReference The user reference for the original sale transaction. When this parameter is used then original sale CCParamCardEaseReference must not be provided.

CCParamCardEaseReference The CardEase reference for the original sale transaction. When this parameter is used then the original sale CCParamSaleReference must not be provided.

Returns
A parameter collection which can contain:

CCParamTransactionResult indicating if committing the transaction has been CCValueApproved or CCValueDeclined.

CCParamError Containing a comma separated list of errors which have occurred.

.

CCParamReceiptData only returned when transaction result is approved. An array of {@ReceiptField} objects serialized in XML format. Can be serialized into an object using ChipDnaMobileSerializer#deserializeReceiptData:.

CCParamPreformattedMerchantReceipt A preformatted merchant receipt string. Only returned on approval.

CCParamPreformattedCustomerReceipt A preformatted customer receipt string. Only retured on approval.

CCParamAmount The amount refunded in minor units e.g. "123" for GBP1.23.

CCParamUserReference The unique user reference for the linked refund.

CCParamTransactionDateTimeUtc The UTC date and time of the refund transaction.

CCParamCurrency The 3-char currency code used during the transaction.

CCParamMaskedPan The masked primary account number of the original sale transaction, showing only the first 6 (if available) and last 4 digits.

CCParamDateTimeFormat The format of the date and time in CCParamTransactionDateTime parameter.

CCParameters#CCParamPaymentMethod When performing a Cash or Cheque Linked Refund, the payment method of CCParameters#CCValueCash or CCParameters#CCValueCheque will need to be provided, Card will be used by default

CCParamCardSchemeId The CCParameters#CCParamCardSchemeId of the original sale transaction.

CCParamCardEaseReference The CardEase reference for the original sale transaction - a unique GUID generated for a transaction if the authorization was submitted online to the Creditcall payment platform..

CCParamAuthCode The alpha numeric authorization code, up to 12 characters.

CCParamTransactionType The transaction type will be CCParameters#CCValueRefund.

CCParamCardReference The unique reference generated by the Creditcall payment gateway that can be used to identify a card without using the PAN<./p>

CCParamTransactionDateTime The local date and time the refund transaction was performed.

CCParameters#CCParamCardHashCollection list of tokens generated by Creditcall payment gateway and or payment device that can be used to identify a card with out the PAN. Value in XML format representing List of CCCardHash, deserialize into object using ChipDnaMobileSerializer#deserializeCardHashes:.

CCParameters#CCParamPar Payment Account Reference, alpha numeric reference that is 29 characters in length.

◆ processReceipt:

- (CCParameters *) processReceipt: (CCParameters *)  request

Send receipts via email or SMS using the Creditcall platform.

Results of calling this method will be sent to observers registered using ChipDnaMobile#addProcessReceiptFinishedTarget:action:.

Parameters
requestA parameter list which can contain:

CCParamUserReference User reference for the transaction the receipt is for. This is mandatory.

CCParamReceiptingMethod Defines the method which the receipt will be sent by. The value can be CCValueReceiptingMethodEmail to email a receipt or CCValueReceiptingMethodSms to send a receipt vai SMS.

CCParamReceiptText Defines the receipt text to be sent.

CCParamEmailAddress Required when CCParamReceiptingMethod is CCValueReceiptingMethodEmail, defines the email to send the receipt to.

CCParamPhoneNumber, Required when CCParamReceiptingMethod is CCValueReceiptingMethodEmail, defines the phone number to send the receipt to.

CCParameters#CCParamReceiptSourceName Defines the name of the entity sending the receipt. For SMS receipts this field is used for setting the 'SMS Originating Address' - i.e. the sender name shown on mobiles. Support for this field is networks dependent.

CCParameters#CCParamReceiptSourceEmail defines the email of the receipt is being sent from. Only required when CCParamReceiptingMethod is CCValueReceiptingMethodEmail

CCParameters#CCParamReceiptEmailSubject defines the subject of the receipt email. Only required when CCParamReceiptingMethod is CCValueReceiptingMethodEmail

Returns
parameter collection containing CCParamResult and if applicable CCParamErrors.

◆ removeAvailablePinPadsTarget:

+ (void) removeAvailablePinPadsTarget: (id)  target

Remove an observer currently listening for results of calls to ChipDnaMobile#getAvailablePinPads:.

Parameters
targetTarget to be removed.

◆ removeCardApplicationSelectionTarget:

+ (void) removeCardApplicationSelectionTarget: (id)  target

Remove an observer currently listening for card application selection.

Parameters
targetTarget to be removed.

◆ removeCardDetailsTarget:

+ (void) removeCardDetailsTarget: (id)  target

Remove an observer currently listening for get card details updates.

Parameters
targetTarget to be removed.

◆ removeConfigurationUpdateTarget:

+ (void) removeConfigurationUpdateTarget: (id)  target

Remove a observer currently listening for configuration updates.

Parameters
targetTarget to be removed.

◆ removeConnectAndConfigureFinishedTarget:

+ (void) removeConnectAndConfigureFinishedTarget: (id)  target

Remove an observer currently listening for results of calls to ChipDnaMobile#connectAndConfigure:.

Parameters
targetTarget to be removed.

◆ removeDeferredAuthorizationTarget:

+ (void) removeDeferredAuthorizationTarget: (id)  target

Remove a observer currently listening for deferred authorization.

Parameters
targetTarget to be removed.

◆ removeDeviceUpdateTarget:

+ (void) removeDeviceUpdateTarget: (id)  target

Remove an observer currently listening for device status updates.

Parameters
targetTarget to be removed.

◆ removeFirmwareUpdateTarget:

+ (void) removeFirmwareUpdateTarget: (id)  target

Remove an obserber currently listening for firmware updates.

Parameters
targetTarget to be removed.

◆ removeForcedAcceptanceTarget:

+ (void) removeForcedAcceptanceTarget: (id)  target

Remove a observer currently listening for voice referral.

Parameters
targetTarget to be removed.

◆ removeIdVerificationTarget:

+ (void) removeIdVerificationTarget: (id)  target

Remove an observer currently listening for ID verification.

Parameters
targetTarget to be removed.

◆ removePartialApprovalTarget:

+ (void) removePartialApprovalTarget: (id)  target

Remove a observer currently listening for partial approval.

Parameters
targetTarget to be removed.

◆ removeProcessReceiptFinishedTarget:

+ (void) removeProcessReceiptFinishedTarget: (id)  target

Remove an observer currently listening for results of ChipDnaMobile#processReceipt.

Parameters
targetTarget to be removed.

◆ removeSignatureCaptureTarget:

+ (void) removeSignatureCaptureTarget: (id)  target

Remove an obserber currently listening for signature capture.

Parameters
targetTarget to be removed.

◆ removeSignatureVerificationTarget:

+ (void) removeSignatureVerificationTarget: (id)  target

Remove a observer currently listening for signature verification.

Parameters
targetTarget to be removed.

◆ removeTmsUpdateTarget:

+ (void) removeTmsUpdateTarget: (id)  target

Remove an observer currently listening for results of calls to tmsUpdate.

Parameters
targetTarget to be removed.

◆ removeTransactionFinishedTarget:

+ (void) removeTransactionFinishedTarget: (id)  target

Remove a observer currently listening for transaction finished results.

Parameters
targetTarget to be removed.

◆ removeTransactionUpdateTarget:

+ (void) removeTransactionUpdateTarget: (id)  target

Remove a observer currently listening for transaction updates.

Parameters
targetTarget to be removed.

◆ removeUserNotificationTarget:

+ (void) removeUserNotificationTarget: (id)  target

Remove a observer currently listening for user notifications.

Parameters
targetTarget to be removed.

◆ removeVoiceReferralTarget:

+ (void) removeVoiceReferralTarget: (id)  target

Remove a observer currently listening for voice referral.

Parameters
targetTarget to be removed.

◆ requestTmsUpdate:

- (CCParameters *) requestTmsUpdate: (CCParameters *)  request

Forces an update using the TMS server. This checks whether the current version of ChipDnaMobile is valid to use, whether the Terminal ID is disabled and downloads the settings configured on the TMS server.

The result of a TMS update is returned to observers registered using addTmsUpdateTarget

Parameters
requestParameter collection which can contain the following:

CCParamFullTmsUpdate Forces a full TMS update. All configuration for the currently connected PIN pad is downloaded regardless of whether it's required.

CCParameters#CCParamApplyFirmwareUpdate (Only supported on VP3350) When present with the value ParameterValues.FALSE, this stops a firmware update beginning, if one is available.

Returns
parameter collection containing CCParamResult and if applicable CCParamErrors.

◆ retryFailedOfflineRequest:

- (CCParameters *) retryFailedOfflineRequest: (CCParameters *)  request

Retry a transaction which has been moved to the failed offline queue.

Parameters
requestA parameter collection which contains the CCParamUserReference of the transaction wishing to be retried.
Returns
A parameter collection which can contain:

CCParamTransactionResult indicating if retrying the transaction has been CCValueApproved or CCValueDeclined.

CCParamError defining any errors which occurred during the call to ChipDnaMobile#retryFailedOfflineRequest:.

CCParamReceiptData only returned when transaction result is approved. An array of {@ReceiptField} objects serialized in XML format. Can be serialized into an object using ChipDnaMobileSerializer#deserializeReceiptData:.

CCParamPreformattedMerchantReceipt A preformatted merchant receipt string. Only returned on approval.

CCParamPreformattedCustomerReceipt A preformatted customer receipt string. Only returned on approval.

◆ setIdleMessage:

- (CCParameters *) setIdleMessage: (CCParameters *)  request

Display text on the PIN pad for a given amount of time at which point the PIN pad will return to idle. Currently only supported by Miura PIN pads.

Parameters
requestA parameter list which can contain:

CCParamIdleMessage Message to be displayed by PIN pad.

CCParamClearIdleMessage Use with a value of TRUE to clear message back to default.

CCParamDisplayTime Amount of time for message to be displayed in seconds. Should be a decimal value. If 0 or missing an infinite time will be used.

Returns
parameter collection containing CCParamResult and if applicable CCParamErrors.

◆ setProperties:

- (CCParameters *) setProperties: (CCParameters *)  request

Set properties required to configured ChipDNA Mobile.

Parameters
requestParameter collection which can contain the following:

CCParamTestTerminalId Set the test environment terminal ID.

CCParamTestTransactionKey Set the test environment transaction key.

CCParamLiveTerminalId Set the live environment terminal ID.

CCParamLiveTransactionKey Set the live environment transaction key.

CCParamApiKey Set the API Key for the Gateway.

CCParamEnvironment Set the environment to LIVE or TEST.

CCParamPinPadName Set the PIN pad name retrieved using getAvailablePinPads.

CCParamPinPadConnectionType Set the connection type of the PIN pad. Currently only Bluetooth supported. Bluetooth will be used by default.

CCParamTestWebMisUsername Set WebMIS username for test environment.

CCParamTestWebMisPassword Set WebMIS password for test environment.

CCParamLiveWebMisUsername Set WebMIS username for live environment.

CCParamLiveWebMisPassword Set WebMIS password for live environment.

CCParamApplicationIdentifier Set Application Identifier.

Returns
parameter collection containing CCParamResult and if applicable CCParamErrors.

◆ sharedInstance

+ (ChipDnaMobile *) sharedInstance

Returns the instance of ChipDnaMobile. This method should only be called after ChipDnaMobile has been initialised using initialize. isInitialized can be used to check whether ChipDnaMobile has been initialised already.

Ensures only one instance exists.

Returns
The instance of ChipDnaMobile.
Exceptions
CCInitialisationExceptionThrown if the method is accessed before ChipDnaMobile has been initialised.

◆ startTransaction:

- (CCParameters *) startTransaction: (CCParameters *)  request

Start a transaction. Observe transactionFinished to get the transaction results. To receive updates during a transaction observe transactionUpdates.

Before calling startTransaction add an observer and action for

Parameters
requestParametersCCParameters collection which can contain:

CCParamAmount The amount to be used in the transaction.

CCParamUserReference A unique reference for this transaction.

CCParamTransactionType The transaction type for this transaction. Values can be CCValueSale, CCValueRefund or CCValueAccountVerification.

CCParamCurrency Set the currency for this transaction. Only required when getAvailableCurrencies returns more than one currency. If only a single currency is supported, it will be used by default.

CCParamPANKeyEntry Requests a PAN key entry transaction is started for a card not present transaction. Value can be either TRUE or FALSE.

CCParamCredentialOnFileFirstStore (Optional) Flags the transaction as the first store for a Credential on File transaction when the value is TRUE.

CCParamCredentialOnFileReason (Optional) Indicates the reason for a Credential on File transaction. Only considered if the value for CCParamCredentialOnFileFirstStore is TRUE. Values can be:

CCParamOnDeviceTippingPrompt (Optional) Sets a custom tipping prompt for on-device tipping. Only supported on Miura M020 and M021 PIN pads.

CCParamDynamicTippingAmounts (Optional) or CCParamDynamicTippingPercentages (Optional) Enables on-device dynamic tipping using the provided amounts or percentages. Only one of the amount types can be used in a request. Dynamic tipping is currently only supported on Miura M020 and M021 PIN pads.

CCParamDynamicTippingHeader (Optional) Sets the header for the dynamic tipping screen. This is only supported if dynamic tipping is enabled.

Returns
parameter collection containing CCParamResult and if applicable CCParamErrors.

◆ terminateTransaction:

- (CCParameters *) terminateTransaction: (CCParameters *)  request

Terminate the currently processing transaction.

Parameters
requestCurrently not used, can be set to nil.
Returns
parameter collection containing CCParamResult and if applicable CCParamErrors.

◆ voidTransaction:

- (CCParameters *) voidTransaction: (CCParameters *)  request

Void a previously approved but uncommitted transaction.

Parameters
requestA parameter collection which can contain:

CCParamUserReference The unique user reference used during the call to ChipDnaMobile#startTransaction:.

Returns
A parameter list which can contain:

CCParamTransactionResult indicating if voiding the transaction has been CCValueApproved or CCValueDeclined.

CCParamReceiptData only returned when transaction result is approved. An array of {@ReceiptField} objects serialized in XML format. Can be serialized into an object using ChipDnaMobileSerializer#deserializeReceiptData:.

CCParamPreformattedMerchantReceipt A preformatted merchant receipt string. Only returned on approval.

CCParamPreformattedCustomerReceipt A preformatted customer receipt string. Only returned on approval.


The documentation for this class was generated from the following file: