iOS SDK - Customer/User Registration Objects
Last updated: Sept 19th, 8:32pm
Customer/User Domain Objects
PDAddressInformation
The address information object contains the set of properties that define the registered address of the mobile wallet owner.
Property | Description |
---|---|
state |
String The U.S. state of the wallet owner’s registered address, if applicable. The default PDMetaData values for this property are:@Key = STATE @Value = This must not be null/empty if required.@Name = State @Type = NSString @Is Required = NO @Minimum Length = 0 @Maximum Length = 50 @Can be used to create = YES @Can be used while updating = YES |
country |
String The country of the wallet owner’s registered address. The default PDMetaData values for this property are:@Key = COUNTRY @Value = This must not be null/empty if required.@Name = Country @Type = NSString @Is Required = NO @Minimum Length = 0 @Maximum Length = 50 @Can be used to create = YES @Can be used while updating = YES |
addressLine1 |
String The first line of the wallet owner’s registered address. The default PDMetaData values for this property are:@Key = ADDRESS_LINE1 @Value = This must not be null/empty if required.@Name = Address Line 1 @Type = NSString @Is Required = NO @Minimum Length = 0 @Maximum Length = 50 @Can be used to create = YES @Can be used while updating = YES |
addressLine2 |
String The second line of the wallet owner’s registered address. The default PDMetaData values for this property are:@Key = ADDRESS_LINE2 @Value = This must not be null/empty if required.@Name = Address Line 2 @Type = NSString @Is Required = NO @Minimum Length = 0 @Maximum Length = 50 @Can be used to create = YES @Can be used while updating = YES |
city |
String The city of the wallet owner’s registered address. The default PDMetaData values for this property are:@Key = CITY @Value = This must not be null/empty if required.@Name = Cit @Type = NSString @Is Required = NO @Minimum Length = 0 @Maximum Length = 50 @Can be used to create = YES @Can be used while updating = YES |
zipCode |
String The U.S. postal code of the wallet owner’s registered address. The default PDMetaData values for this property are:@Key = ZIP_CODE @Value = This must not be null/empty if required.@Name = Zip Code @Type = NSString @Is Required = NO @Minimum Length = 0 @Maximum Length = 5 @Can be used to create = YES @Can be used while updating = YES |
PDContactInformation
The various means by which the mobile wallet owner can be contacted.
Property | Description |
---|---|
email |
String The primary email address of the registered wallet owner. The default PDMetaData values for this property are:@Key = EMAIL @Value = This must not be null/empty if required.@Name = Email @Type = NSString @Is Required = N @Minimum Length = 0 @Maximum Length = 50 @Can be used to create = YES @Can be used while updating = YES |
phone |
String The primary phone number of the registered wallet owner. The default PDMetaData values for this property are:@Key`` = MOBILE_PHONE @Value = This must not be null/empty if required.@Name = Phone @Type = NSString @Is Required = NO @Minimum Length = 0 @Maximum Length = 50 @Can be used to create = YES @Can be used while updating = YES |
addressInformation |
PDAddressInformation Defines the mailing address of the wallet user. |
PDCustomer
The personal profile data for a registered wallet owner.
Property | Description |
---|---|
customerUri |
String Paydiant’s unique system identifier for the wallet owner. |
customerIdentification |
String An alternate identifier for the wallet owner for systems that cannot handle a URI value. |
externalId |
String A unique identifier used to distinguish the user in an external system, such as an analytics engine, that may segment users based on demographics data. |
customerId |
String Deprecated in SDK 6.2 and replaced by customerIdentification . |
active |
Boolean Specifies the activation state of the wallet account. |
firstName |
String The first name of the wallet owner. |
lastName |
String The last name of the wallet owner. |
username |
String The username login credential for the wallet. |
lastModifiedDate |
NSDate The last time that any of the properties of this profile was updated. |
contactInformation |
PDContactInformation The properties that provide the wallet owner’s contact information. |
additionalCustomerInformation |
Dictionary A set of key/value definitions that provide information relevant to the user that is not otherwise captured. For example, the user’s opt-in status for channel-specific contact: - opt_in_email = false - opt_in_sms = true |
PDAdditionalCustomerInformation
A key/value pair that defines a custom user profile property that is not captured by Paydiant.
Property | Description |
---|---|
additionalCustomerInformationKey |
String The name of the metadata property that this object represents; for example, email_format . |
additionalCustomerInformationValue |
String The value ascribed to this property for the particular provisioned account; for example, HTML . |
PDMFASecurityProfile
A key/value pair that defines a single question from the pool of supported MFA questions defined by the issuer for which the user has provided an answer.
Property | Description |
---|---|
answer |
String The answer to the question as input by the user. |
question |
String An MFA question selected and answered by the user. |
PDMFAToken
The set of properties that identify the question and answer used to register the device associated with the wallet account.
Property | Description |
---|---|
mfaSecretQuestion |
String The secret question submitted by the server upon detection that the device from which login was requested is not registered. |
mfaSecretAnswer |
String The answer to the secret question input by the user. |
encryptedFingerPrint |
PDFingerprint The encrypted value of the device fingerprint, as encoded in the unexposed PDFingerprint domain class of the SDK. |
mfaChallenge1 |
String The first question for which the wallet owner provided an answer in the wallet registration. |
mfaChallenge2 |
String The second question for which the wallet owner provided an answer in the wallet registration. |
mfaChallenge3 |
String The third question for which the wallet owner provided an answer in the wallet registration. |
PDMFAQuestionWithMetadata
A single instance of a question that is available as a secondary security question to which a wallet user may provide an answer for their account profile. The wallet issuer may define an unlimited number of these questions, although the typical variety is between 10
and 15
.
Property | Description |
---|---|
mfaQuestion |
String A personal question to which the user may submit a response that only he knows for the purpose positive identification in addition to or in lieu of a password or PIN value. |
isMandatory |
Boolean Specifies whether the user is required to submit an answer for this particular question. |
isNewQuestion |
Boolean Identifies whether the question is one for which the wallet user has provided a response. If TRUE , the question has NOT been answered and therefore should not be used for secondary authentication. |
PDUserPasscodeConfigurations
The properties that define the wallet issuer’s PIN validation requirements.
Property | Description |
---|---|
validationEnabled |
Boolean Determines if validation should be performed on the PIN value as it is entered into the form in the app. |
allowSameValues |
Boolean Specifies if the passcode may contain identical sequential digits, such as 7788 . |
allowIncrementalValues |
Boolean Specifies if the passcode may contain sequential digits that are in order, such as 1234 . |
numericOnly |
Boolean Specifies if the passcode is required to contain only numerical digits with no letters or symbols. |
length |
Integer Represents the exact number of digits required for the passcode value. |
regularExpression |
String The set of characters in regular expression format of the complete list of characters that are supported in the passcode and against which new passcode settings will be validated. If a user inputs a proposed passcode that contains characters not represented here, the passcode will be rejected as invalid. For example: a-zA-Z0-9~!@#$%^&*()-{} . |
PDUserPasswordConfigurations
The user password object contains the set of properties that define the wallet issuer’s password validation requirements.
Property | Description |
---|---|
required |
Boolean Determines if the password field can be empty. A value of TRUE indicates that a password value is compulsory. |
requiredLowerCaseCharacters |
Boolean Specifies if the password value is required to contain at least one lower case character. The default value is FALSE . |
requiredUpperCaseCharacters |
Boolean Specifies if the password value is required to contain at least one upper case character. The default value is FALSE . |
requiredNumericCharacters |
Boolean Specifies if the password value is required to contain at least one numeral. The default value is FALSE . |
validCharacters |
String A regular expression format of the complete list of characters that are valid within the password string. Any characters not represented here will be considered illegal and any password containing one or more illegal characters will be rejected as non-compliant. For example: a-zA-Z0-9~!@#$%^&*()-{} . |
passwordMinLength |
Integer The fewest number of characters permitted for a valid password value. The default value is 6 . |
passwordMaxLength |
Integer The maximum number of characters permitted for a valid password value. The default value is 12 . |
PDUserProfile
The wallet owner’s registration profile values, which can be updated through the app.
Property | Description |
---|---|
firstName |
String The first name of the wallet owner. |
lastName |
String The last name of the wallet owner. |
email |
String The email address value for the registered wallet, which is used as a primary identifier for the user. If this value is updated, a verification link is emailed to the new address and a notification is emailed to the previous address. The new address will not be active until verification is completed. |
password |
String The password value for the registered wallet against which the value entered by the user at login is validated. |
confirmPassword |
String The confirm password value for the registered wallet against which the value entered by the user at login is validated. |
passcode |
String The passcode value for the registered wallet against which the value entered by the user at login is validated. |
confirmPasscode |
String The confirm passcode value for the registered wallet against which the value entered by the user at login is validated. |
mfaAnswers |
Dictionary The set of definitions matching the wallet owner’s secret question responses, where the value is the question and the key is the response. When an MFA challenge is triggered, the response from the user will be validated against the relevant key from this property. |
phone |
String The primary phone number of the registered wallet owner. The default PDMetaData values for this property are:@Key = MOBILE_NUMBER @Value = This must not be null/empty if required.@Name = Mobile Number @Type = NSString @Is Required = NO @Minimum Length = 0 @Maximum Length = 50 @Can be used to create = NO @Can be used while updating = NO |
additionalCustomerInformation |
Dictionary A set of key/value definitions that provide information relevant to the user is not otherwise captured. For example, the user’s opt-in status for channel-specific contact: - opt_in_email=false - opt_in_sms=true |
externalId |
String A unique identifier by which the user is distinguished in a relevant external system such as an analytics engine that may segment users based on demographics data. |
PDCustomerProfileMetaDataAdditionalData
A key/value pair that defines a custom metadata property that extends the user profile.
Property | Description |
---|---|
additionalDataKey |
String The name of the metadata property that this object represents; for example, gender . |
additionalDataValue |
String The value ascribed to this property for the particular provisioned account; for example, F . |
PDPaydiantContext
Defines the fingerprint of the mobile wallet application that is running on a particular device at the time that the SDK is initialized on that device.
Property | Description |
---|---|
applicationSignature |
String The 36-character alpha-numeric UUID generated by the wallet issuer to uniquely identify the particular instance of the mobile wallet app. Note: App developers are advised to: - Use CFUUID to generate the application signature - Maintain different application UUIDs for production and test environments. - Rotate UUIDs of incremental releases as a hightened security practice. This value is required for your application. If omitted, the SDK will throw an exception for all attempted calls. |
applicationVersion |
String The specific build version of the mobile wallet app. This value should follow Paydiant’s SDK version format, where: a = major version (annual)b = minor version (monthly)c = hotfix reference (0 = normal; 1 = hotfix)d = internal build iteratione = device OS (i = iOS; a = Android) |
collectStatistics |
Boolean Specifies whether the app is enabled to record login statistics. |
deviceTypeId |
String The unique identifier for the type of device on which the app is installed. |
deviceID |
String The unique identifier for the iOS device that is registered with a mobile payments app. |
apiKey |
String An internal identifier used by Paydiant that is not applicable to the app developer. |
encryptionSettings |
Dictionary Defines how login credential values are handled by the wallet app. If enabled, Boolean-compatible values must be supplied for the following keys: - kEncryptPin - kEncryptPassword - kEncryptMFASecretAnswer - kCaseInsensitiveMFASecretAnswer . |
hostPort |
String The port through which the app connects, if applicable. |
hostProtocol |
String The connection protocol used by the app to connect to the Paydiant server. For example, http . |
ipAddress |
String The Internet routing identification for the device’s network service. |
locationLoggingEnabled |
Boolean Specifies if the app appends logged messages with the location coordinates of the app at the time the logged event occurred. The default value for this property is FALSE . |
paydiantSDKVersion |
String The SDK software release on which the mobile wallet app is running. |
userErrorMessages |
Dictionary An instance of PDUserErrorMessageCollection with the set of messages defined by the app developer to display in the wallet app for each error code represented in the SDK. This is a mandatory parameter that must be set at the time of SDK instantiation. |
Customer/User Message Objects
The following message objects contain the metadata that is specific to calls made to the UserEnrollmentCoordinator
.
PDRegisterUserRequest
Retrieves the information necessary to create a new wallet registration that is managed within the Paydiant platform.
Property | Description |
---|---|
userProfile |
PDUserProfile Contains the values input by the user as required by the registration process. |
PDRegisterUserResponse
Returns the information necessary to create a new wallet registration that is managed within the Paydiant platform
Property | Description |
---|---|
nonce |
String A temporary access token that is expected to be passed with the loginByNonce method to allow the app instance verification to complete. This verification is an extension of the email verification process for new registrations. The code must be passed within the duration configured by the issuer during onboarding. If login is not completed during this window, the user is forced to complete a second verification to complete the registration and then log into the app. |
customerUri |
String The Paydiant-generated unique identifier for the wallet user profile. |
message |
String The raw data returned by the mobile gateway. |
PDRegisterCustomerRequest
Retrieves the information required to create a new wallet registration that is managed in an external repository managed by the issuer. In this case, authentication is handled through the SSO framework.
Property | Description |
---|---|
mfaSecurityProfiles |
Array The set of PDMFASecurityProfile instances, each of which includes a question and answer pair for one of the issuer-defined MFA security questions to which the user has provided a response. |
additionalCustomerInformation |
Array The set of PDAdditionalCustomerInformation instances for the properties required by the issuer for new registrations. |
address |
PDAddressInformation Defines the wallet user’s postal address. |
email |
String The email address for the user registering the wallet. |
firstName |
String The wallet user’s first name. |
lastName |
String the wallet user’s last name. |
passcode |
String The login PIN input by the user. |
phone |
String The wallet user’s contact phone number. |
nonce |
String The one-time access token provided by the issuer in order to register a new user. |
externalId |
String The unique identifier used to distinguish the user in a relevant external system such as an analytics engine that may segment users based on demographic data. |
PDRegisterCustomerResponse
Returns the information required to create a new wallet registration that is managed in an external repository managed by the issuer.
Property | Description |
---|---|
nonce |
String A one-time access token that is expected to be passed with the loginByNonce method for the first login by the new user. |
customerUri |
String The Paydiant-generated unique identifier for the wallet user profile. |
additionalCustomerInformation |
Array The set of PDAdditionalCustomerInformation instances confirming the additional property values that were captured for the user. |
PDRetrieveCustomerProfileMetaDataRequest
Passes the values required to authenticate the device with the external identity provider (IDP) in order to retrieve the profile information associated with the user.
Property | Description |
---|---|
authorizationCode |
String The code assigned by the issuer at the time of registration with the external IDP that allows Paydiant to access the user’s profile through the SSO framework. |
identityProvider |
String The external party through which authentication of the user credentials is validated. |
additionalInformation |
Array A set of PDCustomerProfileMetaDataAdditionalData instances identifying the properties for which values are being requested. |
PDRetrieveCustomerProfileMetaDataResponse
Returns the values required to authenticate the device with the external identity provider (IDP) in order to retrieve the profile information associated with the user.
Property | Description |
---|---|
authorizationCode |
String A code assigned by the issuer that allows Paydiant to access the new user’s profile through the SSO framework. |
customerInfoJson |
String The raw JSON string that defines the attributes that make up the user profile in the external system. Paydiant does not parse this value. |
isCustomerSecurityProfileExists |
Boolean Specifies whether the wallet user has provided responses to any MFA questions. |
nonce |
String A one-time access token provided by the issuer that is expected in the registerCustomer request. |
deviceUniqueId |
String The unique identifier for the iOS device that is registered with the mobile payments app. |
deviceType |
String The type of iOS device associated with the wallet registration; for example, iPad or iPhone . |
identityProvider |
String The external party through which authentication of the user credentials is validated. |
additionalInformation |
Array The set of PDCustomerProfileMetaDataAdditionalData instances that pass the values for properties that were listed in the request. |
PDRetrieveMFAQuestionsWithMetadataResponse
Returns the set of questions that are available for selection as secondary identification values so the app developer can display them during the wallet registration or update process.
Property | Description |
---|---|
mfaQuestions |
Array A set of string values representing the pool of questions available for selection and response submission. This set of questions does not include any additional specifications and is included in the response for compatibility with questions defined before the metadata questions were introduced. |
numberOfRequiredQuestions |
Integer Specifies the number of questions from the set for which the user must submit a response in order to register. The app developer should design the screen accordingly. |
mfaQuestionsWithMetadata |
Array The set of PDMFAQuestionWithMetadata that represents the pool of questions from which the user can choose, along with additional information about each question’s requirement and creation status. |