iOS SDK - Transactions Objects
Last updated: Aug 15th, 7:21am
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 | PDCashAccessTransactionTypeEnumA value from the PDCashAccessTransactionenum 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 WLW’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 | PDCheckoutTokenTypeEnumThe 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 PDExternalEventAdditionalDatadictionary objects that stores key/value property  information that is not otherwise captured. For example:externalEventAdditionalDataKey=cancelReasonexternalEventAdditionalDataValue=emptyFuelPump | 
PDExternalEvent
An action outside the mobile wallet app that triggers a corresponding action within the app.
| Property | Description | 
|---|---|
| additionalData | Array A set of PDExternalEventAdditionalDatadictionary objects that represents a key/value property that stores information that is not otherwise captured. For example:externalEventAdditionalDataKey=cancelReasonexternalEventAdditionalDataValue=emptyFuelPump | 
| externalEventType | PDExternalEventTypeEnumIdentifies 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 PDFuelPumpAdditionalDatadictionary objects, each of which represents a key/value property that stores information about the fuel pump that is not otherwise captured. For example:additionalDataKey=dieselOnlyadditionalDataValue=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 PDFuelGradeobjects 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 Unleadedvs.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 PDFuelReceiptPropertiesAdditionalDatadictionary objects, each of which stores a key/value property about the fuel transaction that is not otherwise captured. For example:additionalDataKey=pumpRateadditionalDataValue=5 gal/minute | 
| unitsPumped | NSNumber The volume of fuel dispensed for the transaction, in the units specified by the PDFuelUnitTypeattribute. | 
| fuelUnitType | PDFuelUnitTypeEnumSpecifies 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 PDFuelTicketDetailAdditionalDatadictionary key/value objects used to store information about the fuel ticket that is not otherwise captured. For example:additionalDataKey=answeredSurveyadditionalDataValue=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 | PDMetaDataCheckoutTokenTypeEnumIdentifies 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 | PDPaymentAccountDeprecated as of SDK 5.5 and replaced by paymentInstrument. | 
| paymentInstrument | PDPaymentInstrumentIdentifies 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 | PDPaymentTenderDefines the type of card associated with the payment account, such as credit,debit, orgift. | 
| 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 WLW’s unique identifier for the transaction. | 
| paymentAccountTypeUri | String The unique identifier representing the type of payment account, such as credit,debit, orgift. | 
| paymentAccountNetworkTypeUri | String The code identifier for the payment account processor; for example, VisaorMastercard. | 
| 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 | PDPaymentAccountTypeThe object that defines the type of card associated with the payment account, such as credit,debit, orgift. | 
| paymentAccountNetworkType | PDPaymentAccountNetworkTypeThe 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 | PDTransactionInformationContains 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 | PDPaymentResultProvides information about the success or failure of the payment transaction. | 
| previousPaymentResults | Array For split tender payments, this property lists the set of PDPaymentResultobjects 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, orgift. | 
| paymentAccountNetworkTypeUri | String The code identifier of the payment account processor; for example, VisaorMastercard. | 
| 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 PDSiteCheckInDetailAdditionalDatainstances, 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 | PDGeoCoordinateUniquely 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 PDSiteLocationAdditionalDatadictionary 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 PDFuelPumpobjects that defines each fuel pump associated with the fuel site acceptance location. | 
| siteResources | Array The set of PDSiteResourceobjects that represents other payment entities within the site location with which the app can interact, such as a car wash or service center. | 
| siteCheckInDetail | PDSiteCheckInDetailIdentifies 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 PDSiteResourceAdditionalDatadictionary objects, each of which defines a key/value property imparting relevant information about the resource that is not otherwise captured. For example:additionalDateKey=serviceTypeadditionalDataValue=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 | PDAcceptancePartnerDefines 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 WLW’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 discounthas been subtracted. | 
| merchanttransactionRefId | String The POS’s unique identifier for the transaction. | 
| specialDiscountCategory | PDSpecialDiscountCategoryDefines 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 | PDLineItemThe 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 | PDTicketTypeThe type of transaction for which the ticket has been generated, as defined in the PDTicketTypeenum:kPDTicketTypePurchasekPDTicketTypeRefundkPDTicketTypeCashWithdrawalkPDTicketTypeCashDepositkPDTicketTypeFuelkPDTicketTypeUnknown(default) | 
| fuelTicketDetail | PDFuelTicketDetailRelays additional properties of the ticket that are specific to a fuel transaction, such as the amount of fuel dispensed. | 
| transactionSubType | PDTransactionSubTypeEnum 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 PDSpecialDiscountCategoryobjects 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 | PDTransactionAmountDefines the breakdown of the final amount submitted for authorization. | 
| ticket | PDTicketDefines an open transaction, as represented by the POS. | 
| redeemedOffers | Array The set of PDOfferobjects for all offers that were redeemed for the transaction. | 
| loyaltyAccrualActivities | Array The set of PDTransactionLoyaltyAccrualActivityobjects for each action in the transaction to which loyalty points apply. | 
| posRequestedPayments | Array The set of PDPaymentChargeobjects for each instance in which the POS processed a payment from its terminal for the transaction. | 
| posRequestMobileTender | PDPosRequestMobileTenderIdentifies a partial payment applied to the transaction by the POS. | 
| posUtilizedOffers | Array The set of PDOfferobjects that define any offers that were applied by the POS externally of the mobile wallet. | 
| currentPaymentResult | PDTransactionAccountThe object that defines the outcome of the most recent payment instance. | 
| previousPaymentResults | Array A set of PDTransactionAccountobjects that defines each of any prior payment instances or attempts that have been applied to the transaction. | 
| processedPreAuthPaymentResults | Array A set of PDTransactionAccountobjects 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 flowRuleproperty. | 
| flowRule | PDTransactionFlowRuleEnumIdentifies the flow rule for this specification. | 
| additionalRuleProcessingMetaData | Array The set of PDFlowRuleAdditionalDatainstances that defines any data properties that may be required in order to complete the flow rule. | 
| blockUntilEvent | PDLifeCycleEventTypeIf 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 | PDEligibleOfferTypeEnumSpecifies 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 | PDTransactionTypeEnumThe 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 PaydiantReferenceIdin 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 PDTransactionStatusenum 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 PDTransactionStatusenum 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 | PDLifeCycleEventTypeWhen 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 preExecutionEventto 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 PDTransactionStatusenum values that are expected following completion of the rule. | 
| transactionStatusesBeforeRuleExecution | Array The set of PDTransactionStatusenum 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 | PDTransactionAmountDefines the transaction amount breakdown. | 
| storeLocation | PDStoreLocationIdentifies the specific retail location where the transaction took place. | 
| refundableReceiptCollection | PDReceiptCollectionLists 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 | PDTransactionTypeThe 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 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.
| Property | Description | 
|---|---|
| acceptanceLocation | PDStoreLocationDefines the merchant location at which the transaction occurred. | 
| sitelocation | PDSiteLocationProvides additional property data specific to a fuel-dispensing acceptance location. | 
| tenderTypes | Array The set of PDPaymentTenderobjects 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 generateAccessCodemethod 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 0or greater. The default value is0. | 
| 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 1or greater. The default value is15. | 
| 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 | PDTransactionInformationDefines 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 | PDMetaDataCheckoutTokenUniquely identifies the transaction for which the metadata is being requested. | 
| siteCheckInDetail | PDSiteCheckInDetailPositively identifies an acceptance location in range in order to initiate a transaction. | 
| discoveryType | PDDiscoveryTypeEnumSpecifies the type of transaction being processed. | 
| executingFlowRule | String Deprecated in SDK 5.10 and replaced with executingTransactionFlowRule. | 
| executingTransactionFlowRule | PDTransactionFlowRuleEnumIdentifies the flow rule for this specification. | 
| transactionKey | PDMetadataTransactionKeyThe paydiantReferenceIdassociated with the transaction. | 
| receiptParameters | PDMetadataReceiptParametersIf the executingTransactionFlowRulevalue is7 kPDTransactionFlowRuleRetrieveTransactionMetaDataSummary, the request must include this parameter, populated with the following property values:- startIndex(Integer)- maxNumberOfRows(Integer)- retrieveRefundableReceipts(Boolean)- startDate(NSDate)- endDate(NSDate) | 
| offerParameters | PDMetadataOfferParametersIf the executingFlowRulevalue is9 kPDTransactionFlowRuleSubmitOffersor10 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 executingFlowRuleis automatically repeated before the event is considered to have failed. | 
| requestProcessingTimeInSeconds | Integer The number of seconds it took for the executingFlowRuleto 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 | PDCheckoutTokenUniquely identifies the transaction for which the metadata is being requested. | 
| transactionKey | PDTransactionKeyThe paydiantReferenceIdassociated with the transaction. | 
| refundableReceipts | PDReceiptCollectionThe 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 | PDOfferReceiptCollectionThe 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 | PDTransactionMetadataThe 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 | PDTransactionStatusEnumThe current state of the transaction. | 
| transactionDetail | PDTransactionDetailDefines 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 | PDTransactionFlowRuleEnumIdentifies the flow rule for this specification. | 
| nextExecutingFlowRule | String Deprecated in SDK 5.10 and replaced with nextExecutingTransactionFlowRule. | 
| nextExecutingTransactionFlowRule | PDTransactionFlowRuleEnumIdentifies the flow rule for this specification. | 
| transactionFlowRuleSpecifications | Array The set of PDTransactionFlowRuleSpecificationobjects that define each flow rule specification for this metadata. | 
| discoveryType | PDDiscoveryTypeEnumThe type of transaction for the discovered flow rule. | 
| externalEvents | Array The set of PDExternalEventobjects 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 PDPaymentAccountinstances that defines each payment tender used to complete the transaction. | 
| extendedPaymentInstruments | Array The set of PDExtendedPaymentInstrumentinstances 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 theextendedPaymentInstrumentsORpaymentAccountsattribute. If both are included,extendedPaymentInstrumentsdata 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 | PDTransactionFlowRuleEnumIdentifies the flow rule for this specification. | 
| cashAccessDetail | PDUpdateTransactionCashAccessDetailSummarizes a cash access transaction, as defined by the request class: - cashAccessType(PDCashAccessTransactionTypeenum)- cashAmount(Decimal) | 
| paymentAccountUri | Deprecated with no replacement as of SDK 5.9. | 
| fuelAccessDetail | PDFuelAccessDetailGroups 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 | PDSiteResourceArray 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 WLW’s unique identifier for the specific merchant location; for example, GasForLess_Store54. | 
| acceptancePartnerUri | String WLW’s unique identifier for the registered acceptance partner of the location, for example, Gas4Less. | 
| partnerUri | String WLW’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 offerUristrings for each offer that was redeemed for the transaction. | 
| refundDetail | PDUpdateTransactionRefundDetailDefines a transaction of type=refund, as defined by the request class. | 
| merchantTransactionRefId | String Merchant-defined identifier for the transaction. | 
| acceptancePartnerUri | String WLW’s unique identifier for the registered acceptance partner of the location; for example, ShoeMart. | 
| paydiantReferenceId | String WLW’s unique identifier for the transaction. | 
| receiptId | String The unique identifier for the receipt generated for the original purchase that being refunded. | 
| secondaryIdentifier | PDUpdateTransactionSecondaryIdentifierContains the value of the secondaryIdentifierproperty if required for pre-authorization of a transaction. This property is populated with the randomly generated access code returned by thegenerateAccessCodemethod. | 
| additionalData | Array The set of PDUpdateTransactionAdditionalDatainstances that define custom Key/Value properties to extend the data passed in the update request. | 
PDUpdateTransactionResponse
Returns the update transaction information.
| Property | Description | 
|---|---|
| checkoutToken | PDCheckoutTokenDefines the checkout token value and its type. | 
| transactionMetaData | PDTransactionMetadataProvides 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 | PDTransactionKeyUniquely identifies a transaction within the Paydiant service. | 
| transactionDetail | PDTransactionDetailDefines 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 | PDTransactionFlowRuleEnumIdentifies the flow rule for this specification. | 
| nextExecutingFlowRule | String Deprecated in SDK 5.10 and replaced with nextExecutingTransactionFlowRule. | 
| nextExecutingTransactionFlowRule | PDTransactionFlowRuleEnumIdentfies 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 PDExternalEventobjects that identfies the activities completed outside the app that triggered this transaction update. | 
| transactionStatus | PDTransactionStatusEnumThe current state of the transaction. | 
| nextTransactionFlowRuleSpecification | PDTransactionEnumDefines 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 amountDueas a tip. | 
PDSplitTenderPaymentTransactionResponse
Returns the split tender transaction information.
| Property | Description | 
|---|---|
| paymentTransaction | PDPaymentTransactionReturns 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 | 
| kPDLifeCycleEventTypePaymentPartialkPDLifeCycleEventTypeDoNotBlock | 
| 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) |