Fuel API - Data Classes

DOCS

Last updated: Aug 15th, 7:28am

The following data classes are included in the Fuel Integration API:

Enumerations

AdditionalData

A custom property definition related to the parent class in which it is defined. For example, an AdditionalData property defined for a customer profile object might be nickname=Max.

AttributeDescription
keyRequired String
The name of a custom property.
Example: key=maritalStatus
valueRequired String
A specific setting for a custom property.
Example: maritalStatus.value=married

Amount

Indicates the value and currency to use for an amount in the transaction.

AttributeDescription
amountRequired Double
Value of the transaction.
currencyCodeRequired String
The ISO 4217 recognized code representing the type of currency used for the transaction; for example, USD = United States Dollar.

B2bRequest

The parent class that is extended by all request instances calling the B2B Gateway.

AttributeDescription
messageHeaderRequired MessageHeader
Identifies the calling service.

B2bResponse

The parent class that is extended by all response instances returned by the B2B Gateway.

AttributeDescription
messageHeaderRequired String
Identifies the calling service.
configurationDetailsOptional KeyValue
Communicates additional information about the outcome of the call as a set of Key/Value definitions.
statusRequired Status
Conveys the results of a request, including any relevant errors.

CarWashInfo

Describes the specifics associated with a purchased car wash.

AttributeDescription
carWashCodeExpirationDateOptional String
Date when the Car Wash code is no longer valid.
siteResourceRequired SiteResource
An object that describes the specific car wash.
carWashCodeOptional String
The code generated by the car wash controller.
siteResourceDiscountOptional Amount
Discount associated with the purchased site resource.

Error

Statement returned from the Cloud Service indicating whether the originating call failed or succeeded.

AttributeDescription
errorCodeRequired Enum
Identifies the specific error that caused the failure.
errorDesciptionOptional String
Message associated with the error code explaining the nature of the result.

FuelDiscount

Provides details about savings earned for a specific fuel purchase.

AttributeDescription
fuelDiscountTotalRequired Amount
The total savings on the fuel purchase.
discountOptional Amount
The discount per unit that will be applied to a discounted purchase.
unitsRequired String
The units used for this purchase. Valid values are:
- GALLON
- LITRE

FuelGrade

Provides details about a specific grade of fuel offered at the fuel site.

AttributeDescription
availableOptional Boolean
Indicates if this grade is currently available.
TRUE =available
FALSE = not currently available
descriptionOptional String
The text description of the fuel grade that will be displayed on the mobile device.
idOptional String
Unique identifier for this fuel grade.
priceOptional Amount
The current price of this Fuel Grade.

FuelPump

Describes the details of each fuel pump, including pump number and fuel type.

AttributeDescription
availableOptional Boolean
Indicates if this grade is currently available.
TRUE = available
FALSE = not currently available
additionalDataOptional KeyValue
Custom key value pairs used to provide additional details about this pump.
fuelGradesOptional FuelGrade
The list of fuel grade objects that describe the fuel grades available at this pump.
fuelTypeOptional String
A string field available to describes the type of fuel at this pump.
pumpNumberRequired String
The number used to identify this pump at the fuel site.

FuelReceipt

Lists the specifics of this pay-at-the-pump transaction.

AttributeDescription
totalAmountRequired Amount
Total amount spent including fuel and car wash purchases.
totalDiscountOptional Amount
The total discount applied to this transaction.
unitsDispensedRequired String
Total volume of gas dispensed.
fuelAmountRequired Amount
Total amount spent on fuel only.
pricePerUnitRequired Amount
Price charged per unit used, for example, per gallon or per liter.
unitTypeRequired String
The units associated with the gas. Valid values are:
- GALLON
- LITRE
FuelGradeOptional FuelGrade
The grade of fuel dispensed.
additionalDataOptional KeyValue
Custom key value pairs used to provide additional details about this transaction.
totalTaxOptional Amount
The total amount of tax included in the sale.
fuelDiscountOptional FuelPump
The discount applied to the gas purchase.
carWashInfoOptional B2bRequest
Describes the car wash that was purchased as part of the transaction.
receiptTextOptional String
Text field available for additional receipt information.
fuelTaxOptional Amount
Tax applied to the fuel portion of the sale.

