iOS SDK - Transactions Objects

DOCS

Last updated: Aug 15th, 7:21am

Transaction Domain Objects

PDAcceptancePartner

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

PropertyDescription
logoUrlString
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.
modifiedDateNSDate
The last occasion when the acceptance partner profile was updated.
acceptancePartnerPartnerartnerUriString
The unique identifier for the Paydiant partner under which the merchant is registered.
acceptancePartnerNameString
The name of the merchant as it appears in the mobile wallet.
acceptancePartnerUriString
The unique identifier for the merchant registered to accept Paydiant-powered mobile payments.
cardSurfaceDiscountLabelString
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.

PropertyDescription
transDateNSDate
The time and date that the transaction completed.
cashAccessTypePDCashAccessTransactionType 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.
accountUriString
The unique identifier for the payment account selected for this transaction.
paydiantTransactionRefIdString
WLW’s unique identifier for the transaction.
currencyCodeString
The code that identifies the monetary unit used for the transaction, as recognized by the ISO 4217 standard, for example, USD = United States Dollar.
amountNSNumber
The dollar amount distributed to the user by the ATM withdrawal.

PDCheckoutToken

Identifies the checkout token generated for the transaction.

PropertyDescription
checkoutTokenValueString
The unique code that identifies the checkout token.
checkoutTokenTypePDCheckoutTokenType Enum
The transaction type for which the checkout token was generated.

PDDiscountEntry

Defines a discount that applies to a preferred payment account.

PropertyDescription
networkTypeString
The payment processor associated with the preference discount.
discountedTotalAmountString
The dollar amount of the discount.
discountedTotalDecimal
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.

PropertyDescription
additionalDataArray
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
externalEventTypePDExternalEventType 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.

PropertyDescription
flowRuleAdditionalDataKeyString
The name of the metadata property that this object represents.
flowRuleAdditionalDataValueString
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.

PropertyDescription
availableBoolean
Specifies whether the octane rating of fuel specified is currently available for dispensing.
fuelGradeDescriptionString
A brief description that distinguishes the selected fuel grade from other grades; for example, Unleaded Premium 91.
identifierString
A unique identifier for the fuel grade, as defined by the acceptance location.
fuelGradePriceNSNumber
The price charged per unit of gasoline of this grade.
priceDecimal
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.

PropertyDescription
additionalDataArray
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
availableBoolean
Specifies the fuel pump’s availability to pair with the mobile app's BLE service to initiate a transaction.
fuelGradesArray
The set of PDFuelGrade objects that identify the fuel grade selections available at this pump.
fuelTypeString
An acceptance-partner defined attribute that stores the way that the fuel type dispensed from the pump is identified, such as Unleaded vs. Diesel.
pumpNumberString
Identifies the pump as it is labeled within its fuel site acceptance location.

PDFuelReceiptProperties

Captures receipt details that are specific to fuel transactions.

PropertyDescription
additionalDataArray
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
unitsPumpedNSNumber
The volume of fuel dispensed for the transaction, in the units specified by the PDFuelUnitType attribute.
fuelUnitTypePDFuelUnitType 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.

PropertyDescription
additionalDataArray
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
fixedSpendAmountNSNumber
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.
printReceiptBoolean
Specifies if the user requested a printed receipt.
pumpNumberString
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.

PropertyDescription
siteLatitudeNSNumber
The number representing the precise latitudinal coordinate of the site location.
siteLongitudeNSNumber
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.

PropertyDescription
checkoutTokenValueString
The unique code that identifies the checkout token.
checkoutTokenTypePDMetaDataCheckoutTokenType 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.

PropertyDescription
paymentAccountPDPaymentAccount
Deprecated as of SDK 5.5 and replaced by paymentInstrument.
paymentInstrumentPDPaymentInstrument
Identifies the payment account in the wallet associated with this transaction charge.
currencyCodeString
The code that identifies the monetary unit used for the transaction, as recognized by the ISO 4217 standard, for example, USD = United States Dollar.
paymentChargeAmountNSNumber
The dollar amount that was charged in this payment instance.
amountDecimal
Deprecated as of SDK 5.5 and replaced by paymentChargeAmount.

PDPaymentInstrument

A payment account used as tender for a specific transaction.

