|
ChipDna Mobile
|
This class should be used for processing Card Present sale and refund transactions on a mobile device. More...
#import <ChipDnaMobile.h>
Inherits NSObject.
This class should be used for processing Card Present sale and refund transactions on a mobile device.
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.
| + (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.
| target | Target observing results of ChipDnaMobile#getAvailablePinPads:. |
| action | Selector to be called on observing Target. |
| + (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:.
| target | Target wishing to know when Card Application Selection is required. |
| action | Action to be called on the observing target. |
| + (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:.
| target | Target wishing to receive card details. |
| action | Action to be called on the observing target. |
| + (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}.
| target | Target wishing to receive configuration updates. |
| action | Selector to be called on observing target. |
| + (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:.
| target | Target observing results of ChipDnaMobile#connectAndConfigure:. |
| action | Selector to be called on observing target. |
| + (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:.
| target | Target wishing to know when deferred authorization is required. |
| action | Action to be called on the observing target. |
| + (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:.
| target | Target wishing to receive device status updates. @param action Selector to be called on observing target. |
| + (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:.
| target | Target wishing to know when a firmware update is required or updates about an in progress firmware update. |
| action | Action to be called on observing target. |
| + (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:.
| target | Target wishing to know when forced acceptance is required. |
| action | Action to be called on the observing target. |
| + (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:.
| target | Target wishing to know when ID verification is required. |
| action | Action to be called on the observing target. |
| + (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:
| target | Target wishing to know when partial approval is required. |
| action | Action to be called on the observing target. |
| + (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.
| target | Target wishing to receive notification of results of ChipDnaMobile#processReceipt. |
| action | Action called on observing target. |
| + (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:.
| target | Target wishing to know when signature capture is required. |
| action | Action to be called on observing target. |
| + (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:.
| target | Target wishing to know when signature verification is required. |
| action | Action to be called on the observing target. |
| + (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:.
| target | Target observing results of ChipDnaMobile#tmsUpdate:. |
| action | Selector to be called on observing target. |
| + (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.
| target | Target wishing to receive transaction finished results. |
| action | Selector to be call on observing target. |
| + (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.
| target | Target wishing to receive transaction updates. |
| action | Selector to be called on observing target. |
| + (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.
| target | Target wishing to receive transaction updates. |
| action | Selector to be called on observing target. |
| + (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:.
| target | Target wishing to know when voice referral is required. |
| action | Action to be called on the observing target. |
| - (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.
| request | A 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.
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.
| - (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
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.
| request | Parameter 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.
CCParamResult and if applicable CCParamErrors. | - (CCParameters *) continueCardApplicationSelection: | (CCParameters *) | request |
Continue transaction currently waiting for card application selection response. Informs ChipDnaMobile of the result of a card application selection.
| request | A 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
CCParamResult and if applicable CCParamErrors. | - (CCParameters *) continueDeferredAuthorization: | (CCParameters *) | request |
Continue transaction currently waiting for deferred authorisation response. Informs ChipDnaMobile of the result of deferred authorization.
| request | A 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.
CCParamResult and if applicable CCParamErrors. | - (CCParameters *) continueForcedAcceptance: | (CCParameters *) | request |
Continue transaction currently waiting for forced acceptance response. Informs ChipDnaMobile of the result of forced acceptance.
| request | A 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.
CCParamResult and if applicable CCParamErrors. | - (CCParameters *) continueIdVerification: | (CCParameters *) | request |
Continue transaction currently waiting for ID verification response. Informs ChipDnaMobile of the result of ID verification.
| request | A 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.
CCParamResult and if applicable CCParamErrors. | - (CCParameters *) continuePartialApproval: | (CCParameters *) | request |
Continue transaction currently waiting for partial approval response. Informs ChipDnaMobile of the result of a partial approval.
| request | A 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.
CCParamResult and if applicable CCParamErrors. | - (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.
| request | Parameter 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.
CCParamResult and if applicable CCParamErrors.
| - (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.
| request | Parameter 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.
CCParamResult and if applicable CCParamErrors.
| - (CCParameters *) continueVoiceReferral: | (CCParameters *) | request |
Continue transaction currently waiting for voice referral response. Informs ChipDnaMobile of the result of voice referral.
| request | A 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.
CCParamResult and if applicable CCParamErrors. | - (CCParameters *) deleteFailedOfflineRequest: | (CCParameters *) | request |
Delete a transaction which has been moved to the failed offline queue.
| request | A parameter collection containing the CCParamUserReference of the transaction to be deleted. |
CCParamResult and if applicable CCParamErrors. | - (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.
| request | Currently not used, can be set to nil. |
CCParamResult and if applicable CCParamErrors. | + (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.
| request | Currently not used and can be nil. |
CCParamResult and if applicable CCParamErrors. | - (CCParameters *) getAvailableCurrencies: | (CCParameters *) | request |
Retrieve the available currencies for currently configured terminal.
| request | Not currently in use. Can be nil. |
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.
| - (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:
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.
CCParamResult and if applicable CCParamErrors. | - (CCParameters *) getCardDetails: | (CCParameters *) | request |
Acquire card details without performing a transaction. Card details will be returned to observers registered using ChipDnaMobile#addCardDetailsTarget:action:
| request | Parameter list which can contain: |
CCParameter#CCParamCurrency indicating the currency to be set. Only needs to be set if more than one currency is supported.
CCParamResult and if applicable CCParamErrors. | - (CCParameters *) getMerchantData: | (CCParameters *) | request |
Get all merchant data in a single call.
| request | Parameters currently not used, can be set to nil. |
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.
| - (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.
| request | Parameter collection which can contain the following:
|
CCParamResult - Defines if the call to getStatus was successful using the values TRUE and FALSE. CCParamVersionInformation - An XML representation of a VersionInformation object. deserializeVersionInformation can be used to retrieve the object. CCParamChipDnaStatus - A string representing the current status of ChipDNA Mobile. CCParamDeviceStatus - An XML representation of a DeviceStatus object. deserializeDeviceStatus can be used to retrieve the object. CCParamTmsStatus - An XML representation of a TmsStatus object. deserializeTmsStatus can be used to retrieve the object. CCParamTerminalStatus - An XML representation of the TerminalStatus. deserializeTerminalStatus can be used to retrieve the object. CCParamEnvironment - The current environment ChipDnaMobile is running in. Possible values are CCValueEnvironmentLive or CCValueEnvironmentTest. CCParamRequestQueueStatus - An XML representation of a RequestQueueStatus object. deserializeRequestQueueStatus can be used to retrieve the object. CCParamPaymentPlatformStatus - An XML representation of a PaymentPlatformStatus object. deserializePaymentPlatformStatus can be used to retrieve the object. CCParamLinkedRefundSupported - Indicates that linked refunds are supported with the currently configured terminal if present with the value TRUE. CCParamStandaloneRefundsSupported - Indicates that standalone refunds are supported with the currently configured terminal if present with the value TRUE . CCParamCashTransactionsSupported - Indicates that cash transactions are supported with the currently configured terminal if present with the value TRUE. CCParamChequeTransactionsSupported - Indicates that cheque transactions are supported with the currently configured terminal if present with the value TRUE. CCParamTransactionHistorySupported - Indicates that transaction history is supported with the currently configured terminal if present with the value TRUE. CCParamEmailReceiptSupported - Indicates that centralized email receipting is supported with the currently configured terminal if present with the value TRUE. CCParamSmsReceiptSupported - Indicates that centralized SMS receipting is supported with the currently configured terminal if present with the value TRUE. CCParamRefundOperatorPinSupported - Indicates that an operator PIN must be supplied to perform standalone refunds with the currently configured terminal if present with the value TRUE. CCParamTippingSupported - If present, indicates the type of tipping supported with the currently configured terminal. Possible values are CCValueEndOfDayTipping , CCValueOnDeviceTipping, or CCValueBothTipping. CCParamApplicationIdentifier - A string representing the current identifier for the application. CCParamMerchantDisplayName - Indicates the currently configured merchant display name, if present. CCParamPinPadName - Indicates the currently configured PINpad name, if present. CCParamPinPadConnectionType - Indicates the currently configured PINpad connection type, if present. CCParamPinPadIpAddress - Indicates the currently configured PINpad IP address, if present. CCParamPinPadPort - Indicates the currently configured PINpad port, if present. CCParamFirmwareUpdateAvailable - Indicates if a firmware update is available for the currently configured PINpad. CCParamFirmwareUpdateStatus - An XML representation of a FirmwareUpdateStatus object. deserializeFirmwareUpdateStatus can be used to retrieve the object. | - (CCParameters *) getTransactionInformation: | (CCParameters *) | request |
Get information stored about a transaction.
| request | A parameter list which can contain: |
CCParamUserReference The user reference used during the call to ChipDnaMobile#startTransaction:.
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.
| + (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.
| request | with parameter collection containing oneor more of the following: |
CCParamPassword Required during initialization.
CCParamChangePassword Required during password change
CCParamDestroy Optional
CCParamResult and if applicable CCParamErrors. | + (BOOL) isInitialized |
Returns whether ChipDnaMobile has been initialized.
| - (CCParameters *) linkedRefundTransaction: | (CCParameters *) | request |
Start a linked refund transaction to refund part or all of a previously online approved transaction.
| request | A 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.
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.
| - (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:.
| request | A 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
CCParamResult and if applicable CCParamErrors. | + (void) removeAvailablePinPadsTarget: | (id) | target |
Remove an observer currently listening for results of calls to ChipDnaMobile#getAvailablePinPads:.
| target | Target to be removed. |
| + (void) removeCardApplicationSelectionTarget: | (id) | target |
Remove an observer currently listening for card application selection.
| target | Target to be removed. |
| + (void) removeCardDetailsTarget: | (id) | target |
Remove an observer currently listening for get card details updates.
| target | Target to be removed. |
| + (void) removeConfigurationUpdateTarget: | (id) | target |
Remove a observer currently listening for configuration updates.
| target | Target to be removed. |
| + (void) removeConnectAndConfigureFinishedTarget: | (id) | target |
Remove an observer currently listening for results of calls to ChipDnaMobile#connectAndConfigure:.
| target | Target to be removed. |
| + (void) removeDeferredAuthorizationTarget: | (id) | target |
Remove a observer currently listening for deferred authorization.
| target | Target to be removed. |
| + (void) removeDeviceUpdateTarget: | (id) | target |
Remove an observer currently listening for device status updates.
| target | Target to be removed. |
| + (void) removeFirmwareUpdateTarget: | (id) | target |
Remove an obserber currently listening for firmware updates.
| target | Target to be removed. |
| + (void) removeForcedAcceptanceTarget: | (id) | target |
Remove a observer currently listening for voice referral.
| target | Target to be removed. |
| + (void) removeIdVerificationTarget: | (id) | target |
Remove an observer currently listening for ID verification.
| target | Target to be removed. |
| + (void) removePartialApprovalTarget: | (id) | target |
Remove a observer currently listening for partial approval.
| target | Target to be removed. |
| + (void) removeProcessReceiptFinishedTarget: | (id) | target |
Remove an observer currently listening for results of ChipDnaMobile#processReceipt.
| target | Target to be removed. |
| + (void) removeSignatureCaptureTarget: | (id) | target |
Remove an obserber currently listening for signature capture.
| target | Target to be removed. |
| + (void) removeSignatureVerificationTarget: | (id) | target |
Remove a observer currently listening for signature verification.
| target | Target to be removed. |
| + (void) removeTmsUpdateTarget: | (id) | target |
Remove an observer currently listening for results of calls to tmsUpdate.
| target | Target to be removed. |
| + (void) removeTransactionFinishedTarget: | (id) | target |
Remove a observer currently listening for transaction finished results.
| target | Target to be removed. |
| + (void) removeTransactionUpdateTarget: | (id) | target |
Remove a observer currently listening for transaction updates.
| target | Target to be removed. |
| + (void) removeUserNotificationTarget: | (id) | target |
Remove a observer currently listening for user notifications.
| target | Target to be removed. |
| + (void) removeVoiceReferralTarget: | (id) | target |
Remove a observer currently listening for voice referral.
| target | Target to be removed. |
| - (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
| request | Parameter 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.
CCParamResult and if applicable CCParamErrors. | - (CCParameters *) retryFailedOfflineRequest: | (CCParameters *) | request |
Retry a transaction which has been moved to the failed offline queue.
| request | A parameter collection which contains the CCParamUserReference of the transaction wishing to be retried. |
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.
| - (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.
| request | A 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.
CCParamResult and if applicable CCParamErrors. | - (CCParameters *) setProperties: | (CCParameters *) | request |
Set properties required to configured ChipDNA Mobile.
| request | Parameter 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.
CCParamResult and if applicable CCParamErrors. | + (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.
| CCInitialisationException | Thrown if the method is accessed before ChipDnaMobile has been initialised. |
| - (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
DeferredAuthorization ForcedAcceptance PartialApproval SignatureVerification TransactionFinished TransactionUpdate IDVerification VoiceReferral UserNotification - recommended for BBPOS Chipper 2X BT CardApplicationSelection - required for BBPOS Chipper 2X BT | requestParameters | CCParameters 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:
CCValueReasonUnscheduled CCValueReasonInstallment CCValueReasonIncremental CCValueReasonResubmission CCValueReasonDelayedCharge CCValueReasonReAuth CCValueReasonNoShow 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.
CCParamResult and if applicable CCParamErrors. | - (CCParameters *) terminateTransaction: | (CCParameters *) | request |
Terminate the currently processing transaction.
| request | Currently not used, can be set to nil. |
CCParamResult and if applicable CCParamErrors. | - (CCParameters *) voidTransaction: | (CCParameters *) | request |
Void a previously approved but uncommitted transaction.
| request | A parameter collection which can contain: |
CCParamUserReference The unique user reference used during the call to ChipDnaMobile#startTransaction:.
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.