iOS SDK - Transactions Objects

Transaction Domain Objects

PDAcceptancePartner

Identifies the entity registered to process mobile transactions on the Paydiant platform.

Property Description
logoUrl String
The unique identifier for the image used by the merchant when the merchant is displayed in the mobile wallet, such as on the transaction summary screen or offers.
modifiedDate NSDate
The last occasion when the acceptance partner profile was updated.
acceptancePartnerPartnerartnerUri String
The unique identifier for the Paydiant partner under which the merchant is registered.
acceptancePartnerName String
The name of the merchant as it appears in the mobile wallet.
acceptancePartnerUri String
The unique identifier for the merchant registered to accept Paydiant-powered mobile payments.
cardSurfaceDiscountLabel String
If an acceptance partner identifies a particular payment account as preferable and offers a discount for it’s use, this message will be affixed to the payment account’s display when is appears in the payment list.

PDCashAccessTransaction

Captures the details of a mobile banking transaction.

Property Description
transDate NSDate
The time and date that the transaction completed.
cashAccessType PDCashAccessTransactionType Enum
A value from the PDCashAccessTransaction enum that specifies the type of banking transaction performed. At this time, kPDCashAccessTransactionTypeWithdrawal (Withdrawal) is the only supported value.
accountUri String
The unique identifier for the payment account selected for this transaction.
paydiantTransactionRefId String
Paydiant’s unique identifier for the transaction.
currencyCode String
The code that identifies the monetary unit used for the transaction, as recognized by the ISO 4217 standard, for example, USD = United States Dollar.
amount NSNumber
The dollar amount distributed to the user by the ATM withdrawal.

PDCheckoutToken

Identifies the checkout token generated for the transaction.

Property Description
checkoutTokenValue String
The unique code that identifies the checkout token.
checkoutTokenType PDCheckoutTokenType Enum
The transaction type for which the checkout token was generated.

PDDiscountEntry

Defines a discount that applies to a preferred payment account.

Property Description
networkType String
The payment processor associated with the preference discount.
discountedTotalAmount String
The dollar amount of the discount.
discountedTotal Decimal
A set of PDExternalEventAdditionalData dictionary objects that stores key/value property information that is not otherwise captured. For example:
externalEventAdditionalDataKey = cancelReason
externalEventAdditionalDataValue = emptyFuelPump

PDExternalEvent

An action outside the mobile wallet app that triggers a corresponding action within the app.

Property Description
additionalData Array
A set of PDExternalEventAdditionalData dictionary objects that represents a key/value property that stores information that is not otherwise captured. For example:
externalEventAdditionalDataKey = cancelReason
externalEventAdditionalDataValue = emptyFuelPump
externalEventType PDExternalEventType Enum
Identifies the action performed by the fuel pump that qualifies as an external event.

PDFlowRuleAdditionalData

A key/value definition for a custom property related to the execution of a certain PDTransactionFlowRuleSpecification in a transaction, such as an authorization code.

Property Description
flowRuleAdditionalDataKey String
The name of the metadata property that this object represents.
flowRuleAdditionalDataValue String
The value set for this property for the flow rule specification in which it is defined.

PDFuelGrade

Defines the octane rating of the fuel that is selected in the transaction.

Property Description
available Boolean
Specifies whether the octane rating of fuel specified is currently available for dispensing.
fuelGradeDescription String
A brief description that distinguishes the selected fuel grade from other grades; for example, Unleaded Premium 91.
identifier String
A unique identifier for the fuel grade, as defined by the acceptance location.
fuelGradePrice NSNumber
The price charged per unit of gasoline of this grade.
price Decimal
Deprecated as of SDK 5.5 and replaced by fuelGradePrice.

PDFuelPump

Identifies a specific fuel pump as a terminal within a fuel site acceptance location.

Property Description
additionalData Array
A set of PDFuelPumpAdditionalData dictionary objects, each of which represents a key/value property that stores information about the fuel pump that is not otherwise captured. For example:
additionalDataKey = dieselOnly
additionalDataValue = TRUE
available Boolean
Specifies the fuel pump’s availability to pair with the mobile app's BLE service to initiate a transaction.
fuelGrades Array
The set of PDFuelGrade objects that identify the fuel grade selections available at this pump.
fuelType String
An acceptance-partner defined attribute that stores the way that the fuel type dispensed from the pump is identified, such as Unleaded vs. Diesel.
pumpNumber String
Identifies the pump as it is labeled within its fuel site acceptance location.

PDFuelReceiptProperties

Captures receipt details that are specific to fuel transactions.

Property Description
additionalData Array
A set of PDFuelReceiptPropertiesAdditionalData dictionary objects, each of which stores a key/value property about the fuel transaction that is not otherwise captured. For example:
additionalDataKey = pumpRate
additionalDataValue = 5 gal/minute
unitsPumped NSNumber
The volume of fuel dispensed for the transaction, in the units specified by the PDFuelUnitType attribute.
fuelUnitType PDFuelUnitType Enum
Specifies the unit of volume by which fuel is measured for the transaction.

PDFuelTicketDetail

Captures purchase ticket details that are specific to fuel transactions.

Property Description
additionalData Array
A set of PDFuelTicketDetailAdditionalData dictionary key/value objects used to store information about the fuel ticket that is not otherwise captured. For example:
additionalDataKey = answeredSurvey
additionalDataValue = FALSE
fixedSpendAmount NSNumber
A monetary amount specified by the user that represents the maximum amount for the purchase, at which point the pump should stop dispensing fuel regardless of whether the tank has been filled.
printReceipt Boolean
Specifies if the user requested a printed receipt.
pumpNumber String
Identifies the pump as it is labeled within its fuel site acceptance location.

PDGeoCoordinate