PropertyDescription
paymentAccountUriString
The unique identifier for a specific payment account registered in the wallet.
tenderTypePDPaymentTender
Defines the type of card associated with the payment account, such as credit, debit, or gift.
additionalDataArray
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.

PropertyDescription
paydiantReferenceIdString
WLW’s unique identifier for the transaction.
paymentAccountTypeUriString
The unique identifier representing the type of payment account, such as credit, debit, or gift.
paymentAccountNetworkTypeUriString
The code identifier for the payment account processor; for example, Visa or Mastercard.
paymentAccountUriString
The unique identifier created for the current session to represent that payment account in the Paydiant managed service.
paymentRefIdString
The unique identifier for the current payment, which may be only one of multiple payments for a transaction.
amountNSNumber
The dollar amount paid in this payment, which may be a partial payment in a split tender transaction.
paidAmountDecimal
Deprecated as of SDK 5.5 and replaced by amount.
paidDateNSDate
The time and date on which the payment authorization completed in NS timestamp format.

PDPaymentTender

Identifies a supported tender used in a specific transaction.

PropertyDescription
paymentAccountTypePDPaymentAccountType
The object that defines the type of card associated with the payment account, such as credit, debit, or gift.
paymentAccountNetworkTypePDPaymentAccountNetworkType
The object that defines the network processor associates with the payment account; for example, Visa, Mastercard, PayPal, NYCE, etc.
splitPaymentEnabledBoolean
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.

PropertyDescription
transactionIdString
The unique identifier for that transaction in the app, which is the means by which one would look up a particular transaction.
transactionInformationPDTransactionInformation
Contains the set of information that completely defines a transaction.
redemptionFailedOffersArray
The list of offers that were applied to this transaction but failed to be successfully redeemed.
paymentResultPDPaymentResult
Provides information about the success or failure of the payment transaction.
previousPaymentResultsArray
For split tender payments, this property lists the set of PDPaymentResult objects that were completed for the transaction prior to this payment instance.
paymentAccountUriString
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.

PropertyDescription
paymentAccountTypeUriString
The unique identifier representing the type of payment account, such as credit, debit, or gift.
paymentAccountNetworkTypeUriString
The code identifier of the payment account processor; for example, Visa or Mastercard.
transactionAmountNSNumber
The amount of the payment relevant to the specified tender.
amountDecimal
Deprecated as of SDK 5.5 and replaced by transactionAmount.
currencyCodeString
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.

PropertyDescription
additionalDataArray
A set of PDSiteCheckInDetailAdditionalData instances, each of which represents a key/value property relevant for site check-in.
acceptanceLocationExternalIdString
The LBS service’s unique identifier for the acceptance location detected by the app.
geoCoordinatePDGeoCoordinate
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.

PropertyDescription
additionalDataArray
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.
fuelPumpsArray
The set of PDFuelPump objects that defines each fuel pump associated with the fuel site acceptance location.
siteResourcesArray
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.
siteCheckInDetailPDSiteCheckInDetail
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.

PropertyDescription
additionalDataArray
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
availableBoolean
Specifies whether the app is able to check in with the resource in order to initiate a transaction.
siteResourceDescriptionString
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.
identifierString
A unique identifier for the resource as defined by the acceptance location.
nameString
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.

PropertyDescription
discountKeyString
The unique identifier for the discount category.
salePriceNSNumber
The cost of the purchase with the special discount.
taxNSNumber
The amount of tax added to the purchase amount.
saleAmountDecimal
Deprecated as of SDK 5.5 and replaced by salePrice.
taxAmountDecimal
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.

PropertyDescription
nameString
The identifier for the individual location; for example, BoxStore_12345.
stateString
The U.S. state in which the store is located.
countryString
The country in which the store is located.
addressLine1String
The first line of the physical location of the store.
addressLine2String
The second line of the physical store location.
cityString
The city in which the store is located.
acceptancePartnerPDAcceptancePartner
Defines the merchant tat is registered to accept mobile payments.
uriString
The unique identifier of the specific retail location.
zipCodeString
The U.S. postal code for the store location.
storeLocationIdString
The unique identifier for the specific store location in which the transaction is conducted.
currencyCodeString
The code that identifies the monetary unit used for the transaction, as recognized by the ISO 4217 standard, for example, USD = United States Dollar.
tippingEnableBoolean
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 WLW’s service for the purpose of updating the details in the mobile wallet.