FuelTicket

Describes all the selections made by a consumer to drive the Pump Authorization process.

AttributeDescription
selectedPumpNumberRequired String
Pump selected by user on the mobile device.
fixedAmountOptional Amount
The total sale amount of gas this pump can dispense before automatically shutting off.
selectedSiteResourcesRequired SiteResource
Car Wash selected by the user on the mobile device.
printReceiptsRequired Boolean
Flag that indicates if the fuel site prints a receipt at the pump. True or False.
additionalDataOptional KeyValue
Custom key value pairs used to provide additional details about this pump.
fuelDiscountOptional Amount
The amount that the pump should roll back the price per unit.

KeyValue

A custom property definition of the parent class in which it is defined. For example, a property defined for a customer profile object might be maritalStatus, gender, or completedSchooling.

AttributeDescription
keyRequired String
The name of a custom property.
Example: key="completedSchool"
valueRequired String
A specific setting for a custom property.
Example:completedSchool.value="phD"

LoyaltyInstrument

Defines a payment account in the mobile wallet that is associated with the user’s loyalty program subscription.

AttributeDescription
paymentTenderOptional PaymentTender
An instance of the PaymentTender object that defines the manner in which the loyalty account gets processed when selected during a transaction.
additionalDataOptional KeyValue
Custom key value pairs used to provide additional details about this pump.
loyaltyInstrumentUriRequired String
The WLW unique identifier of the payment account in the mobile wallet that represents the user’s loyalty account.
loyaltyInstrumentIdOptional String
An alternate identifier for the loyalty account that provides a shorter option to the URI format. Designed to support legacy systems that may not be able to accommodate the full URI.
loyaltyIdRequired String
Loyalty account’s ID number.

MerchantTenderData

Identifies a merchant’s record of a particular tender as it was used in a transaction.

AttributeDescription
tenderLocalDateRequired String
The local date stamp (in yyyyMMdd format) provided by the merchant when a specific tender is submitted for payment authorization. If the merchant does not provide a value, it will be populated with WLW’s transactionLocalDate value.
tenderLocalTimeRequired String
The local time stamp (in hhmmss format) provided by the merchant when a specific tender is submitted for payment authorization. If the merchant does not provide a value, it will be populated with WLW’s transactionLocalTime value.
merchantTenderIdOptional String
The merchant-defined unique identifier for the tender used in a payment. For example, in a split-tender transaction, a gift card payment may be identified as tender01 and a credit card payment may be identified as tender02.
Note: This value must be unique within a split or multi-tender transaction. If the merchant does not provide, the WLW system will generate.

MessageHeader

An element of the B2bRequest and B2bResponse parent classes that identify the authorization credentials of the entity calling the B2B Gateway.

AttributeDescription
partnerIdRequired String
The value assigned by WLW to identify the partner for the purposes of authenticating the call.
messageIdOptional String
A reference value that can be used to identify the call for the purposes of troubleshooting support.
versionIdOptional String
The value identifying the version of the software on which the calling server is running.
environmentIdOptional String
A reference value that identifies the platform on which the call service is running.

PaymentCharge

Defines a specific authorized payment instance toward completion of a transaction. A complete transaction may have one or more paymentCharge instances depending on the number of tenders selected for full or partial payment.

AttributeDescription
paymentInstrumentRequired PaymentInstrument
Represents the mobile wallet payment account for which the payment was authorized.
amountRequired Amount
The dollar amount for which the payment was authorized.
merchantTenderDataOptional MerchantTenderData
Represents a particular tender submission for payment authorization.

PaymentInstrument

Uniquely identifies a payment account in the mobile wallet.