Uniquely identifies the physical location of an acceptance site based on its global coordinates in order to perform a geo-check-in action.

Property Description
siteLatitude NSNumber
The number representing the precise latitudinal coordinate of the site location.
siteLongitude NSNumber
The number representing the precise longitudinal coordinate of the site location.

PDMetaDataCheckoutToken

Identifies the token that initiated the transaction for which the request is relevant.

Property Description
checkoutTokenValue String
The unique code that identifies the checkout token.
checkoutTokenType PDMetaDataCheckoutTokenType Enum
Identifies the transaction type for which the checkout token was generated.

PDPaymentCharge

A specific payment instance for a transaction. Some transactions have multiple related payment charges due to split tender payments.

Property Description
paymentAccount PDPaymentAccount
Deprecated as of SDK 5.5 and replaced by paymentInstrument.
paymentInstrument PDPaymentInstrument
Identifies the payment account in the wallet associated with this transaction charge.
currencyCode String
The code that identifies the monetary unit used for the transaction, as recognized by the ISO 4217 standard, for example, USD = United States Dollar.
paymentChargeAmount NSNumber
The dollar amount that was charged in this payment instance.
amount Decimal
Deprecated as of SDK 5.5 and replaced by paymentChargeAmount.

PDPaymentInstrument

A payment account used as tender for a specific transaction.

Property Description
paymentAccountUri String
The unique identifier for a specific payment account registered in the wallet.
tenderType PDPaymentTender
Defines the type of card associated with the payment account, such as credit, debit, or gift.
additionalData Array
A set of key/value dictionary objects that defines information relevant to the payment account used for the transaction that is not otherwise captured. For example,
preferredDiscount=5%

PDPaymentResult

The outcome of a particular payment authorization request. A single transaction can have multiple payment result instances due to, for example, split tender or declines.

Property Description
paydiantReferenceId String
Paydiant’s unique identifier for the transaction.
paymentAccountTypeUri String
The unique identifier representing the type of payment account, such as credit, debit, or gift.
paymentAccountNetworkTypeUri String
The code identifier for the payment account processor; for example, Visa or Mastercard.
paymentAccountUri String
The unique identifier created for the current session to represent that payment account in the Paydiant managed service.
paymentRefId String
The unique identifier for the current payment, which may be only one of multiple payments for a transaction.
amount NSNumber
The dollar amount paid in this payment, which may be a partial payment in a split tender transaction.
paidAmount Decimal
Deprecated as of SDK 5.5 and replaced by amount.
paidDate NSDate
The time and date on which the payment authorization completed in NS timestamp format.

PDPaymentTender

Identifies a supported tender used in a specific transaction.

Property Description
paymentAccountType PDPaymentAccountType
The object that defines the type of card associated with the payment account, such as credit, debit, or gift.
paymentAccountNetworkType PDPaymentAccountNetworkType
The object that defines the network processor associates with the payment account; for example, Visa, Mastercard, PayPal, NYCE, etc.
splitPaymentEnabled Boolean
Determines whether the transaction is eligible to be paid using multiple payment accounts in the wallet. For example, a partial payment by gift card and the remaining balance by credit card.

PDPaymentTransaction

Defines a particular payment authorization event in a transaction.

Property Description
transactionId String
The unique identifier for that transaction in the app, which is the means by which one would look up a particular transaction.
transactionInformation PDTransactionInformation
Contains the set of information that completely defines a transaction.
redemptionFailedOffers Array
The list of offers that were applied to this transaction but failed to be successfully redeemed.
paymentResult PDPaymentResult
Provides information about the success or failure of the payment transaction.
previousPaymentResults Array
For split tender payments, this property lists the set of PDPaymentResult objects that were completed for the transaction prior to this payment instance.
paymentAccountUri String
The unique identifier for the payment account used for the transaction, or for a partial payment of the transaction.

PDPosRequestMobileTender

Defines a POS request that payment authorization be submitted for a specified amount to be charged to a specified payment account. This may or may not represent payment in full for the transaction.

Property Description
paymentAccountTypeUri String
The unique identifier representing the type of payment account, such as credit, debit, or gift.
paymentAccountNetworkTypeUri String
The code identifier of the payment account processor; for example, Visa or Mastercard.
transactionAmount NSNumber
The amount of the payment relevant to the specified tender.
amount Decimal
Deprecated as of SDK 5.5 and replaced by transactionAmount.
currencyCode String
The code that identifies the monetary unit used for the payment, as recognized by the ISO 4217 standard, for example, USD = United States Dollar.

PDSiteCheckInDetail

The information required by the site in order for the app to identify itself and retrieve the site information about pump availability, etc.

Property Description
additionalData Array
A set of PDSiteCheckInDetailAdditionalData instances, each of which represents a key/value property relevant for site check-in.
acceptanceLocationExternalId String
The LBS service’s unique identifier for the acceptance location detected by the app.
geoCoordinate PDGeoCoordinate
Uniquely identifies the physical location of the site based global coordinates.

PDSiteLocation

Identifies an in-range fuel site to which the app can declare itself in order to retrieve information about available pumps or services.

Property Description
additionalData Array
A set of PDSiteLocationAdditionalData dictionary objects, each of which represents a key/value property imparting relevant information about a fuel site that is not otherwise captured.
fuelPumps Array
The set of PDFuelPump objects that defines each fuel pump associated with the fuel site acceptance location.
siteResources Array
The set of PDSiteResource objects that represents other payment entities within the site location with which the app can interact, such as a car wash or service center.
siteCheckInDetail PDSiteCheckInDetail
Identifies a fuel site using its location-based BLE check-in parameters.

PDSiteResource

Identifies a fuel site entity other than a fuel pump with which the mobile payments app can interact to initiate a transaction, such as a car wash or vacuum.