PropertyDescription
ticketAmountNSNumber
The total amount due for the transaction.
ticketSubTotalNSNumber
The calculated total of the purchase, prior to any discounts, tax, or other modifications to the amount due.
cashierIdString
The identifier for the employee who was logged into the POS when the transaction was processed.
cashierNameString
The name of the cashier corresponding to the cashierId.
terminalIdString
The unique identifier for the POS terminal on which the transaction was processed.
checkNumberString
The identifier associated with the open transaction, usually a pay-at-the-table.
tableNumberString
For restaurant transactions, the identifier of the location at which the customer dined.
secondaryIdentifierString
The unique identifier for the transaction, as provided by the POS.
discountNSNumber
The dollar amount by which the amount due is reduced per the discount.
discountedSubTotalNSNumber
The updated amount due after the discount has been subtracted.
merchanttransactionRefIdString
The POS’s unique identifier for the transaction.
specialDiscountCategoryPDSpecialDiscountCategory
Defines the merchant-defined discount applied to the total amount due.
surchargeNSNumber
The dollar amount added to a cash access transaction as an ATM fee.
taxNSNumber
The dollar amount of sales tax applied to the purchase.
preTaxSubTotalNSNumber
The updated amount due before sales tax is applied.
lineItemsPDLineItem
The array of objects that define each item included in the receipt.
totalTicketTipAmountString
The dollar amount added to the total amount due based on a tip allocation.
checkRevisionString
References the revision number of the check associated with this ticket in case there have been multiple iterations in the system.
amountPointsNSNumber
The number of points earned for the transaction.
calculateTipAmountNSNumber
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.
includedGratuityNSNumber
The dollar amount added as an automatically applied tip, as with large dining parties.
ticketTypePDTicketType
The type of transaction for which the ticket has been generated, as defined in the PDTicketType enum:
kPDTicketTypePurchase
kPDTicketTypeRefund
kPDTicketTypeCashWithdrawal
kPDTicketTypeCashDeposit
kPDTicketTypeFuel
kPDTicketTypeUnknown (default)
fuelTicketDetailPDFuelTicketDetail
Relays additional properties of the ticket that are specific to a fuel transaction, such as the amount of fuel dispensed.
transactionSubTypePDTransactionSubType
Enum that further distinguishes a transaction within the primary type.
transactionSubTypeDescriptionString
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.

PropertyDescription
transactionAmountNSNumber
The calculated price of the purchase.
discountNSNumber
The total amount deducted for redeemed offers.
tipNSNumber
The amount of any tip added by the user.
taxNSNumber
The amount of sales tax added to the amount due.
discountedSubTotalNSNumber
The updated amount due based on any reductions applied by the point of sale terminal.
totalDueNSNumber
The final amount submitted for settlement after all deductions and additions are tallied.
totalPaidNSNumber
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.
currencyCodeString
The code that identifies the monetary unit used for the transaction, as recognized by the ISO 4217 standard, for example, USD = United States Dollar.
currencyUriString
The unique identifier for the type of currency used in the transaction.
specialDiscountCategoriesArray
The set of PDSpecialDiscountCategory objects that defines each of the POS-applied discounts that are relevant to the transaction.
amountDecimal
Deprecated as of SDK 5.5 and replaced by transactionAmount.
taxAmountDecimal
Deprecated as of SDK 5.5 and replaced by tax.
totalAmountDueDecimal
Deprecated as of SDK 5.5 and replaced by totalDue.
totalAmountPaidDecimal
Deprecated as of SDK 5.5 and replaced by totalPaid.
totalOfferDiscountAmountDecimal
Deprecated as of SDK 5.5 and replaced by discount.
saleAmountDecimal
Deprecated as of SDK 5.5 and replaced by discountedSubTotal.
totalTipAmountDecimal
Deprecated as of SDK 5.5 and replaced by tip.

PDTransactionDetail

Defines all relevant information pertaining to a transaction.