AttributeDescription
paymentTenderRequired PaymentTender
An instance of the PaymentTender object that defines the manner in which the payment account gets processed when selected during a transaction.
additionalDataOptional KeyValue
Defines a custom property about the definition of the payment instrument, but is not captured by default; for example, minimumCharge="5 Dollars". There may be as many instances of this object as needed.
Note: Some extended properties are required for certain payment tenders. Ensure that paymentInstruments are populated accurately based on their individual requirements.
paymentInstrumentUriRequired String
The WLW unique identifier for the payment account in the mobile wallet.
paymentInstrumentIdRequired String
An alternate identifier for the payment account that provides a shorter option to the URI format. Designed to support legacy systems that may not be able to accommodate the full URI.
maskedCardNumberOptional String
The first 6 and last 4 digits of the card used.
altFuelIdOptional String
6-10 digit identifier that can serve as a pseudo BIN for account types that do not have a traditional BIN.

PaymentResult

Defines the outcome of a specific payment authorization request.

AttributeDescription
paymentInstrumentRequired PaymentInstrument
Represents the mobile wallet payment account for which the payment authorization was submitted.
amountRequired Amount
The dollar amount for which the payment authorization was submitted.
merchantTenderDataOptional MerchantTenderData
Represents the tender submitted for payment authorization.
paydiantTenderIdOptional String
The WLW identification of the tender associated with the payment authorization submission.
paymentStatusRequired String
Statement returned indicating the status of the payment request to the processor.
paymentStatusCodeRequired Payment Status
The numerical status code corresponding to the payment status.
externalPaymentStatusCodeOptional String
The payment processor’s code representing the status of the payment authorization.
externalPaymentStatusDescriptionOptional String
Message returned in the payment processor response describing the specific payment authorization request processing result.
externalPaymentAuthCodeOptional String
Auth code from the Processor/Issuer.
additionalDataOptional KeyValue
A custom key value pair used to provide additional details about this payment. A paymentResult instance may define as many additionalData properties as needed.

PaymentTender

Defines a particular type of currency that is a supported method of payment by a merchant.

AttributeDescription
accountTypeNameOptional String
The name identifying the specific category of account that the tender belongs to, such as credit, gift, loyalty, debit, etc.
accountTypeUriRequired String
WLW’s unique identifier representing a specific category of payment account.
networkTypeNameOptional String
The name identifying the network processor to which requests for payment authorization are to be submitted for a particular tender. For example, Visa or AMEX.
networkTypeUriRequired String
WLW’s unique identifier representing a specific network payment processor.

RedeemedOffer

An array of redeemedoffer instances that define the properties that make up a discount offer that was redeemed as part of this transaction.

AttributeDescription
discountAmountRequired Amount
The dollar or percentage amount by which the total purchase was changed.
isRefundableRequired Boolean
Indicates if the offer can be reactivated in the wallet if the transaction in which it was originally redeemed is refunded.
offerCampaignExternalIdOptional String
Identifies the external offer campaign from the merchant that was included in this transaction.
offerCampaignUriRequired String
The unique WLW identifier of the offer campaign.
offerCombinableRequired Boolean
Indicates if the offer can be combined with other qualifying offers within the same purchase.
offerIdRequired String
Unique identifier for this offer within WLW.
offerProcessingPointRequired OfferProcessingPoint
Indicates how this offer was redeemed. Either pos or paydiant
offerUriRequired String
WLW unique URI identifier for this offer.
rewardTypeRequired RewardType
Indicates if this is a monetary or item reward.
skuItemsOptional String
Lists the SKU item number for an item-based reward.

ReconciliationInfo

Data that is delivered from the fuel site that is typically leveraged for reconciliation purposes.

AttributeDescription
terminalIDOptional String
Unique identifier of the specific terminal within a particular acceptance location.
retailerIDOptional String
An ID typically associated with a specific franchisee owner.
additionalDataOptional KeyValue
Custom key value pairs used to provide additional details about this reconciliation.
invoiceIDRequired String
A unique transaction identifier generated by the retailer’s Cloud Services for the retailer’s own tracking purposes.

SettlementInfo

An object that defines the details related to a settlement processing request from an acceptance location.

AttributeDescription
settlementPeriodTimestampOptional String
Defines the range of time during which the transactions within the settlement period were processed.
settlementPeriodIdOptional String
Captures the merchant’s identifier for the settlement period, if there is one, such as "Store11_2016May15_MorningShift"
terminalTotalOptional String
In the event that the merchant submits separate settlement requests for multiple terminals in a single location, this value represents the total dollar amount processed for all transactions included in the settlement period.
totalsInfoOptional TotalsInfo
Provides the breakdown of transactions included in the settlement period.