Property Description
additionalData Array
A set of PDSiteResourceAdditionalData dictionary objects, each of which defines a key/value property imparting relevant information about the resource that is not otherwise captured. For example:
additionalDateKey = serviceType
additionalDataValue = car_wash
available Boolean
Specifies whether the app is able to check in with the resource in order to initiate a transaction.
siteResourceDescription String
A brief description that describes the resource for the purpose of enabling the app to correctly identify it; for example, Car wash bay no 1.
identifier String
A unique identifier for the resource as defined by the acceptance location.
name String
The name of the resource as defined by the acceptance location.

PDSpecialDiscountCategory

Defines a discount that is applied to a transaction for a particular purpose, such as an employee discount, senior discount, or Veteran discount.

Property Description
discountKey String
The unique identifier for the discount category.
salePrice NSNumber
The cost of the purchase with the special discount.
tax NSNumber
The amount of tax added to the purchase amount.
saleAmount Decimal
Deprecated as of SDK 5.5 and replaced by salePrice.
taxAmount Decimal
Deprecated as of SDK 5.5 and replaced by tax.

PDStoreLocation

Identifies the geographical location and enabled settings of the retailer at which the transaction occurred.

Property Description
name String
The identifier for the individual location; for example, BoxStore_12345.
state String
The U.S. state in which the store is located.
country String
The country in which the store is located.
addressLine1 String
The first line of the physical location of the store.
addressLine2 String
The second line of the physical store location.
city String
The city in which the store is located.
acceptancePartner PDAcceptancePartner
Defines the merchant tat is registered to accept mobile payments.
uri String
The unique identifier of the specific retail location.
zipCode String
The U.S. postal code for the store location.
storeLocationId String
The unique identifier for the specific store location in which the transaction is conducted.
currencyCode String
The code that identifies the monetary unit used for the transaction, as recognized by the ISO 4217 standard, for example, USD = United States Dollar.
tippingEnable Boolean
Specifies whether the specific retail location supports tipping, which allows a tip to be added to the total before processing.

PDTicket

Defines a transaction processed by the POS, which is then transmitted to Paydiant’s service for the purpose of updating the details in the mobile wallet.

Property Description
ticketAmount NSNumber
The total amount due for the transaction.
ticketSubTotal NSNumber
The calculated total of the purchase, prior to any discounts, tax, or other modifications to the amount due.
cashierId String
The identifier for the employee who was logged into the POS when the transaction was processed.
cashierName String
The name of the cashier corresponding to the cashierId.
terminalId String
The unique identifier for the POS terminal on which the transaction was processed.
checkNumber String
The identifier associated with the open transaction, usually a pay-at-the-table.
tableNumber String
For restaurant transactions, the identifier of the location at which the customer dined.
secondaryIdentifier String
The unique identifier for the transaction, as provided by the POS.
discount NSNumber
The dollar amount by which the amount due is reduced per the discount.
discountedSubTotal NSNumber
The updated amount due after the discount has been subtracted.
merchanttransactionRefId String
The POS’s unique identifier for the transaction.
specialDiscountCategory PDSpecialDiscountCategory
Defines the merchant-defined discount applied to the total amount due.
surcharge NSNumber
The dollar amount added to a cash access transaction as an ATM fee.
tax NSNumber
The dollar amount of sales tax applied to the purchase.
preTaxSubTotal NSNumber
The updated amount due before sales tax is applied.
lineItems PDLineItem
The array of objects that define each item included in the receipt.
totalTicketTipAmount String
The dollar amount added to the total amount due based on a tip allocation.
checkRevision String
References the revision number of the check associated with this ticket in case there have been multiple iterations in the system.
amountPoints NSNumber
The number of points earned for the transaction.
calculateTipAmount NSNumber
The portion of the total check that is relevant for calculating a tip. For example, in a check where a souvenir T-shirt was also purchased, only the food and beverage cost is used in an automatically applied tip calculation.
includedGratuity NSNumber
The dollar amount added as an automatically applied tip, as with large dining parties.
ticketType PDTicketType
The type of transaction for which the ticket has been generated, as defined in the PDTicketType enum:
kPDTicketTypePurchase
kPDTicketTypeRefund
kPDTicketTypeCashWithdrawal
kPDTicketTypeCashDeposit
kPDTicketTypeFuel
kPDTicketTypeUnknown (default)
fuelTicketDetail PDFuelTicketDetail
Relays additional properties of the ticket that are specific to a fuel transaction, such as the amount of fuel dispensed.
transactionSubType PDTransactionSubType
Enum that further distinguishes a transaction within the primary type.
transactionSubTypeDescription String
Captures any optional plain text explanation that further describes the transaction. For example, a Refund/exchange may contain an additional note explaining that the exchange item cost less than the returned item, resulting in a credit.

PDTransactionAmount

The breakdown of the calculated amount due for a transaction.

Property Description
transactionAmount NSNumber
The calculated price of the purchase.
discount NSNumber
The total amount deducted for redeemed offers.
tip NSNumber
The amount of any tip added by the user.
tax NSNumber
The amount of sales tax added to the amount due.
discountedSubTotal NSNumber
The updated amount due based on any reductions applied by the point of sale terminal.
totalDue NSNumber
The final amount submitted for settlement after all deductions and additions are tallied.
totalPaid NSNumber
The amount, if any, that has already been paid against the total amount due by another payment method, such as a loyalty program reward redemption.
currencyCode String
The code that identifies the monetary unit used for the transaction, as recognized by the ISO 4217 standard, for example, USD = United States Dollar.
currencyUri String
The unique identifier for the type of currency used in the transaction.
specialDiscountCategories Array
The set of PDSpecialDiscountCategory objects that defines each of the POS-applied discounts that are relevant to the transaction.
amount Decimal
Deprecated as of SDK 5.5 and replaced by transactionAmount.
taxAmount Decimal
Deprecated as of SDK 5.5 and replaced by tax.
totalAmountDue Decimal
Deprecated as of SDK 5.5 and replaced by totalDue.
totalAmountPaid Decimal
Deprecated as of SDK 5.5 and replaced by totalPaid.
totalOfferDiscountAmount Decimal
Deprecated as of SDK 5.5 and replaced by discount.
saleAmount Decimal
Deprecated as of SDK 5.5 and replaced by discountedSubTotal.
totalTipAmount Decimal
Deprecated as of SDK 5.5 and replaced by tip.