PropertyDescription
transactionAmountSummaryPDTransactionAmount
Defines the breakdown of the final amount submitted for authorization.
ticketPDTicket
Defines an open transaction, as represented by the POS.
redeemedOffersArray
The set of PDOffer objects for all offers that were redeemed for the transaction.
loyaltyAccrualActivitiesArray
The set of PDTransactionLoyaltyAccrualActivity objects for each action in the transaction to which loyalty points apply.
posRequestedPaymentsArray
The set of PDPaymentCharge objects for each instance in which the POS processed a payment from its terminal for the transaction.
posRequestMobileTenderPDPosRequestMobileTender
Identifies a partial payment applied to the transaction by the POS.
posUtilizedOffersArray
The set of PDOffer objects that define any offers that were applied by the POS externally of the mobile wallet.
currentPaymentResultPDTransactionAccount
The object that defines the outcome of the most recent payment instance.
previousPaymentResultsArray
A set of PDTransactionAccount objects that defines each of any prior payment instances or attempts that have been applied to the transaction.
processedPreAuthPaymentResultsArray
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.

PropertyDescription
transactionFlowRuleString
Deprecated as of SDK 5.10 and replaced by flowRule property.
flowRulePDTransactionFlowRule Enum
Identifies the flow rule for this specification.
additionalRuleProcessingMetaDataArray
The set of PDFlowRuleAdditionalData instances that defines any data properties that may be required in order to complete the flow rule.
blockUntilEventPDLifeCycleEventType
If this attribute is populated, the flow rule cannot complete until the event indicated by this enum value has fired.
expectsOffersBoolean
Indicates if this flow rule requires offers to be submitted in order to complete.
eligibleOfferTypePDEligibleOfferType 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.
executeRuleAfterTimeoutForPreExecutionEventBoolean
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.
transactionTypePDTransactionType Enum
The type of transaction to which the rule applies.
stepNumberInteger
Identifies the sequence in which this rule is to be applied during execution.
expectsCheckoutTokenBoolean
Specifies if this rule action requires a checkout token reference in order to be executed.
expectsPaydiantReferenceIdBoolean
Specifies if this rule action requires a PaydiantReferenceId in order to be executed.
expectsPaymentTendersBoolean
Specifies if this rule must include relevant payment tender objects in order to execute.
expectsTransactionDataBoolean
Specifies if this flow rule must include relevant transaction metadata in order to execute.
stepOptionalBoolean
Specifies if this rule can be omitted at the developer’s discretion.
executeRuleAndPollForResultBoolean
Specifies if the service should begin listening for a response to the event simultaneously with its execution.
numberOfTimesToRetryRequestInteger
The number of times attempted execution of this rule is to be automatically repeated before the event is considered to have failed.
pollUntilTransactionErrorStatusesArray
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.
pollUntilTransactionSuccessStatusesArray
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.
waitForPreExecutionEventPDLifeCycleEventType
When populated, the flow rule cannot complete until the event specified by this enum value has fired.
waitTimeInteger
The number of milliseconds to wait for the preExecutionEvent to complete.
preExecutionEventWaitTimeInteger
The number of seconds to delay before executing this event.
requestProcessingTimeInSecondsInteger
The number of milliseconds it takes for this event to complete.
returnEligibleOffersBoolean
Specifies whether this rule passes the set of eligible offers in a response to the app.
returnNextProcessingRuleBoolean
Specifies whether this rule represents a response that identifies the flow rule that will execute next.
returnTransactionDetailsBoolean
Specifies whether this rule represents a response to the app that contains an instance of PDTransactionDetails.
returnTransactionStatusBoolean
Specifies whether this rule represents a response to the app that contains an instance of PDTransactionStatus.
transactionStatusesAfterRuleExecutionArray
The set of PDTransactionStatus enum values that are expected following completion of the rule.
transactionStatusesBeforeRuleExecutionArray
The set of PDTransactionStatus enum values that must be valid before the rule can execute.
returnTransactionMetaDataBoolean
Specifies whether this rule represents a response to the app that contains an instance of PDTransactionMetadata.
returnRefundableReceiptsBoolean
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.