SiteResource

Describes the actual elements that are used to define products that can be selected by a consumer; for example, "Car Wash."

AttributeDescription
availableOptional Boolean
Indicates if the resource is available.
descriptionOptional String
Description that will be delivered to the mobile device.
additionalDataOptional KeyValue
Custom key value pairs used to provide additional details about this reconciliation.
idRequired String
Unique identifier for this resource.
nameRequired String
Name of the resource.
itemPriceRequired Amount
Price of the item being selected.
taxOptional Amount
Amount of tax associated with this resource.

Status

Statement returned from the Cloud Service indicating whether the originating call failed or succeeded.

AttributeDescription
statusCodeRequired StatusCode
Identifies the outcome of the call to the B2B Gateway.
statusDesciptionOptional String
Message associated with the status code explaining the nature of the result.
errorsOptional Error
An array of Error instances providing specific failure details.

Tenant

Identifies the WLW partner authorized to submit calls to the B2B gateway.

AttributeDescription
partnerUriRequired String
WLW’s unique identifier of an entity that is onboarded to participate in mobile transactions through the WLW platform.
tenantUriRequired String
WLW’s unique identifier of an entity under a registered partner that is further configured as intending to develop a mobile wallet (issuing tenant) or accept payments from a mobile wallet (acceptance or merchant tenant).

TotalAmount

The details related to a group of transactions within a settlement period for a specific payment type.

AttributeDescription
primaryCardTypeOptional String
Identifies the first level categorization of transactions in this group for the settlement period. An example might be credit or debit.
secondaryCardTypeOptional String
Identifies the sub level categorization of transactions in this group for the settlement period. For example, if the primary type were credit, the sub-type might be Visa or Amex.
transactionCountOptional Integer
The number of transactions processed during the settlement period that used the payment type defined by this group.
amountOptional String
The total dollar amount of all transactions of this payment type included in the settlement period. The last two digits of this value are read as decimal values in all cases.
currencyOptional String
The ISO 4217 recognized code representing the type of currency used for the transaction (for example, USD = United States Dollar). If an amount is populated, this field becomes required.
additionalInformationOptional KeyValue
A custom Key/Value property that extends the TransactionInfo definition with relevant data. For example, key="managerID"; value="KS4258". There may be as many instances of this object as needed.

TotalsInfo

Contains the breakdown of transactions within a settlement period based on payment type.

AttributeDescription
totalAmountRequired TotalAmount
Represents the transaction totals for a specific payment type in the settlement period. There will be an instance for each payment type supported by the merchant, some of which may be null, if no transactions for that type occurred within the settlement period.

TransactionInfo

Defines the details related to a specific interaction between the calling entity and WLW’s platform through the B2B gateway.

AttributeDescription
partnerUriOptional String
WLW’s unique identifier of the global partner registered to engage with the WLW platform.
acceptancePartnerUriOptional String
WLW’s unique identifier for the entity registered to initiate WLW-powered mobile transactions.
acceptanceLocationUriOptional String
WLW’s unique identifier for the individual location through which mobile transactions are conducted.
externalStoreLocationIdOptional String
The acceptance partner’s identifier for the specific location within its system.
additionalInformationOptional KeyValue
A custom Key/Value property that extends the TransactionInfo definition with relevant data. For example, key="managerID"; value="KS4258". There may be as many instances of this object as needed.

Enumerations

ErrorCode

Valid values representing the outcome of a request submitted to the Platform through the B2B Gateway.

CodeDescription
ERR101Syntax error
ERR102Illegal operation
ERR103Service not available
ERR104Partner not found
ERR105Already exists
ERR106Invalid credentials
ERR107Missing required data

OfferProcessingPoint

Indicates if the offer was processed at the POS or by the WLW (Paydiant) platform. Valid values are:
POS
PAYDIANT.

RewardType