PDTransactionDetail

Defines all relevant information pertaining to a transaction.

Property Description
transactionAmountSummary PDTransactionAmount
Defines the breakdown of the final amount submitted for authorization.
ticket PDTicket
Defines an open transaction, as represented by the POS.
redeemedOffers Array
The set of PDOffer objects for all offers that were redeemed for the transaction.
loyaltyAccrualActivities Array
The set of PDTransactionLoyaltyAccrualActivity objects for each action in the transaction to which loyalty points apply.
posRequestedPayments Array
The set of PDPaymentCharge objects for each instance in which the POS processed a payment from its terminal for the transaction.
posRequestMobileTender PDPosRequestMobileTender
Identifies a partial payment applied to the transaction by the POS.
posUtilizedOffers Array
The set of PDOffer objects that define any offers that were applied by the POS externally of the mobile wallet.
currentPaymentResult PDTransactionAccount
The object that defines the outcome of the most recent payment instance.
previousPaymentResults Array
A set of PDTransactionAccount objects that defines each of any prior payment instances or attempts that have been applied to the transaction.
processedPreAuthPaymentResults Array
A set of PDTransactionAccount objects that defines each of any payment instances that served as pre-authorization charges for the purpose of securing funds validation prior to enabling product or service dispensing.

PDTransactionEnums

Defines various transaction-related properties for which the set of valid value options is predefined.

Property Description
discoveryType PDDiscoveryType Enum
Specifies the type of BLE event that the app has discovered.
event PDLifeCycleEventType Enum
Identifies a single state within a transaction that is relevant to the associated metadata.
externalEventType PDExternalEventType Enum
Specifies an action outside of the app that must precipitate the next step in a transaction.
fuelUnitType PDFuelUnitType Enum
Specifies the unit of volume by which fuel is dispensed and charged.
offerType PDEligibleOfferType Enum
The types of offers that can be processed for the current transaction.
flowRule PDTransactionFlowRule Enum
Defines the specific step in a transaction for which the metadata property is relevant.

PDTransactionFlowRuleSpecification

The transaction flow rule specification object defines the requirements for different processing steps within a transaction.

Property Description
transactionFlowRule String
Deprecated as of SDK 5.10 and replaced by flowRule property.
flowRule PDTransactionFlowRule Enum
Identifies the flow rule for this specification.
additionalRuleProcessingMetaData Array
The set of PDFlowRuleAdditionalData instances that defines any data properties that may be required in order to complete the flow rule.
blockUntilEvent PDLifeCycleEventType
If this attribute is populated, the flow rule cannot complete until the event indicated by this enum value has fired.
expectsOffers Boolean
Indicates if this flow rule requires offers to be submitted in order to complete.
eligibleOfferType PDEligibleOfferType Enum
Specifies the types of offers that can be redeemed for the transaction. Offers are categorized based on whether the offer is being published by the Paydiant service or input directly into the POS.
executeRuleAfterTimeoutForPreExecutionEvent Boolean
When the rule is contingent upon a pre-execution event, this setting specifies that the rule should still execute if the pre-execution event times out.
transactionType PDTransactionType Enum
The type of transaction to which the rule applies.
stepNumber Integer
Identifies the sequence in which this rule is to be applied during execution.
expectsCheckoutToken Boolean
Specifies if this rule action requires a checkout token reference in order to be executed.
expectsPaydiantReferenceId Boolean
Specifies if this rule action requires a PaydiantReferenceId in order to be executed.
expectsPaymentTenders Boolean
Specifies if this rule must include relevant payment tender objects in order to execute.
expectsTransactionData Boolean
Specifies if this flow rule must include relevant transaction metadata in order to execute.
stepOptional Boolean
Specifies if this rule can be omitted at the developer’s discretion.
executeRuleAndPollForResult Boolean
Specifies if the service should begin listening for a response to the event simultaneously with its execution.
numberOfTimesToRetryRequest Integer
The number of times attempted execution of this rule is to be automatically repeated before the event is considered to have failed.
pollUntilTransactionErrorStatuses Array
Identifies one or more values from the PDTransactionStatus enum that the server expects as a response for this event. If the response does not include at least one of the listed values, the service will retry until the expected status is returned or the event times out.
pollUntilTransactionSuccessStatuses Array
Identifies one or more values from the PDTransactionStatus enum that the server expects as a success response for this event. If the response does not include at least one of the listed values, the service will retry until the expected status is returned or the event times out.
waitForPreExecutionEvent PDLifeCycleEventType
When populated, the flow rule cannot complete until the event specified by this enum value has fired.
waitTime Integer
The number of milliseconds to wait for the preExecutionEvent to complete.
preExecutionEventWaitTime Integer
The number of seconds to delay before executing this event.
requestProcessingTimeInSeconds Integer
The number of milliseconds it takes for this event to complete.
returnEligibleOffers Boolean
Specifies whether this rule passes the set of eligible offers in a response to the app.
returnNextProcessingRule Boolean
Specifies whether this rule represents a response that identifies the flow rule that will execute next.
returnTransactionDetails Boolean
Specifies whether this rule represents a response to the app that contains an instance of PDTransactionDetails.
returnTransactionStatus Boolean
Specifies whether this rule represents a response to the app that contains an instance of PDTransactionStatus.
transactionStatusesAfterRuleExecution Array
The set of PDTransactionStatus enum values that are expected following completion of the rule.
transactionStatusesBeforeRuleExecution Array
The set of PDTransactionStatus enum values that must be valid before the rule can execute.
returnTransactionMetaData Boolean
Specifies whether this rule represents a response to the app that contains an instance of PDTransactionMetadata.
returnRefundableReceipts Boolean
Specifies whether this rule represents a response to the app that contains the list of receipts that are valid for a refund transaction at the current location.