PropertyDescription
checkoutTokenString
The token that was scanned to initiate the transaction.
customerUriString
The unique identifier for the mobile wallet user conducting the transaction.
merchantNameString
The name of the retailer registered with Paydiant to accept mobile payments.
merchantLogoUriString
The unique identifier for the logo image associated with the retail location.
logoLastUpdateDateNSDate
The last occasion on which the merchant logo was retrieved by the app.
cardSurfaceDiscountLabelString
The message that appears on the payment account regarding any eligible discounts.
transactionAmountPDTransactionAmount
Defines the transaction amount breakdown.
storeLocationPDStoreLocation
Identifies the specific retail location where the transaction took place.
refundableReceiptCollectionPDReceiptCollection
Lists the set of receipts that are eligible for refund.
discountEntriesDictionary
The list of discounts applied to the purchase.
merchantLogoUIImage
The image file containing the logo for the registered retailer.
typePDTransactionType
The type of transaction.
transDateNSDate
The time and date that the transaction was completed.
tenderTypeCollectionArray
The list of payment account types accepted by the retail location.
offerArrayArray
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.

PropertyDescription
paydiantReferenceIdString
WLW’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.

PropertyDescription
acceptanceLocationPDStoreLocation
Defines the merchant location at which the transaction occurred.
sitelocationPDSiteLocation
Provides additional property data specific to a fuel-dispensing acceptance location.
tenderTypesArray
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.

PropertyDescription
additionalDataKeyString
The name of the property defined, for example, unit.
additionalDataValueString
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.

PropertyDescription
secondaryIdentifierString
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.

PropertyDescription
checkoutTokenString
Uniquely identifies the QR code scanned by the user for this transaction. This property cannot be null.
startIndexInteger
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.
numberOfRecordsInteger
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.
startDateDate
Filters the returned refundable receipts by the date range starting with this value.
endDateDate
Filters the returned refundable receipts by the date range ending with this value.

PDRetrieveTransactionInformationResponse

Returns the transaction information.

PropertyDescription
transactionInformationPDTransactionInformation
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.

PropertyDescription
checkoutTokenPDMetaDataCheckoutToken
Uniquely identifies the transaction for which the metadata is being requested.
siteCheckInDetailPDSiteCheckInDetail
Positively identifies an acceptance location in range in order to initiate a transaction.
discoveryTypePDDiscoveryType Enum
Specifies the type of transaction being processed.
executingFlowRuleString
Deprecated in SDK 5.10 and replaced with executingTransactionFlowRule.
executingTransactionFlowRulePDTransactionFlowRule Enum
Identifies the flow rule for this specification.
transactionKeyPDMetadataTransactionKey
The paydiantReferenceId associated with the transaction.
receiptParametersPDMetadataReceiptParameters
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)
offerParametersPDMetadataOfferParameters
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)
numberOfTimesToRetryRequestInteger
The number of times the executingFlowRule is automatically repeated before the event is considered to have failed.
requestProcessingTimeInSecondsInteger
The number of seconds it took for the executingFlowRule to complete.
invoiceIdString
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.

PropertyDescription
checkoutTokenPDCheckoutToken
Uniquely identifies the transaction for which the metadata is being requested.
transactionKeyPDTransactionKey
The paydiantReferenceId associated with the transaction.
refundableReceiptsPDReceiptCollection
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.
eligibleOffersPDOfferReceiptCollection
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.
transactionMetaDataPDTransactionMetadata
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.
transactionStatusPDTransactionStatus Enum
The current state of the transaction.
transactionDetailPDTransactionDetail
Defines the actions applied to the transaction, such as offer redemption and loyalty accrual.
currentExecutingFlowRuleString
Deprecated in SDK 5.10 and replaced with currentExecutingTransactionFlowRule.
currentExecutingTransactionFlowRulePDTransactionFlowRule Enum
Identifies the flow rule for this specification.
nextExecutingFlowRuleString
Deprecated in SDK 5.10 and replaced with nextExecutingTransactionFlowRule.
nextExecutingTransactionFlowRulePDTransactionFlowRule Enum
Identifies the flow rule for this specification.
transactionFlowRuleSpecificationsArray
The set of PDTransactionFlowRuleSpecification objects that define each flow rule specification for this metadata.
discoveryTypePDDiscoveryType Enum
The type of transaction for the discovered flow rule.
externalEventsArray
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.

