Supported Functions
Below is a list of supported functionalities of the interface to WorldPay
Table 12-2 WorldPay - Supported Functions
Function | Description |
---|---|
Payment |
Sends payment request to WorldPay application. The client will return a response message with formatted receipt strings for customer and/or merchant receipts. Appropriate receipts will be printed at the end of transaction. |
Cashback |
If the WorldPay client (IPC) is enabled for cashback, then EFTLink will prompt the associate if cashback is required. EFTLink can suppress the cashback request by enabling the property "disable.cashback.prompt" in the core properties file. The offering of cashback can also be suppressed via the CardServiceRequest. If suppress.cashback=true is added to the MiscellaneousData element then cashback will be suppressed. Example: <?xml version="1.0" encoding="UTF-8"?> <CardServiceRequest RequestType="CardPayment" ApplicationSender="XSTORE" WorkstationID="1" RequestID="3"> <POSdata LanguageCode="eng"> <POSTimeStamp>2020-01-14T11:33:39</POSTimeStamp> <TransactionNumber>39</TransactionNumber> <StoreID>101</StoreID> </POSdata> <MiscellaneousData>suppress.cashback=true</MiscellaneousData> <TotalAmount Currency="USD">10.00</TotalAmount> <SaleItem ItemID="_1"> <ProductCode>0</ProductCode> <Department>NP</Department> <Amount OriginalAmount="10.00">10.00</Amount> <UnitPrice>10.00</UnitPrice> <Quantity>1</Quantity> <TaxCode>0</TaxCode> <TaxRate>0.00</TaxRate> <AdditionalProductCode>1026</AdditionalProductCode> <AdditionalProductInfo>Non Phys Item</AdditionalProductInfo> </SaleItem> <PaymentProviderName /> </CardServiceRequest> |
Reversal |
Reversal requests require the card payment reference, PAN and card expiry date from the original transaction. A reversal should carry the same transaction number as the transaction it is cancelling. Below is an example reversal request with the necessary data fields highlighted. <?xml version="1.0" encoding="UTF-8"?> <CardServiceRequest RequestType="PaymentReversal" ApplicationSender="POSSIM" WorkstationID="1" RequestID="9" RequestSubType="OperatorReversal"> <POSdata LanguageCode="en"> <POSTimeStamp>2015-06-09T11:48:29</POSTimeStamp> <TransactionNumber>401</TransactionNumber> </POSdata> <OriginalTransaction TerminalID="22980092" STAN="401" TimeStamp="2015-06-09T11:48:27" RequestType="CardPaymentLoyaltyAward" ApprovalCode="956872" MiscellaneousData="{Status=ONLINE}" /> <TotalAmount Currency="GBP">15.00</TotalAmount> <CardValue CardType="3" Tender="0108" LoyaltyEligible="true"> <CardPAN>476173******0119</CardPAN> <EndDate>1263</EndDate> <CardCircuit>VISA CREDIT</CardCircuit> <Hash>52FDA2337F840BEE654353EA1D1F54FB5EFC2E98</Hash> <Token>533173099D9A95649</Token> <TransactionReference>PGTR327632569</TransactionReference> </CardValue> </CardServiceRequest> |
Refund |
Sends refund requests to the WorldPay application. The client will refund a transaction with specified amount. |
Tokenized Refund |
To perform refunds via token both the token and the card payment reference from the original sale must be provided in the refund request, please see below for an example of a payment response from EFTLink showing these fields. <?xml version="1.0" encoding="UTF-8"?> <CardServiceResponse RequestType="CardPaymentLoyaltyAward" ApplicationSender="POSSIM" WorkstationID="1" RequestID="4" OverallResult="Success"> <Terminal TerminalID="22980092" DeviceID="0081226814" MerchantID="6818780" STAN="345" /> <Tender> <TotalAmount Currency="GBP">56.00</TotalAmount> <Authorization AcquirerID="UNKNOWN" TimeStamp="2015-04-29T12:45:31" ApprovalCode="947265" CardType="3" Tender="0108" CardPAN="476173******0119" ExpiryDate="1251" CardCircuit="VISA CREDIT" TransactionReference="PGTR740971038" /> </Tender> <CardValue CardType="3" Tender="0108" LoyaltyEligible="true"> <CardPAN>476173******0119</CardPAN> <EndDate>1251</EndDate> <CardCircuit>VISA CREDIT</CardCircuit> <Hash>1CCF57529637C314FBE9C6544BF10E3D16FE20B8</Hash> <Token>533173099D9A95649</Token> <TransactionReference>PGTR740971038</TransactionReference> </CardValue> <MiscellaneousData>{Status=ONLINE}</MiscellaneousData> </CardServiceResponse> Below is an example of a subsequent refund request from the POS. <?xml version="1.0" encoding=" UTF-8"?> <CardServiceRequest RequestType="PaymentRefund" ApplicationSender=" POSSIM " WorkstationID="1" RequestID="5"> <POSdata LanguageCode="en" SpooledPrint="false"> <POSTimeStamp>2015-04-29T12:46:31</POSTimeStamp> <TransactionNumber>920</TransactionNumber> </POSdata> <TotalAmount Currency="GBP">56.00</TotalAmount> <CardValue> <Token>533173099D9A95649</Token> <TransactionReference> PGTR740971038</TransactionReference> </CardValue> </CardServiceRequest> |
X reports (reconciliation) |
Offers the ability to print a reconciliation report. This is an online function only. If the network is not available, then the transaction will be canceled, and no report data will be returned in response. |
Z reports (reconciliation with closure) |
Offer the ability to print a reconciliation with closure report. This is an online function only, If the network is not available, then the transaction will be canceled, and no report data will be returned in response. |