PDTransactionInformation

Defines the high-level aspects of the transaction.

Property Description
checkoutToken String
The token that was scanned to initiate the transaction.
customerUri String
The unique identifier for the mobile wallet user conducting the transaction.
merchantName String
The name of the retailer registered with Paydiant to accept mobile payments.
merchantLogoUri String
The unique identifier for the logo image associated with the retail location.
logoLastUpdateDate NSDate
The last occasion on which the merchant logo was retrieved by the app.
cardSurfaceDiscountLabel String
The message that appears on the payment account regarding any eligible discounts.
transactionAmount PDTransactionAmount
Defines the transaction amount breakdown.
storeLocation PDStoreLocation
Identifies the specific retail location where the transaction took place.
refundableReceiptCollection PDReceiptCollection
Lists the set of receipts that are eligible for refund.
discountEntries Dictionary
The list of discounts applied to the purchase.
merchantLogo UIImage
The image file containing the logo for the registered retailer.
type PDTransactionType
The type of transaction.
transDate NSDate
The time and date that the transaction was completed.
tenderTypeCollection Array
The list of payment account types accepted by the retail location.
offerArray Array
The list of offers valid at the retail location.

PDTransactionKey

Uniquely identifies all calls, events, and other data associated with a transaction in the Paydiant platform.

Property Description
paydiantReferenceId String
Paydiant’s unique identifier for the transaction generated when a checkout token is requested.

PDTransactionMetadata

Defines the transaction configurations supported for the POS processing the transaction.

Property Description
acceptanceLocation PDStoreLocation
Defines the merchant location at which the transaction occurred.
sitelocation PDSiteLocation
Provides additional property data specific to a fuel-dispensing acceptance location.
tenderTypes Array
The set of PDPaymentTender objects that are supported for the transaction.

PDUpdateTransactionAdditionalData

A dictionary key/value pair that defines a custom property that extends the data passed in a PDUpdateTransactionRequest.

Property Description
additionalDataKey String
The name of the property defined, for example, unit.
additionalDataValue String
The value of the property relevant to this call, for example, gallon.

PDUpdateTransactionSecondaryIdentifier

Some transactions require an additional means of identification to ensure that the mobile wallet user consents to the processing of the transaction. In such cases, the app developer calls the generateAccessCode method to create a unique value to serve as such an additional identifier. The returned value is persisted in an instance of this domain object.

Property Description
secondaryIdentifier String
The value returned by the generateAccessCode method for the purpose of verifying the identity of the mobile wallet engaged in the transaction.

Transaction Message Objects

PDRetrieveTransactionInformationRequest

Identifies the required transaction information.

Property Description
checkoutToken String
Uniquely identifies the QR code scanned by the user for this transaction. This property cannot be null.
startIndex Integer
If the request is fetching refundable receipts, the returned set of receipt objects should begin with this object number. The value for this attribute must be 0 or greater. The default value is 0.
numberOfRecords Integer
If the request is fetching refundable receipts, the returned set of receipts should display this number of receipts per page at a maximum. The value for this attribute must be 1 or greater. The default value is 15.
startDate Date
Filters the returned refundable receipts by the date range starting with this value.
endDate Date
Filters the returned refundable receipts by the date range ending with this value.

PDRetrieveTransactionInformationResponse

Returns the transaction information.

Property Description
transactionInformation PDTransactionInformation
Defines the properties for the requested transaction instance.

PDRetrieveTransactionMetaDataRequest

During Flow Rule Driven Processing, this object encapsulates the parameter data that is passed with the call to retrieve updated transaction data based on changes applied by the POS or an external party, such as the payment processor. The checkoutToken and executingTransactionFlowRule parameters are always required to associate the request with the transaction and its relevant step. Other parameter requirements are contingent on the specified executingTransactionFlowRule value.

Property Description
checkoutToken PDMetaDataCheckoutToken
Uniquely identifies the transaction for which the metadata is being requested.
siteCheckInDetail PDSiteCheckInDetail
Positively identifies an acceptance location in range in order to initiate a transaction.
discoveryType PDDiscoveryType Enum
Specifies the type of transaction being processed.
executingFlowRule String
Deprecated in SDK 5.10 and replaced with executingTransactionFlowRule.
executingTransactionFlowRule PDTransactionFlowRule Enum
Identifies the flow rule for this specification.
transactionKey PDMetadataTransactionKey
The paydiantReferenceId associated with the transaction.
receiptParameters PDMetadataReceiptParameters
If the executingTransactionFlowRule value is 7 kPDTransactionFlowRuleRetrieveTransactionMetaDataSummary, the request must include this parameter, populated with the following property values:
- startIndex (Integer)
- maxNumberOfRows (Integer)
- retrieveRefundableReceipts (Boolean)
- startDate (NSDate)
- endDate (NSDate)
offerParameters PDMetadataOfferParameters
If the executingFlowRule value is 9 kPDTransactionFlowRuleSubmitOffers or 10 kPDTransactionFlowRuleSubmitOffersAndPaymentTenders, the request must include this parameter, populated with the following property values:
- startIndex (Integer)
- maxNumberOfRows (Integer)
- offerArtifcatChannelTypes (Array)
- startDate (NSDate)
- endDate (NSDate)
numberOfTimesToRetryRequest Integer
The number of times the executingFlowRule is automatically repeated before the event is considered to have failed.
requestProcessingTimeInSeconds Integer
The number of seconds it took for the executingFlowRule to complete.
invoiceId String
The acceptance partner’s identifier for an individual payment request associated with the transaction.