PropertyDescription
checkoutTokenString
Uniquely identifies the transaction for which the payment is being requested.
transactionKeyString
The unique identifier for the specified payment account.
paymentAccountsArray
The set of PDPaymentAccount instances that defines each payment tender used to complete the transaction.
extendedPaymentInstrumentsArray
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.
confirmationRequiredBoolean
Specifies if the customer must confirm the payment for POS-initiated transactions.
executingFlowRuleString
Deprecated in SDK 5.10 and replaced with executingTransactionFlowRule.
executingTransactionFlowRulePDTransactionFlowRule Enum
Identifies the flow rule for this specification.
cashAccessDetailPDUpdateTransactionCashAccessDetail
Summarizes a cash access transaction, as defined by the request class:
- cashAccessType (PDCashAccessTransactionType enum)
- cashAmount (Decimal)
paymentAccountUriDeprecated with no replacement as of SDK 5.9.
fuelAccessDetailPDFuelAccessDetail
Groups properties of a transaction that are relevant only when the transaction type = fuel.
additionalDataKey/Value
Array of dictionary key/value pairs used to capture fuel-related transaction data that may be required for a particular partner.
fixedAmountDecimal
The maximum dollar value worth of fuel to dispense.
printReceiptBoolean
Indicates if a printed receipt is requested.
pumpNumberString identifier for the specific pump within an acceptance location.
selectedSiteResourcesPDSiteResource
Array of objects that represents other entities within the site location with which the app can interact.
acceptanceLocationExternalIdString
Identfies the acceptance location as defined by the geolocation service.
acceptanceLocationUriString
WLW’s unique identifier for the specific merchant location; for example, GasForLess_Store54.
acceptancePartnerUriString
WLW’s unique identifier for the registered acceptance partner of the location, for example, Gas4Less.
partnerUriString
WLW’s unique identifier for the registered parent partner of the location, for example, GlobalGasCo.
tipAmountDecimal
The dollar amount of any tip that was applied to the total amount due on the transaction.
offersArray
The set of offerUri strings for each offer that was redeemed for the transaction.
refundDetailPDUpdateTransactionRefundDetail
Defines a transaction of type = refund, as defined by the request class.
merchantTransactionRefIdString
Merchant-defined identifier for the transaction.
acceptancePartnerUriString
WLW’s unique identifier for the registered acceptance partner of the location; for example, ShoeMart.
paydiantReferenceIdString
WLW’s unique identifier for the transaction.
receiptIdString
The unique identifier for the receipt generated for the original purchase that being refunded.
secondaryIdentifierPDUpdateTransactionSecondaryIdentifier
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.
additionalDataArray
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.

PropertyDescription
checkoutTokenPDCheckoutToken
Defines the checkout token value and its type.
transactionMetaDataPDTransactionMetadata
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.
transactionKeyPDTransactionKey
Uniquely identifies a transaction within the Paydiant service.
transactionDetailPDTransactionDetail
Defines the actions applied to the transaction, such as offer redemption, loyalty accrual, etc.
currentExecutingFlowRuleString
Deprecated in SDK 5.10 and replaced with currentExecutingTransactionFlowRule.
currentExecutingTransactionFlowRulePDTransactionFlowRule Enum
Identifies the flow rule for this specification.
nextExecutingFlowRuleString
Deprecated in SDK 5.10 and replaced with nextExecutingTransactionFlowRule.
nextExecutingTransactionFlowRulePDTransactionFlowRule Enum
Identfies the flow rule for this specification.
transactionFlowRuleSpecificationsArray
The set of PDTransactionFlowRuleSpecificationthat defines each flow rule specification for this transaction's metadata.
externalEventsArray
The set of PDExternalEvent objects that identfies the activities completed outside the app that triggered this transaction update.
transactionStatusPDTransactionStatus Enum
The current state of the transaction.
nextTransactionFlowRuleSpecificationPDTransaction 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.

PropertyDescription
paydiantReferenceIdString
Uniquely identifies the transaction for which the payment is being requested.
paymentAccountUriString
The unique identifier for the specified payment account.
offerUrisArray
The set of URIs for offers with matching criteria that are eligible for the transaction.
totalTipAmountDecimal
The amount that the user added to the amountDue as a tip.

PDSplitTenderPaymentTransactionResponse

Returns the split tender transaction information.

PropertyDescription
paymentTransactionPDPaymentTransaction
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

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

PDTransactionFlowRule

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

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)