Indicates if the offer reward is an item or a monetary discount. Valid values are: VALUE_BASED_REWARD
SKU_BASED_REWARD

StatusCode

Valid values representing the outcome of a request submitted to the Platform through the B2B Gateway.

CodeDescription
SUCCESSThe request completed successfully.
PARTIAL_SUCCESSSome portion of the request completed, but additional processing is pending. This status typically references a partial payment on which a balance is still owed.
PENDING_COMPLETIONThe request is still being processed.
FAILEDThe request cold not be completed.
INVALID_DATASome values in the request are not valid for the property.
FATAL_ERRORThe request failed.
TIMEOUTThe request could not be completed in the allowed time.
INVALID_OPERATIONThe request is not supported.
REQUIRED_DATA_MISSINGone or more required property values are missing.
NOT_FOUNDAn element referenced in the required can not be located.
ALREADY_EXISTSA referenced entity for creation already exists in the target system.
TRANSACTION_CANCELEDThe request was canceled.
TRANSACTION_EXPIREDThe request timed our while waiting for a response.
TRANSACTION_NOT_FOUNDThe referenced transaction is not active in the system.
INVALID_SECONDARY_IDThe authentication code does not match.
CUSTOMER_DEACTIVATEDThe referenced customer account is locked.
CUSTOMER_PASSWORD_EXPIREDThe referenced customer’s password has expired and must be updated.
CUSTOMER_EMAIL_NOT_VERIFIEDThe customer account is inactive pending email verification.
INVALID_ARGUMENTSOne or more properties in the request is not valid for the request.
VERIFICATION_SUCCESSVerification is complete.

TransactionFlowRule

EnumDescription
SUBMIT_PRE_AUTHSend a request to authorize a specific amount before dispensing fuel.
SUBMIT_SECONDARY_ID_FOR_VALIDATIONSend the secondary identifier to validate the pre-auth.
SUBMIT_FUEL_CANCELStop pump.
SUBMIT_FUEL_BEGINStart pump.
SUBMIT_FUEL_ENDComplete fuel dispensing.
SUBMIT_FUEL_RECEIPTRequest receipt for pumped fuel.
RETRIEVE_TRANSACTION_META_DATAReturn additional data associated with this transaction.
SUBMIT_ACCEPTANCE_POINTSend request to create a new fuel pump in the system.
SUBMIT_TICKETSend request to generate receipt.
UPDATE_TICKETChange an existing ticket.
SUBMIT_PROCESSED_OFFERSSend a request to include already-processed offers in the transaction.
SUBMIT_PROCESSED_LOYALTYSend the information that affects the transaction from an external loyalty processor.
SUBMIT_PROCESSED_PAYMENTSSend all payments that may be included in this transaction.
SUBMIT_POS_SELECTED_TENDERS_FOR_PROCESSINGSend tender requests that initiated at the POS.
OBTAIN_PURCHASE_TOKENRequest an authorizing token for this transaction.
OBTAIN_REFUND_TOKENRequest an authorizing token for a refund being processed.
SUBMIT_TRANSACTION_RECEIPTSend the completed receipt for the transaction.
OBTAIN_CASH_ACCESS_TOKENRequest an authorizing token for a cash access transaction.
SUBMIT_NON_PAIRED_REFUND_TICKETRequest a refund without a qualifying receipt.
SUBMIT_PRE_AUTH_CAPTURESave the pre-authorization capture.
SUBMIT_PROCESSED_PRE_AUTHSend completion of the pre-authorization.
SUBMIT_PROCESSED_PRE_AUTH_CAPTURESend the stored pre-auth capture.
REQUEST_MOBILE_TENDER_FOR_PROCESSINGSend a request to use a tender in the consumer's wallet for processing.
PROCESS_FULL_REVERSAL_ON_TENDERCancel use of tender before it has settled.
PROCESS_VOID_ON_TENDERCancel use of tender before fuel is dispensed.
VOID_TRANSACTIONCancel an existing transaction before it has been settled.
FULL_REVERSE_TRANSACTIONBack out of the current transaction.
CANCEL_TRANSACTIONCancel a fuel transaction before any fuel has been dispensed.

Next