PDRetrieveTransactionMetaDataResponse

Returns the metadata values relevant to the parameters in the request.

Property Description
checkoutToken PDCheckoutToken
Uniquely identifies the transaction for which the metadata is being requested.
transactionKey PDTransactionKey
The paydiantReferenceId associated with the transaction.
refundableReceipts PDReceiptCollection
The set of receipts in the wallet engaged in the transaction that are able to be refunded at the merchant location engaged in the transaction.
eligibleOffers PDOfferReceiptCollection
The set of activated offers in the wallet engaged in the transaction that are able to be redeemed for the current transaction. This allows the app developer to alert the wallet user that an offer can be used.
transactionMetaData PDTransactionMetadata
The transaction information from the merchant POS that specifies supported tender for the merchant location engaged in the transaction. This data allows the app developer to ensure that the wallet only displays payment accounts that match the supported tender.
transactionStatus PDTransactionStatus Enum
The current state of the transaction.
transactionDetail PDTransactionDetail
Defines the actions applied to the transaction, such as offer redemption and loyalty accrual.
currentExecutingFlowRule String
Deprecated in SDK 5.10 and replaced with currentExecutingTransactionFlowRule.
currentExecutingTransactionFlowRule PDTransactionFlowRule Enum
Identifies the flow rule for this specification.
nextExecutingFlowRule String
Deprecated in SDK 5.10 and replaced with nextExecutingTransactionFlowRule.
nextExecutingTransactionFlowRule PDTransactionFlowRule Enum
Identifies the flow rule for this specification.
transactionFlowRuleSpecifications Array
The set of PDTransactionFlowRuleSpecification objects that define each flow rule specification for this metadata.
discoveryType PDDiscoveryType Enum
The type of transaction for the discovered flow rule.
externalEvents Array
The set of PDExternalEvent objects for each step in the transaction that has been processed outside the app and is relevant to the current flow rule of the transaction.

PDUpdateTransactionRequest

During Flow Rule Driven Processing, this object encapsulates the parameter data that is passed with the call in order to submit data updates for the current step in the transaction. The checkoutToken and executingTransactionFlowRule parameters are always required to associate the request with the transaction and its relevant step. Other parameter requirements are contingent on the specified executingTransactionFlowRule value.

Property Description
checkoutToken String
Uniquely identifies the transaction for which the payment is being requested.
transactionKey String
The unique identifier for the specified payment account.
paymentAccounts Array
The set of PDPaymentAccount instances that defines each payment tender used to complete the transaction.
extendedPaymentInstruments Array
The set of PDExtendedPaymentInstrument instances that define each payment tender used to complete the transaction and includes additional data properties not captured in the traditional payment account object.
Note: When specifying payment tenders in updateTransaction, populate only the extendedPaymentInstruments OR paymentAccounts attribute. If both are included, extendedPaymentInstruments data is ignored.
confirmationRequired Boolean
Specifies if the customer must confirm the payment for POS-initiated transactions.
executingFlowRule String
Deprecated in SDK 5.10 and replaced with executingTransactionFlowRule.
executingTransactionFlowRule PDTransactionFlowRule Enum
Identifies the flow rule for this specification.
cashAccessDetail PDUpdateTransactionCashAccessDetail
Summarizes a cash access transaction, as defined by the request class:
- cashAccessType (PDCashAccessTransactionType enum)
- cashAmount (Decimal)
paymentAccountUri Deprecated with no replacement as of SDK 5.9.
fuelAccessDetail PDFuelAccessDetail
Groups properties of a transaction that are relevant only when the transaction type = fuel.
additionalData Key/Value
Array of dictionary key/value pairs used to capture fuel-related transaction data that may be required for a particular partner.
fixedAmount Decimal
The maximum dollar value worth of fuel to dispense.
printReceipt Boolean
Indicates if a printed receipt is requested.
pumpNumber String identifier for the specific pump within an acceptance location.
selectedSiteResources PDSiteResource
Array of objects that represents other entities within the site location with which the app can interact.
acceptanceLocationExternalId String
Identfies the acceptance location as defined by the geolocation service.
acceptanceLocationUri String
Paydiant’s unique identifier for the specific merchant location; for example, GasForLess_Store54.
acceptancePartnerUri String
Paydiant’s unique identifier for the registered acceptance partner of the location, for example, Gas4Less.
partnerUri String
Paydiant’s unique identifier for the registered parent partner of the location, for example, GlobalGasCo.
tipAmount Decimal
The dollar amount of any tip that was applied to the total amount due on the transaction.
offers Array
The set of offerUri strings for each offer that was redeemed for the transaction.
refundDetail PDUpdateTransactionRefundDetail
Defines a transaction of type = refund, as defined by the request class.
merchantTransactionRefId String
Merchant-defined identifier for the transaction.
acceptancePartnerUri String
Paydiant’s unique identifier for the registered acceptance partner of the location; for example, ShoeMart.
paydiantReferenceId String
Paydiant’s unique identifier for the transaction.
receiptId String
The unique identifier for the receipt generated for the original purchase that being refunded.
secondaryIdentifier PDUpdateTransactionSecondaryIdentifier
Contains the value of the secondaryIdentifier property if required for pre-authorization of a transaction. This property is populated with the randomly generated access code returned by the generateAccessCode method.
additionalData Array
The set of PDUpdateTransactionAdditionalData instances that define custom Key/Value properties to extend the data passed in the update request.

PDUpdateTransactionResponse

Returns the update transaction information.

Property Description
checkoutToken PDCheckoutToken
Defines the checkout token value and its type.
transactionMetaData PDTransactionMetadata
Provides the data values for the current step within the transaction, which may include available offers, supported tender types, associated loyalty programs, whether tips are accepted, etc.
transactionKey PDTransactionKey
Uniquely identifies a transaction within the Paydiant service.
transactionDetail PDTransactionDetail
Defines the actions applied to the transaction, such as offer redemption, loyalty accrual, etc.
currentExecutingFlowRule String
Deprecated in SDK 5.10 and replaced with currentExecutingTransactionFlowRule.
currentExecutingTransactionFlowRule PDTransactionFlowRule Enum
Identifies the flow rule for this specification.
nextExecutingFlowRule String
Deprecated in SDK 5.10 and replaced with nextExecutingTransactionFlowRule.
nextExecutingTransactionFlowRule PDTransactionFlowRule Enum
Identfies the flow rule for this specification.
transactionFlowRuleSpecifications Array
The set of PDTransactionFlowRuleSpecificationthat defines each flow rule specification for this transaction's metadata.
externalEvents Array
The set of PDExternalEvent objects that identfies the activities completed outside the app that triggered this transaction update.
transactionStatus PDTransactionStatus Enum
The current state of the transaction.
nextTransactionFlowRuleSpecification PDTransaction Enum
Defines the requirements for the flow rule that will execute next in the transaction sequence. This information allows the developer to configure the app to comply with those requirements, such as the timeout value, before executing the next call.

PDSplitTenderPaymentTransactionRequest

Identifies the information required for the split tender transaction.

Property Description
paydiantReferenceId String
Uniquely identifies the transaction for which the payment is being requested.
paymentAccountUri String
The unique identifier for the specified payment account.
offerUris Array
The set of URIs for offers with matching criteria that are eligible for the transaction.
totalTipAmount Decimal
The amount that the user added to the amountDue as a tip.

PDSplitTenderPaymentTransactionResponse

Returns the split tender transaction information.

Property Description
paymentTransaction PDPaymentTransaction
Returns the details of the completed payment transaction.

Transaction Enums

PDLifeCycleEventType

Enum
kPDLifeCycleEventTypeNone (default)
kPDLifeCycleEventTypeMobileScan
kPDLifeCycleEventTypeTransactionBlocked
kPDLifeCycleEventTypeMobileTimeout
kPDLifeCycleEventTypeMerchantTimeout
kPDLifeCycleEventTypeTicketReceived
kPDLifeCycleEventTypePyamentFailed
kPDLifeCycleEventTypePaymentRetry
kPDLifeCycleEventTypePaymentSuccess
kPDLifeCycleEventTypeTransactionReceiptReceived
kPDLifeCycleEventTypeTransactionComplete
kPDLifeCycleEventTypeMerchantNotReachable
kPDLifeCycleEventTypeTransactionClaimed
kPDLifeCycleEventTypeRefundReceiptReceived
kPDLifeCycleEventTypeSecondaryIdentifierReceived
kPDLifeCycleEventTypeMonitorTransaction
kPDLifeCycleEventTypePreTimeoutNotification
kPDLifeCycleEventTypeLoyaltyCardCredentialsAvailable
kPDLifeCycleEventTypeTipAmountReceived
kPDLifeCycleEventTypeFullReversal
kPDLifeCycleEventTypeVoidTransaction
kPDLifeCycleEventTypeCancelTransactio
kPDLifeCycleEventTypePaymentReceived
kPDLifeCycleEventTypePaymentConfirmation
kPDLifeCycleEventTypeReleaseToCustomer
kPDLifeCycleEventTypeUndoVoidTransaction
kPDLifeCycleEventTypeUndoFullReversal
kPDLifeCycleEventTypeVoidPending
kPDLifeCycleEventTypeFullReversalPending
kPDLifeCycleEventTypeFullReversalFailed
kPDLifeCycleEventTypeVoidFailed
kPDLifeCycleEventTypeReceiptForRefundReceived
kPDLifeCycleEventTypeMobileScanTimeout
kPDLifeCycleEventTypePaymentSelectionTimeout
kPDLifeCycleEventTypePaymentProcessingTimeout
kPDLifeCycleEventTypeReceiptProcessingTimeout
kPDLifeCycleEventTypeRefundReceiptTimeout
kPDLifeCycleEventTypeTicketReceivedTimeout
kPDLifeCycleEventTypeOffersProcessed
kPDLifeCycleEventTypeTicketUpdated
kPDLifeCycleEventTypePaymentPartial
kPDLifeCycleEventTypeDoNotBlock
kPDLifeCycleEventTypeUerSelectedOffersSubmitted
kPDLifeCycleEventTypeUserSelectedPaymentTendersSubmitted
kPDLifeCycleEventTypeUerNotEligibleForOffers
kPDLifeCycleEventTypeUserDidNotSelectOffers
kPDLifeCycleEventTypeUserDidNotSelectPaymentTenders
kPDLifeCycleEventTypePosSelectedPaymentTendersSubmitted
kPDLifeCycleEventTypePosDidNotSelectPaymentTenders
kPDLifeCycleEventTypeUserConfirmedPayment
kPDLifeCycleEventTypeUserDeclinedPayment
kPDLifeCycleEventTypeAcceptancePointAvailable
kPDLifeCycleEventTypePreAuthSuccess
kPDLifeCycleEventTypePreAuthFailed
kPDLifeCycleEventTypePreAuthReversal
kPDLifeCycleEventTypePreAuthReversalFailed
kPDLifeCycleEventTypePreAuthCaptureSuccess
kPDLifeCycleEventTypePreAuthCaptureFailed
kPDLifeCycleEventTypePreAuthSubmitted
kPDLifeCycleEventTypePreAuthReversalPending
kPDLifeCycleEventTypePreAuthReceived
kPDLifeCycleEventTypeMobileTenderRequestReceivedFromPos
kPDLifeCycleEventTypeUserDidNotSelectRequestedTender
kPDLifeCycleEventTypeMobileTenderForProcessingReceived
kPDLifeCycleEventTypeNonReferenceRefundSuccess
kPDLifeCycleEventTypeNonPairedRefundSuccess
kPDLifeCycleEventTypePairedRefundSuccess
kPDLifeCycleEventTypeUserSelectionsSubmitted
kPDLifeCycleEventTypeThirdPartyLoyaltyInstrumentsSubmitted
kPDLifeCycleEventTypeThirdPartyLoyaltyInstrumentsNotAvailable

PDExternalEventType

Enum
kPDExternalEventTypeNone (default)
kPDExternalEventTypeFuelPumpActivated
kPDExternalEventTypeFuelStart
kPDExternalEventTypeFuelEnd
kPDExternalEventTypeFuelPumpDeactivated
kPDExternalEventTypeSecondaryidReceived
kPDExternalEventTypeFuelCanceled
kPDExternalEventTypeReceiptReceived

PDCashAccessTransactionType

Enum
kPDCashAccessTransactionTypeWithdrawal - only accepted value at this time
kPDCashAccessTransactionTypeDeposit
kPDCashAccessTransactionTypeUnknown (unknown)

PDCheckoutTokenType

Enum
kPDCheckoutTokenTypePurchase
kPDCheckoutTokenTypeRefund
kPDCheckoutTokenTypeOffer
kPDCheckoutTokenTypeCashAccess
kPDCheckoutTokenTypeFuel
kPDCheckoutTokenTypeUnknown (default)

PDDiscoveryType

Enum
kPDDiscoveryTypeFuelCheckIn
kPDDiscoveryTypeRemoteOrder
kPDDiscoveryTypePurchase
kPDDiscoveryTypeRefund
kPDDiscoveryTypeExchange
kPDDiscoveryTypeCashAccess
kPDDiscoveryTypeCloudDetermined
kPDDiscoveryTypePayAtTheTable

PDFuelUnitType

Enum
kPDFuelUnitTypeNone (default)
kPDFuelUnitTypeGallon
kPDFuelUnitTypeLitre

PDMetaDataCheckoutTokenType

Type Enum
1 kPDMetaDataCheckoutTokenTypePurchase
2 kPDMetaDataCheckoutTokenTypeRefund
3 kPDMetaDataCheckoutTokenTypeOffer
4 kPDMetaDataCheckoutTokenTypeCashAccess
5 kPDMetaDataCheckoutTokenTypeFuel
0 kPDMetaDataCheckoutTokenTypeUnknown (default)

PDTransactionFlowRule

Type Enum
0 kPDTransactionFlowRuleNone (default)
1 kPDTransactionFlowRuleConfirmTransaction
2 kPDTransactionFlowRuleObtainPurchaseToken
3 kPDTransactionFlowRuleObtainRefundToken
4 kPDTransactionFlowRuleProcessPayment
5 kPDTransactionFlowRuleRetrieveTransactionMetaDataDiscovery
6 kPDTransactionFlowRuleRetrieveTransactionMetaDataOther
7 kPDTransactionFlowRuleRetrieveTransactionMetaDataSummary
8 kPDTransactionFlowRuleSubmitCashAccessTicket
9 kPDTransactionFlowRuleSubmitOffers
10 kPDTransactionFlowRuleSubmitOffersAndPaymentTenders
11 kPDTransactionFlowRuleSubmitPaymentTenders
12 kPDTransactionFlowRuleSubmitRefundableReceipt
13 kPDTransactionFlowRuleSubmitTenderForFuel
14 kPDTransactionFlowRuleSubmitTenderforFuelWithSecondaryId
15 kPDTransactionFlowRuleSubmitTenderForOpenTab
16 kPDTransactionFlowRuleSubmitTenderForPreAuthPurchase
17 kPDTransctionFlowRuleSubmitMobileTenderForProcessing
18 kPDTransctionFlowRuleSubmitTenderForFuelWithFuelTicket
19 kPDTransctionFlowRuleSubmitTenderForFuelWithFuelTicketAndSecondaryId
20 kPDTransctionFlowRuleSubmitTenderForFuelWithFuelTicketAndOffers
21 kPDTransctionFlowRuleSubmitTenderForFuelWithFuelTicketAndSecondaryIdAndOffers
22 kPDTransactionFlowRuleProcessSplitPayment

PDEligibleOfferType

Enum
kPDEligibleOfferTypePos
kPDEligibleOfferTypePaydiant
kPDEligibleOfferTypePosPaydiant
kPDEligibleOfferTypeNone (default)

PDTransactionType

Enum
kPDTransactionTypeUnknown (default)
kPDTransactionTypePurchase
kPDTransactionTypeReturn
kPDTransactionTypeCashAccess
kPDTransactionTypeFuel

PDTransactionStatus

Enum
kPDTransactionStatusFailed
kPDTransactionStatusBlocked
kPDTransactionStatusCanceled
kPDTransactionStatusFullReversal
kPDTransactionStatusStart
kPDTransactionStatusActive
kPDTransactionStatusUnclaimed
kPDTransactionStatusOpen
kPDTransactionStatusProcessing
kPDTransactionStatusPending
kPDTransactionStatusReceiptPending
kPDTransactionStatusVoidTransaction
kPDTransactionStatusExpired
kPDTransactionStatusVoidPending
kPDTransactionStatusFullReversalPending
kPDTransactionStatusPartialPayment
kPDTransactionStatusNone (default)
Feedback

Have feedback?

Let us know.