Worldpay Native RAFT

Overview

Gateway Website: https://developerengine.fisglobal.com/apis/native-raft
Developer Documentation: https://developerengine.fisglobal.com/apis/native-raft/credit/api-specification
Default Currency: USD

Request Objects: BillingAddress, CreditCard, ThreeDSecure, StoredCredentials

Gateway Endpoints
This implementation of Worldpay Native RAFT forwards requests to the below endpoints.
Production: https://ws.vantiv.com/merchant/servicing/apitransactions/NativeRaftApi/v1
Sandbox: https://ws-cert.vantiv.com/merchant/servicing/apitransactions/NativeRaftApi/v1

Supported Request Parameters

Field NameTypeWorldpay Native RAFT MappingNotes
GatewayStringN/AWorldpayNativeRaft
LicenseKeyStringAuthorization HeaderValue of license key normally sent within the Worldpay API's Authorization header. Do not send the Base64 encoded license. Send the bolded section of the following example: VANTIV license="YOUR LICENSE HERE"
Amount or MiscAmountsBalances.TransactionAmountIntMiscAmountsBalances.TransactionAmountTransaction amount in cents. Example: $10.00 should be sent as 1000. Do not send values in both fields. Pick the variable that works best for your integration.
MiscAmountsBalances.CashBackAmountIntMiscAmountsBalances.CashBackAmountCashback amount in cents. Example: $10.00 should be sent as 1000
MiscAmountsBalances.SurchargeAmountIntMiscAmountsBalances.SurchargeAmountSurcharge amount in cents. Example: $10.00 should be sent as 1000
MiscAmountsBalances.ConvenienceFeeIntMiscAmountsBalances.ConvenienceFEEConvenience fee in cents. Example: $10.00 should be sent as 1000
MiscAmountsBalances.TIPAmountIntMiscAmountsBalances.TIPAmountTip amount in cents. Example: $10.00 should be sent as 1000
MiscAmountsBalances.DispensedAmountIntMiscAmountsBalances.DispensedAmountDispensed amount in cents. Example: $10.00 should be sent as 1000
MiscAmountsBalances.CumulativeAmountIntMiscAmountsBalances.CumulativeAmountCumulative amount in cents. Example: $10.00 should be sent as 1000
tax.Amount or MiscAmountsBalances.SalesTaxAmountIntMiscAmountsBalances.SalesTAXAmountTax amount in cents. Example: $10.00 should be sent as 1000
MiscAmountsBalances.PreAuthorizedAmountIntMiscAmountsBalances.PreauthorizedAmountFor previously authorized transactions (preauth completion, credit card completion), the acquirer places the amount that the transaction was originally authorized for in this field.
For gift card purchases, this field can be sent by the acquirer to indicate the amount that was pre-authorized.
MiscAmountsBalances.PaymentTrailingAmtIntMiscAmountsBalances.PaymentTrailingAmtPayment trailing amount in cents. Example: $10.00 should be sent as 1000
MiscAmountsBalances.OptumAmountIntMiscAmountsBalances.OPTUMAmountOptum amount in cents. Example: $10.00 should be sent as 1000
creditCard.NumberStringCardInfo.PANCard's plaintext PAN or TokenEx token. If Worldpay tokens are being sent to Worldpay, this field does not get forwarded to Worldpay.
creditCard.ExpirationMonth and creditCard.ExpirationYearIntCardInfo.ExpirationDateMonth: 1 or 2 digits. Year: Four digits. TokenEx will combine expYear with expMonth to match the "YYMM" format.
UseAVSBooleanAddressVerificationData.AVSZIPCode
AddressVerificationData.AVSAddress
Maps the BillingAddress.Zip and BillingAddress.Address1 to Worldpay AVS fields
AVSResultStringAddressVerificationData.AVSResultWorldpay returns this field in the response message if the authorization request included AVSZipCode or AVSAddress.

Valid values are:
A - Address Matches, ZIP does not
B - Address Matches, ZIP not verified
C - Address an ZIP not verified
D - Address and postal code match, international AVS only
E - Edit Error or ineligible
F - Address and ZIP match - UK only
G - Address not verified - international
I - Address not verified
M - Address and postal code match, international AVS only
N - Neither address nor ZIP match
P - Codes match, addresses not verified
R - System unavailable or time-out
S - AVS not supported
U - Address info N/A
W - Nine digit zip matches, not address
X - Address and nine digit zip match, domestic AVS only
Y - Address and five digit zip match, domestic AVS only
Z - ZIP matches, address does not
creditCard.CVVStringCardVerificationData.Cvv2Cvc2CIDValue3 or 4 digit Card Verification Code.
creditCard.CvvPresenceIndicatorStringCardVerificationData.Cvv2Cvc2CIDIndicatorThis field contains the CVV2, CVC2, or CID Presence Indicator. Use one of the following values:
0 - The CVV2/CVC2/CID value was bypassed or not given.
1 - The CVV2/CVC2/CID value is present.
2 - The CVV2/CVC2/CID value is illegible.
9 - The CVV2/CVC2/CID value is not on the card.
CardVerificationResultStringCardVerificationData.Cvv2Cvc2CIDResultIf the authorization request included CVV2, CVC2, or CID, the following values are returned:
E - PAYPASS - UNPREDICTABLE NUMBER ERROR
M -CVV2/CVC2/CID VALUE MATCHES
N - CVV2/CVC2/CID VALUE DOES NOT MATCH
P - CVV2/CVC2/CID VALUE NOT PROCESSED
S - CVV2/CVC2/CID ON CARD, NOT REQUEST
U - CVV2/CVC2/CID VALIDATION N/A
Y - SWIPED AND PAYPASS - CVC1/3 ERROR
CreditCard.WorldpayTokenStringEncryptionTokenData.TokenizedPANThis field should contain a Worldpay-tokenized PAN. Sending a value in this field will cause CardInfo.PAN to not be forwarded to Worldpay.
CreditCard.LowValueTokenStringEncryptionTokenData.LowValueTokenThe field contains a temporary token with an expiration time that you use with eProtect (a card not present or eComm security product). Clients' (merchants) customers in a card not present online environment present a low value token in lieu of PAN and optional CVV
information.
Sending a value in this field will cause CardInfo.PAN to not be forwarded to Worldpay.
tokenRequestedboolEncryptionTokenData.WPTokenRequestedSetting this to TRUE will result in Worldpay tokenizing the value in CreditCard.Number and returning a WorldpayToken
tokenRequestedboolEncryptionTokenData.ReturnTokenizedPanSetting this to TRUE will result in Worldpay tokenizing the value in CreditCard.Number and returning a WorldpayToken
terminalData.EntryModeStringTerminalData.EntryModeValid values are:
SWIPED - Magnetic Stripe Swiped
UNSPEC - Unspecified
KEYED - Manual Entry
CARDNOTK - Card Present but No Track
BARCODE - Bar Code
OCRCODE - OCR Code
EMVCHIP - EMV Chip Read
CONTCHIP - Contactless Chip
CONTMAG - Contactless Magnetic Stripe
CHIPSEC - Chip Secured Remote Payment
FALLBMAN - Chip Card/Chip Terminal -> Failback to Manual
FALLBMAG - Chip Card/Chip Terminal -> Failback to Magnetic Stripe
E-COMM - Electronic Commerce/In application 3D secure processing
CREDONFL - Credentials On File (COF)
SWIPMICR - Swiped MICR
IN-APP - In application 3D secure processing
IN-STORE - In store 3D secure processing
terminalData.TerminalTypeStringTerminalData.TerminalTypeThe type of terminal that acquired the transaction. If omitted, a value of 'POS' will be used.
Valid values are:

ATMON - On premise ATM
ATM - On premise ATM
ATMOFF - Off premise ATM
POS - Point of Sale
DIALPOS - Dial POS device
SCRIP - Scrip device
TELEPHON - Telephone but not a Home Banking Transaction
HOMEBANK - home Banking Device
INTERNET - Internet Banking
MOBIBANK - Mobile Banking
VENDING - Vending Machine
DVRS - Audio (Dialogic Voice Response System)
MPOS - MPOS Device
LIMITAMT - Limited Amount Terminal
CAT - Cardholder Activated Terminal
VIRTTERM - Virtual Terminal
terminalData.TerminalNumberStringTerminalData.TerminalNumberThe terminal number that the acquirer assigns. If a value is not provided, it defaults to the Worldpay Merchant ID.
terminalData.PosConditionCodeStringTerminalData.POSConditionCodeA value that describes the overall environment in which the transaction takes place.
Valid values are:
00 - Normal Transaction of This Type
01 - Customer Not Present
02 - Unattended terminal, customer Operated
03 - Merchant Suspicious of Transaction
05 - Customer Present, Card not Present
06 - Previously authorized
08 - Mail/Telephone Order
10 - Customer Identity Verified
51 - Verification-Only Request, the transaction amount must be zero.
59 - Electronic Commerce Transaction
terminalData.PosEnvironmentStringTerminalData.POSEnvironmentSpecial conditions of the POS processing environment.
Valid values are:
C - Credential on File transaction for Visa
F - 'Final Authorization' transaction for MasterCard
P - Not a 'Final Authorization' transaction for MasterCard
R - Recurring transaction for Visa
I - Installment transaction for Visa
terminalData.TerminalEntryCapStringTerminalData.TerminalEntryCapIndicates by which the card data was read.
Valid values are:
0 - Unspecified
1 - Terminal Not Used
2 - Magnetic Stripe Read Capable
3 - Bar Code
4 - OCR
5 - Integrated Circuit Card
6 - Contactless Magnetic Chip
7 - Contactless Magnetic Stripe
8 - Default or Unknown
9 - Not Capable of Reading Card Data
S - Magnetic Stripe Read and Manual Entry Capable
T - Magnetic Stripe Read, Manual Entry, and Integrated Circuit Card Capable
terminalData.AttendedDeviceStringTerminalData.AttendedDeviceY/N flag indicating whether the device is attended or not.
terminalData.OperatingEnvironmentStringTerminalData.OperatingEnvironmentThis identifies the type of environment the transaction is being executed in.

Valid values are:
0 - No terminal used
1 - On premise of card acceptor, attended device
2 - On premise of card acceptor, unattended device
3 - Off premise of card acceptor, attended device
4 - Off premise of card acceptor, unattended device
5 - On premise of card holder, unattended device
ThreeDSecure.ECI or OrderInfo.EcommerceIndicatorStringE-commerceData.E-commerceIndicatorAll electronic commerce transactions must include this field to indicate the type of transaction being performed. It can also be used to distinguish various types of Bill Payment transactions. Use OrderInfo.ECommerceIndicator for non-3DS transactions.

Valid values are:
01 - Single transaction - default for Bill Payments
02 - Recurring Transaction
03 - Installment Payment
05 - Verified by Visa authenticated/MasterCard SecureCode with AAV data/Discover with CAVV data.
06 - Verified by Visa attempts processing/MasterCard SecureCode with or without AAV data/Discover with or without CAVV data.
07 - eCommerce, but neither Verified by Visa, nor MasterCard SecureCode.
08 - The cardholder's payment card data was transmitted to the merchant using no security method.
09 - Used by non-U.S. merchants to designate Secure Electronic Transaction (SET) purchases. U.S. Issuers should not receive ECI of 9, unless the value was the result of a processing error or a miscoded value.
10 - Recurring transaction (first transaction of a recurring payment series)
20 - Token Initiated (AMEX only)
ThreeDSecure.XIDStringE-commerceData.3dSecureDataIf included and card number is Visa or American Express, is appended to value of CAVV field. This field expects data to already be base64 encoded. If it is already base64 encoded, it does not need to be encoded again.
ThreeDSecure.CAVVStringE-commerceData.3dSecureData3DS Authentication value. Use this field to pass Visa's CAVV, MasterCard's AAV, Discover's CAVV, or American Express' AEVV.
This field expects data to already be base64 encoded. If it is already base64 encoded, it does not need to be encoded again.
orderInfo.PurchaseOrderNumberStringE-commerceData.E-commerceOrderNumE-Commerce Order Number
CustomerIpAddressStringE-commerceData.E-commerceIPAddressE-Commerce IP Address
OrderInfo.LoginStatusStringE-commerceData.LoginStatusLogin Status
OrderInfo.ItemDepartmentStringE-commerceData.ItemDepartmentItem Department
OrderInfo.OriginalChainIdStringE-commerceData.OriginalChainIDOriginal Chain ID
ThreeDSecure.ReturnECIStringE-commerceData.ReturnE-commerceIndicatorIf the network changes the E-commerce indicator for any reason (downgrades, etc.), the new value will be returned in this field.
ThreeDSecure.ReturnUCAFIndicatorStringE-commerceData.ReturnUCAFIndicatorIf the network changes the UCAF indicator for any reason (downgrades, etc.), the new value will be returned in this field.
ThreeDSecure.ReturnESLIndicatorStringE-commerceData.ReturnEcommerceSecurityLevelIndicatorThis value contains security protocol and cardholder authentication data (SLI) for the network. It will contain either the value that Worldpay sent to the network or the modified network value should they change it in the authorization response. For follow up messages such as completions and reversals, Worldpay will attempt to retrieve the original value, but this data can be sent back up to ensure it is logged for settlement reasons.
ThreeDSecure.ReturnUCAFAAVDataStringE-commerceData.ReturnUCAFAAVDataThis value contains the UCAF/AAV value that Worldpay provided to the network for authorization. For follow up messages such as completions and reversals, Worldpay will attempt to retrieve the original value, but this data can be sent back up to ensure it is logged for settlement reasons.
ThreeDSecure.ProgramProtocolStringE-commerceData.3DSecureProgramProtocolThis value contains the current version of 3D secure software being used. Refer to the Mastercard processing specifications for a full list of valid values. Common values:
1 - 3D Secure Version 1.0 (3DS 1.0)
2 - EMV 3D Secure (3DS 2.0)
ThreeDSecure.DSTransIdStringE-commerceData.3DSecureDirectoryServerTransactionIDThis value is generated by the 3D secure server during the authentication transaction and passed back to the merchant along with the authentication results.
billPaymentTypeStringBillPaymentData.BillPaymentTypeValid values are:
B - Standard bill payment
GatewayRoutingIdStringGatewayRoutingId
string (GatewayRoutingId_Type) <= 4 characters
Value used to force the transaction to a specific entity.
Valid Values:
ALIP - AliPay
FGFT - Stored Value Systems
GDOT - Green Dot
GDT2 - Green Dot Alternate
ICOM - Incomm
MPLN - MasterCard Repower
NET1 - NET1 PIN Translation
NSPD - Netspend
SWAY - Safeway/Blackhawk
TSY1 - TSY1 PIN Translation
VPLN - Visa Prepaid Load Network/ReadyLink
ProcFlagsIndicators.PinlessRequestStringProcFlagsIndicators.PinlessRequestY/N flag indicating whether the customer would like Worldpay to attempt a PINLess conversion from signature to debit.
ProcFlagsIndicators.PartialAllowedStringProcFlagsIndicators.PartialAllowedY/N flag indicating whether the customer allows partial authorizations.
ProcFlagsIndicators.MerchantStandinStringProcFlagsIndicators.MerchantStandinY/N flag indicating whether the transaction was authorized by the merchant in standin.
RecurringBooleanProcFlagsIndicators.RecurringBillPaytrue/false flag indicating whether the transaction is a recurring bill payment. If true, TokenEx will assign "Y" to this field.
ProcFlagsIndicators.RecurringBillPayStringProcFlagsIndicators.RecurringBillPayY/N flag indicating whether the transaction is a recurring bill payment. If sent, value will overwrite any previously set value (e.g. Recurring bool)
ProcFlagsIndicators.PaymentExistingDebtStringProcFlagsIndicators.PaymentExistingDebtY/N flag indicating if the transaction qualifies as a payment exist debt.
ProcFlagsIndicators.PANMappingRequestStringProcFlagsIndicators.PANMappingRequestY/N flag indicating if the acquirer wishes to receive PAN Mapping data.
ProcFlagsIndicators.SignatureCaptureStringProcFlagsIndicators.SignatureCaptureY/N flag indicating if the acquirer wishes to receive a signature capture token.
ProcFlagsIndicators.HostCaptureAdviceStringProcFlagsIndicators.HostCaptureAdviceY/N flag indicating if the transaction is a host capture advice.
Tax.SalesTaxIndicator or ProcFlagsIndicators.SalesTaxIndicatorStringProcFlagsIndicators.SalesTaxIndicatorIndicator to provide the status of sales tax for the transaction.
'0' - Sales tax amount not present
'1' - Sales tax amount present (default if a sales tax is present)
'2' - Sales tax exempt
ProcFlagsIndicators.EMDSettlementStringProcFlagsIndicators.EMDSettlementY/N flag indicating that the transaction will be settled via an EMD file submission.
ProcFlagsIndicators.SplitShipmentStringProcFlagsIndicators.SplitShipmentY/N flag indicating if the transaction is part of a split shipment.
ProcFlagsIndicators.IncrementalAuthStringProcFlagsIndicators.IncrementalAuthY/N flag indicating if the transaction is part of an incremental authorization.
ProcFlagsIndicators.PriorAuthStringProcFlagsIndicators.PriorAuthY/N flag indicating if the transaction is a prior authorized transaction. Defaults to "Y" on Capture/Completion actions.
ProcFlagsIndicators.AccountUpdaterRequestStringProcFlagsIndicators.AccountUpdaterRequestY/N flag indicating if the transaction supports Account Updater information in the response.
ProcFlagsIndicators.AccountUpdaterTokenRequestStringProcFlagsIndicators.AccountUpdaterTokenRequestAccount Updater Request Flags. Valid values are:
T - Indicator for transactions that use the account updater to send back a token on the new card number (if available).
ProcFlagsIndicators.ReauthShipmentStringProcFlagsIndicators.ReauthShipmentY/N flag indicating if the transaction is a reauthorization of a prior shipment auth.
ProcFlagsIndicators.MerchantFraudRiskDataStringProcFlagsIndicators.MerchantFraudRiskDataRequest Merchant Fraudsight Risk Data in the response.
ProcFlagsIndicators.BenefitCardServicesRequestStringProcFlagsIndicators.BenefitCardServicesRequestY/N flag indicating the transaction is a Benefit Card Services request.
ProcFlagsIndicators.RawNetworkDataRequestStringProcFlagsIndicators.RawNetworkDataRequestY/N flag indicating the acquirer would like the Raw Network Data returned in the response if available.
ProcFlagsIndicators.ExtendedNetworkRoutingDataRequestStringProcFlagsIndicators.ExtendedNetworkRoutingDataRequestY/N flag indicating the acquirer would like the Extended Network Routing Data returned in the response if available.
ProcFlagsIndicators.DigitalSecureRemotePaymentIndicatorStringProcFlagsIndicators.DigitalSecureRemotePaymentIndicatorY/N flag indicating that the transaction qualifies as a digital secure remote payment.
BrandSpecificData.MastererCard.AdviceCodeIndicatorStringProcFlagsIndicators.MastercardAdviceCodeIndicatorY/N flag indicating the customer wishes to receive the Mastercard Merchant Advice Code in the response.
ProcFlagsIndicators.InitialApplyAndBuyStringProcFlagsIndicators.InitialApplyAndBuyY/N flag indicating the transaction is the initial one in an Apply and Buy transaction sequence
BrandSpecificData.Visa.ValidationCodeStringVisaSpecificData.VisaValidationCodeVisa calculated code to ensure that key fields in the authorization request matches their respective fields in the BASE II deferred clearing message.
BrandSpecificData.Visa.TransactionIdStringVisaSpecificData.VisaTransactionIdReference number assigned by Visa.
BrandSpecificData.Visa.AuthCharIdStringVisaSpecificData.VisaAuthCharIdCode that the acquirer uses to request CPS qualification.
BrandSpecificData.Visa.ResponseCodeStringVisaSpecificData.VisaResponseCodeResponse code assigned to the transaction by Visa.
BrandSpecificData.Visa.SubsequentTransactionReasonCodeStringVisaSpecificData.VisaSubsequentTransactionReasonCodeValue used to identify the reason for sending up a subsequent transaction. Valid values are:
13 - Below floor limit
17 - VRU Approved
40 - Incremental Authorization
41 - Resubmission
42 - Delayed Charge
43 - Reauthorization
44 - No Show
45 - Deferred Authorization
50 - Offline Chip Approval
BrandSpecificData.MasterCard.BankNetReferenceNumberStringMcrdSpecificData.McrdBanknetREFNUMMasterCard Banknet Reference Number
BrandSpecificData.MasterCard.BankNetSettlementDateStringMcrdSpecificData.McrdBanknetSettleDateMasterCard Settlement Date (MMDD format)
BrandSpecificData.MasterCard.SubsequentTransactionReasonCodeStringMcrdSpecificData.McrdSubsequentTransactionReasonCodeValue used to identify the reason for sending up a subsequent transaction. Valid values are:
13 - Below floor limit
17 - VRU Approved
40 - Incremental Authorization
41 - Resubmission
42 - Delayed Charge
43 - Reauthorization
44 - No Show
45 - Deferred Authorization
50 - Offline Chip Approval
BrandSpecificData.MasterCard.RewardsRequestStringMcrdSpecificData.McrdRewardsReqY/N flag indicating whether the customer requests MasterCard Rewards information from the network.
BrandSpecificData.Discover.TransactionIdStringDiscSpecificData.DiscTransactionIdDiscover Reference Number
BrandSpecificData.Discover.ProcessingCodeStringDiscSpecificData.DiscProcessingCodeDiscover Reference Number
BrandSpecificData.Discover.TraceNumberStringDiscSpecificData.DiscTraceNumberDiscover Processing Code
BrandSpecificData.Discover.EntryModeStringDiscSpecificData.DiscEntryModeDiscover Sequence Number
BrandSpecificData.Discover.PinCapabilityStringDiscSpecificData.DiscPINCapabilityDiscover Entry Mode
BrandSpecificData.Discover.TrackStatusCodeStringDiscSpecificData.DiscTrackStatusCodeDiscover PIN Capability
BrandSpecificData.Discover.PosDataCodesStringDiscSpecificData.DiscPOSDataCodesDiscover Track Status Code
BrandSpecificData.Discover.ResponseCodeStringDiscSpecificData.DiscResponseCodeDiscover POS Data Codes
BrandSpecificData.Discover.SubsequentTransactionReasonCodeStringDiscSpecificData.DiscSubsequentTransactionReasonCodeDiscover Response Code
BrandSpecificData.Amex.TransactionIdStringAmexSpecificData.AmexTransactionIdThis field contains a 15-character transaction ID that American Express assigns. Worldpay only returns this for American Express transactions.
BrandSpecificData.Amex.SellerIdStringAmexSpecificData.AmexSellerIdThis field contains the 20-character Seller ID for American Express transactions
BrandSpecificData.Amex.PosDataCodesStringAmexSpecificData.AmexPOSDataCodesThis field contains a series of values indicating the terminal and cardholder operating environment. Worldpay only returns this for American Express transactions.
BrandSpecificData.Amex.SubsequentTransactionReasonCodeStringAmexSpecificData.AmexSubsequentTransactionReasonCodeValue used to identify the reason for sending up a subsequent transaction. Valid values are:
13 - Below floor limit
17 - VRU Approved
40 - Incremental Authorization
41 - Resubmission
42 - Delayed Charge
43 - Reauthorization
44 - No Show
45 - Deferred Authorization
50 - Offline Chip Approval
MarketSpecificDataStringMarketSpecificDataThis field indicates market type (vertical) of the merchant. Valid values are:
Blank - Unspecified
A - Auto Rental
B - Payment
E - Electronic Commerce Transaction Aggregation
H - Hotel
M - Healthcare
DurationStringDurationHotel/Auto Rental duration.
merchantSpecificData.MerchantCategoryCodeStringMerchantSpecificData.MerchantCategoryCodeMerchant Category Code (MCC/SIC)
merchantSpecificData.LaneRegisterStringMerchantSpecificData.LaneRegisterLane/Register Number
merchantSpecificData.DivisionStringMerchantSpecificData.DivisionDivision Number
merchantSpecificData.AcquirerCountryCodeStringMerchantSpecificData.AcquirerCountryCodeAcquirer Country Code
merchantSpecificData.SellerEmailStringMerchantSpecificData.MerchantSellerEmailMerchant Seller Email. For American Express transactions, this represents the Email of the Payment Aggregators or OptBlue Participant's Seller.
merchantSpecificData.SellerPhoneStringMerchantSpecificData.MerchantSellerPhoneMerchant Seller Phone. For American Express transactions, this represents the Telephone number of the Payment Aggregators or OptBlue Participant's Seller.
merchantSpecificData.AcquirerCurrencyCodeStringMerchantSpecificData.AcquirerCurrencyCodeAcquirer Currency Code
merchantSpecificData.CardAcceptorNameLocationStringMerchantSpecificData.CardAcceptorNameLocationThe merchant name or location where the transaction occurred or the sender information for money transfer type transactions.
merchantSpecificData.CardAcceptorCityStringMerchantSpecificData.CardAcceptorCityThe name of the city where the transaction occurred.
merchantSpecificData.CardAcceptorStateStringMerchantSpecificData.CardAcceptorStateThe state where the transaction occurred.
merchantSpecificData.CardAcceptorZipCodeStringMerchantSpecificData.CardAcceptorZipCodeThe zip code where the transaction occurred.
ReferenceTraceNumbers.RetrievalRefNumberStringReferenceTraceNumbers.RetrievalREFNumberThis field yields a value generated by the message originator to associate a unique identifier to a given transaction. You can use this value to identify the transaction throughout the transaction's life cycle (authorization, reversal, and so on). This value will be generated by Worldpay if not sent by the originator.
ReferenceTraceNumbers.CorrelationIdStringReferenceTraceNumbers.CorrelationIDA value that can be generated by the acquirer to associate transactions in reporting and research.
ReferenceTraceNumbers.authorizationNumberStringReferenceTraceNumbers.AuthorizationNumberThis field contains a value generated by the authorizing processor to indicate their acceptance of the transaction. If a value is not generated by either Worldpay or the network on approved transactions, Worldpay will generate one and return it to the merchant.
OrderInfo.InvoiceNumber or ReferenceTraceNumbers.ReferenceInvoiceNumberStringReferenceTraceNumbers.RefInvoiceNumberThe field contains the customer code for Level 2 or Level 3 interchange rates. It identifies the purchase to the issuer and cardholder. This is a customer-supplied code that is typically a project number, cost center, or general ledger code. If you do not require it, Worldpay recommends using a value of "NONE". Do not send values in both fields. Pick the variable that works best for your integration.
ReferenceTraceNumbers.DraftLocatorStringReferenceTraceNumbers.DraftLocatorThis field allows merchants to include the draft locator so that it can be logged and eventually presented in reporting utilities.
MerchantIdStringWorldPayMerchantIDWorldpay Merchant Id
UserDefinedListUserDefinedData.UserData1
UserDefinedData.UserData2
UserDefinedData.UserData3
Max 3 entries of user defined data. First item in list is assigned to UserData1, second item in list is assigned to UserData2, and third item is assigned to UserData3.
WalletId or BrandSpecificData.MasterCard.WalletIdStringWalletIdMasterCard-assigned Wallet ID.
OperatorEmployeeStringOperatorEmployeeEmployee Number/Clerk ID/Operator ID
BatchNumberStringBatchNumberNumber representing a grouping (batch) of transactions.
BillingAddress.ZipStringCustomerInformation.ZIPCodePostal code of customer's billing address
CreditCard.FirstNameStringCustomerInformation.CardholderFirstNameCardholder's First Name
CreditCard.LastNameStringCustomerInformation.CardholderLastNameCardholder's Last Name
BillingAddress.Address1StringCustomerInformation.CardholderAddress1Customer’s billing street address.
BillingAddress.Address2StringCustomerInformation.CardholderAddress2Continuation of street address, if needed
BillingAddress.CityStringCustomerInformation.CardholderCityCity of customer’s billing address.
BillingAddress.StateStringCustomerInformation.CardholderStateState of customer’s billing address.
BillingAddress.CountryStringCustomerInformation.CardholderCountryCodeCountry of customer’s billing address.
CreditCard.FullNameStringCustomerInformation.CardholderFullNameDefault value is creditCard.Firstname + creditCard.Lastname
PrestigiousPropertyIndStringPrestigiousPropertyINDPrestigious Property Indicator. Valid values are:
Blank - Unspecified
D - $500 Limit
B - $1000 Limit
S - $1500 Limit
ReversalAdviceReasonCodeStringReversalAdviceReasonCd
string (ReversalAdviceReasonCd_Type) <= 3 characters
For reversal messages, this field contains the reason the reversal was generated. For advice messages, it contains the reason or nature of the advice. If a value is not provided, Worldpay will use default values.
Valid values are:
000 - Normal Reversal
002 - Timeout Reversal
003 - Syntax
005 - Clerk Cancel
006 - Customer Cancel
010 - Previously Authorized
Synchrony.PosDataStringPrivateLabelData.SynchronyPOSDataPOS Data specific to Synchrony
Synchrony.PrivateDataStringPrivateLabelData.SynchronyPrivateDataPositions 1-2 = Payment Source

Valid values are:
00 - Unknown
01 - Teller
02 - ATM
03 - Retailer
04 - On-line Banking
05 - Mail
06 - Western Union
07 through 49 - Reserved for future use

Positions 3-4 = Payment Type

Valid values are:
00 - Unknown (default)
01 - Check
02 - Money Order
03 - Cash
04 - Credit Card
05 - Debit Card
06 - Electronic Funds Transfer
07 - Wire Transfer
08 - Coupon
09 - Mixed Tender
10 - ACH Check
11 - Drop to Draft Check
AuthorizationTypeStringAuthorizationTypeDefaults to "FP" on Capture/Completion calls and "RV" on Void/Reversals.
ApiTransactionIdStringAPITransactionIDUnique identifier used for each transaction chain. One is automatically generated if not provided in the format of yyMMddHHmmss + 4 random alphanumerics for a total of 16 characters. Example: 220423180459Zu3x
LocalDateTimeStringLocalDateTimeThis field contains the merchant's local date and time in a YYYY-MM-DDTHH:mm:ss format. For example, 4:15 PM on October 31st of 2018 would be 2018-10-31T16:15:00. Any follow up type messages for gift cards (completions, reversals, etc.) should contain the original local date/time for matching purposes. Default value is the local time of the specific TokenEx server used to process the transaction.
OnlineShippingAddress.Address1StringOnlineShipToAddress.OnlineShipToAddressLine1Shipping Address Line 1 for online orders
OnlineShippingAddress.Address2StringOnlineShipToAddress.OnlineShipToAddressLine2Shipping Address Line 2 for online orders
OnlineShippingAddress.CityStringOnlineShipToAddress.OnlineShipToCityShipping Address City for online orders
OnlineShippingAddress.ZipStringOnlineShipToAddress.OnlineShipToZipCodeShipping Address State for online orders
OnlineShippingAddress.StateStringOnlineShipToAddress.OnlineShipToStateShipping Address Country for online orders
OnlineShippingAddress.CountryStringOnlineShipToAddress.OnlineShipToCountryShipping Address Zip Code for online orders
OnlineBillingAddress.Address1StringOnlineBillToAddress.OnlineBillToAddressLine1Billing Address Line 1 for online orders
OnlineBillingAddress.Address2StringOnlineBillToAddress.OnlineBillToAddressLine2Billing Address Line 2 for online orders
OnlineBillingAddress.CityStringOnlineBillToAddress.OnlineBillToCityBilling Address City for online orders
OnlineBillingAddress.ZipStringOnlineBillToAddress.OnlineBillToZipCodeBilling Address State for online orders
OnlineBillingAddress.StateStringOnlineBillToAddress.OnlineBillToStateBilling Address Country for online orders
OnlineBillingAddress.CountryStringOnlineBillToAddress.OnlineBillToCountryBilling Address Zip Code for online orders
Synchrony.PromoNeededResultStringSynchronyData.SyncPromoNeededResultValid Values:
00 - Yes
01 - No
02 - Lite
08 - Error
Synchrony.EtcTransactionTypeStringSynchronyData.SyncETCTransactionTypeValid Values:
00 - Non-ETC Merchant
71 - Authorization and Ticket
72 - Return
73 - Ticket Only
74 - Authorization Only
75 - Reversal of Authorization and Ticket
76 - Reversal of a Return
77 - Reversal of a Ticket Only
Synchrony.EtcDescriptorCodeStringSynchronyData.SyncETCDescriptorCodeETC Descriptor Code
8 digits, should be spaced out when ETC transaction type is 00
Synchrony.TicketTermsPromoCodeInvoiceStringSynchronyData.SyncTicketTermsPromoCodeInvoiceETC Ticket Terms/Promotional Codes or invoice number

6 digits Left justified, space filled
Synchrony.CashOverAcceptanceIndicatorStringSynchronyData.SyncCashOverAcceptanceIndicatorCash Over Partial Authorization Partial Cash Acceptance Indicator

Valid Values:
' ' - Partial cash disbursement is not acceptable
'0' - Partial cash disbursement is not acceptable
'1' - Partial cash disbursement is acceptable
Synchrony.EtcMotoEcommIndicatorStringSynchronyData.SyncEtcMotoEcommIndicatorMail/Order/Electronic Commerce Indicator

Valid Values:
00 - Not Applicable
01 - Mail/Telephone, Order, Single Transaction
02 - Recurring Transaction
03 - Installment Payment
04 - Unknown Classification
05 - SET with Cardholder Certificate
06 - SET without Cardholder Certificate
07 - Channel-encrypted Transaction
08 - Non-secure Transaction
PriorityRoutingStringPriorityRoutingAcquirers use this field to indicate the order in which a transaction can choose to route to networks. It contains a series of 4 character acronyms that can be selected for the transaction. Each acronym should be padded on the right with blanks if necessary. For a listing of available networks, please contact your Worldpay Relationship Manager.
CreditCard.FullNameStringAdditionalFraudData.CardholderNameName on card to be passed to merchant fraudsight. Default value is creditCard.Firstname + creditCard.Lastname
EncryptedDataStringEncryptedDataEncrypted JSON fields in the form of a JWE Token using RSA asymmetric encryption. Requires exchange of public keys.

The Authentication HTTP header with a valid AuthID is required for any request messages containing this field.
TraceDataStringTraceDataProvides a means to pass data back and forth between acquirer and processor.
MasterCardDSRPCryptogram or BrandSpecificData.MasterCard.DSRPCryptogramStringMastercardDSRPCryptogramCryptogram data. This field expects data to already be base64 encoded. If it is already base64 encoded, it does not need to be encoded again.
MasterCardRemoteCommerceAcceptorIdentifier or BrandSpecificData.MasterCard.RemoteCommerceAcceptorIdentifierStringMastercardRemoteCommerceAcceptorIdentifierBusiness website URL or reverse domain name as presented to the consumer during checkout. Base64 encoded.
StoredCredentials.InitiatorStringProcFlagsIndicators.CardholderInitiatedTransaction or ProcFlagsIndicators.MerchantInitiatedTransactionValid values: "cardholder", "merchant".

If "cardholder", then ProcFlagsIndicators.CardholderInitiatedTransaction = "Y", if "merchant", then ProcFlagsIndicators.MerchantInitiatedTransaction = "Y"
StoredCredentials.CredentialStoredBooleanRelated to ECommerceData.ECommerceIndicatorSee usage in The Basics - Stored Credentials.

This field is used in conjunction with StoredCredentials.TransactionType to determine the ECommerceData.ECommerceIndicator. See TransactionType below.
StoredCredentials.PreviousNetworkTransactionIdStringReferenceTraceNumbers.RetrievalRefNumberSee usage in The Basics - Stored Credentials.

Obtained from the (CardBrand)SpecificData TransactionId field associated with the previous request referenced. For example, a Visa card transaction's TransactionId can be obtained from VisaSpecificData.VisaTransactionId
StoredCredentials.TransactionTypeStringECommerceData.ECommerceIndicatorValid values: "recurring", "installment", or "unscheduled"

Mappings:
"installment" = "03", "unscheduled" = "07", "recurring" = if StoredCredentials.CredentialStored is true, then "02", otherwise "10".

Example Requests

🚧

In contrast with other Payment Services gateways, Worldpay Native RAFT refunds do not accept a TokenExTransactionCode. Additionally, Worldpay Native RAFT is unique in that refunds must stand on their own and not tie back to the origin transaction's APITransactionId. For a successful refund, create a unique 16 character APITransactionId or see parameter chart for default value format if no APITransactionId is supplied.

{
    "gateway": "WorldpayNativeRaft",
    "merchantId": "<Merchant ID assigned by Worldpay>",
    "licenseKey": "<License Key assigned by Worldpay>",
    "localDateTime":"<YYYY-MM-DDTHH:mm:ss>",
    "apiTransactionId": "16-AN-Characters",
    "testMode": true,
    "amount": 1000,
    "creditCard": {
        "number": "Token or PAN",
        "expMonth": 6,
        "expYear": 2028,
        "firstName": "John",
        "lastName": "Doe",
        "fullName": "John Allen Doe",
        "cvv": "382"
    },
    "billingAddress": {
        "company": "Test Co.",
        "address1": "123 Someplace Lane",
        "address2": "Some Place",
        "city": "Tulsa",
        "state": "OK",
        "zip": "74111",
        "country": "USA"
    },
    "orderInfo":{
        "ecommerceIndicator":"07"
    },
    "terminalData": {
        "entryMode": "KEYED",
        "posConditionCode": "59",
        "terminalEntryCap": "0"
    }
}
{
    "gateway": "WorldpayNativeRaft",
    "merchantId": "<Merchant ID assigned by Worldpay>",
    "licenseKey": "<License Key assigned by Worldpay>",
    "localDateTime":"<YYYY-MM-DDTHH:mm:ss>",
    "apiTransactionId": "16-AN-Characters",
    "testMode": true,
    "amount": 1000,
    "creditCard": {
        "number": "Token or PAN",
        "expMonth": 6,
        "expYear": 2024,
        "firstName": "John",
        "lastName": "Doe",
        "fullName": "John Allen Doe",
        "cvv": "382"
    },
    "billingAddress": {
        "company": "Test Co.",
        "address1": "123 Someplace Lane",
        "address2": "Some Place",
        "city": "Tulsa",
        "state": "OK",
        "zip": "74111",
        "country": "USA"
    },
    "threeDSecure": {
        "dsTransId": "378a925e-66b2-414d-b4c4-10a573ea9e17",
        "eci": "05",
        "cavv": "xgQYYgZVAAAAAAAAAAAAAAAAAAAA", // Mapped from threeDSecureResponse.authenticationValue.
        "programProtocol":"2"
    },
    "terminalData": {
        "terminalNumber":"01",
        "entryMode": "E-COMM",
        "posConditionCode": "59",
        "terminalEntryCap": "8"
    }
}
{
    "gateway": "WorldpayNativeRaft",
    "merchantId": "<Merchant ID assigned by Worldpay>",
    "licenseKey": "<License Key assigned by Worldpay>",
    "localDateTime":"<YYYY-MM-DDTHH:mm:ss>",
    "testMode": true,
    "amount": 1000,
    "TokenExTransactionCode":"<TokenExTransactionCode from a previous Authorize response>",
    "MiscAmountsBalances":{
        "PreAuthorizedAmount":1000
    },
    "AuthorizationType":"FP",
    "ReferenceTraceNumbers":{
        "AuthorizationNumber":"approval code from prior transaction"
    },
    "ProcFlagsIndicators":{
        "PriorAuth":"Y"
    },
    "creditCard": {
        "number": "Token or PAN",
        "expMonth": 6,
        "expYear": 2028,
        "firstName": "John",
        "lastName": "Doe",
        "fullName": "John Allen Doe",
        "cvv": "382"
    },
    "billingAddress": {
        "company": "Test Co.",
        "address1": "123 Someplace Lane",
        "address2": "Some Place",
        "city": "Tulsa",
        "state": "OK",
        "zip": "74111",
        "country": "USA"
    },
    "orderInfo":{
        "ecommerceIndicator":"07"
    },
    "terminalData": {
        "entryMode": "KEYED",
        "terminalEntryCap": "0",
        "posConditionCode": "06"
    }
}
{
    "gateway": "WorldpayNativeRaft",
    "merchantId": "<Merchant ID assigned by Worldpay>",
    "licenseKey": "<License Key assigned by Worldpay>",
    "localDateTime":"<YYYY-MM-DDTHH:mm:ss>",
    "apiTransactionId": "16-AN-Characters",
    "testMode": true,
    "amount": 1000,
    "ReferenceTraceNumbers":{
        "AuthorizationNumber":"approval code from prior transaction"
    },
    "creditCard": {
        "number": "Token or PAN",
        "expMonth": 6,
        "expYear": 2028,
        "firstName": "John",
        "lastName": "Doe",
        "fullName": "John Allen Doe",
        "cvv": "382"
    },
    "billingAddress": {
        "company": "Test Co.",
        "address1": "123 Someplace Lane",
        "address2": "Some Place",
        "city": "Tulsa",
        "state": "OK",
        "zip": "74111",
        "country": "USA"
    },
    "orderInfo":{
        "ecommerceIndicator":"07"
    },
    "terminalData": {
        "entryMode": "KEYED",
        "posConditionCode": "59",
        "terminalEntryCap": "0"
    }
}
{
    "gateway": "WorldpayNativeRaft",
    "merchantId": "<Merchant ID assigned by Worldpay>",
    "licenseKey": "<License Key assigned by Worldpay>",
    "localDateTime":"<YYYY-MM-DDTHH:mm:ss>",
    "TokenExTransactionCode":"<TokenExTransactionCode from a previous Authorize, Capture, Purchase, or Refund response>",
    "testMode": true,
    "amount": 1000,
    "reversalAdviceReasonCd": "000",
    "ReferenceTraceNumbers":{
        "AuthorizationNumber":"approval code from prior transaction"
    },
    "creditCard": {
        "number": "Token or PAN",
        "expMonth": 6,
        "expYear": 2028,
        "firstName": "John",
        "lastName": "Doe",
        "fullName": "John Allen Doe",
        "cvv": "382"
    },
    "billingAddress": {
        "company": "Test Co.",
        "address1": "123 Someplace Lane",
        "address2": "Some Place",
        "city": "Tulsa",
        "state": "OK",
        "zip": "74111",
        "country": "USA"
    },
    "orderInfo":{
        "ecommerceIndicator":"07"
    },
    "terminalData": {
        "entryMode": "KEYED",
        "posConditionCode": "59",
        "terminalEntryCap": "0"
    }
}

Gateway Response Parameters

Field NameTypeWorldpay Native RAFT MappingNotes
approvalCodeStringReferenceTraceNumbers.AuthorizationNumberThe authorization code granted by the card issuing bank for this transaction.
approvedStringResponseCodeThe overall status of the transaction.
The field is true if the gateway's raw response Response Code equals "000" (full approval) or "010" (partial approval)
providerTransactionCodeStringAPITransactionIDAPITransactionID as shown in the the gateway raw response

Example Responses

{
    "gatewayResponse": {
        "rawResponse": "{ \"creditauthresponse\": \n { \"ReturnCode\":\"0000\",\n\"ReasonCode\":\"0000\",\n\"CardInfo\": \n{ \"CardProductCode\":\"A C\" },\n\"VisaSpecificData\": \n{ \"VisaSpendQualifier\":\"Q\",\n\"VisaResponseCode\":\"00\",\n\"VisaValidationCode\":\"BPVS\",\n\"VisaCardLevelResults\":\"A \",\n\"VisaTransactionId\":\"233410171206846\",\n\"VisaAuthCharId\":\"N\" },\n\"ReferenceTraceNumbers\": \n{ \"RetrievalREFNumber\":\"334117120748\",\n\"NetworkRefNumber\":\"334117120748\",\n\"SystemTraceNumber\":\"023636\",\n\"AuthorizationNumber\":\"752006\" },\n\"CustomerInformation\": \n{ \"IssuerCountryCode\":\"752\" },\n\"SettlementData\": \n{ \"SettlementDate\":\"20231207\",\n\"SettlementNetwork\":\"OMPS\",\n\"RegulationIndicator\":\"0\" },\n\"WorldPayRoutingData\": \n{ \"NetworkId\":\"BASE\" },\n\"APITransactionID\":\"231207171206cdji\",\n\"ResponseCode\":\"000\",\n\"AuthorizationSource\":\"5\"\n}\n}",
        "gatewayErrors": [],
        "tokenExTransactionCode": "MjMxMjA3MTcxMjA2Y2RqaTsx",
        "approvalCode": "752006",
        "providerTransactionCode": "231207171206cdji",
        "approved": true
    },
    "referenceNumber": "23120717120578419227",
    "success": true,
    "error": "",
    "message": "",
    "thirdPartyStatusCode": "200"
}
{
    "gatewayResponse": {
        "rawResponse": "{ \"creditpurchaseresponse\": \n { \"ReturnCode\":\"0000\",\n\"ReasonCode\":\"0000\",\n\"CardInfo\": \n{ \"CardProductCode\":\"A C\" },\n\"VisaSpecificData\": \n{ \"VisaSpendQualifier\":\"Q\",\n\"VisaResponseCode\":\"00\",\n\"VisaValidationCode\":\"C2WU\",\n\"VisaCardLevelResults\":\"A \",\n\"VisaTransactionId\":\"233410171227118\",\n\"VisaAuthCharId\":\"V\" },\n\"ReferenceTraceNumbers\": \n{ \"RetrievalREFNumber\":\"334117122802\",\n\"NetworkRefNumber\":\"334117122802\",\n\"SystemTraceNumber\":\"023650\",\n\"AuthorizationNumber\":\"064942\" },\n\"CustomerInformation\": \n{ \"IssuerCountryCode\":\"752\" },\n\"SettlementData\": \n{ \"SettlementDate\":\"20231207\",\n\"SettlementNetwork\":\"OMPS\",\n\"RegulationIndicator\":\"0\" },\n\"WorldPayRoutingData\": \n{ \"NetworkId\":\"BASE\" },\n\"APITransactionID\":\"231207171227g7Sy\",\n\"ResponseCode\":\"000\",\n\"AuthorizationSource\":\"5\"\n}\n}",
        "gatewayErrors": [],
        "tokenExTransactionCode": "MjMxMjA3MTcxMjI3ZzdTeTsy",
        "approvalCode": "064942",
        "providerTransactionCode": "231207171227g7Sy",
        "approved": true
    },
    "referenceNumber": "23120717122656700974",
    "success": true,
    "error": "",
    "message": "",
    "thirdPartyStatusCode": "200"
}
{
    "gatewayResponse": {
        "rawResponse": "{ \"creditcompletionresponse\": \n { \"ReturnCode\":\"0000\",\n\"ReasonCode\":\"0000\",\n\"CardInfo\": \n{ \"CardProductCode\":\"A C\" },\n\"ReferenceTraceNumbers\": \n{ \"SystemTraceNumber\":\"023748\",\n\"AuthorizationNumber\":\"002848\" },\n\"SettlementData\": \n{ \"SettlementDate\":\"20231207\",\n\"SettlementNetwork\":\"OMPS\",\n\"RegulationIndicator\":\"0\" },\n\"WorldPayRoutingData\": \n{ \"NetworkId\":\"BASE\" },\n\"APITransactionID\":\"231207171227g7Sy\",\n\"ResponseCode\":\"000\",\n\"AuthorizationSource\":\"5\"\n}\n}",
        "gatewayErrors": [],
        "tokenExTransactionCode": "MjMxMjA3MTcxMjI3ZzdTeTsz",
        "approvalCode": "002848",
        "providerTransactionCode": "231207171227g7Sy",
        "approved": true
    },
    "referenceNumber": "23120717150999000795",
    "success": true,
    "error": "",
    "message": "",
    "thirdPartyStatusCode": "200"
}
{
    "gatewayResponse": {
        "rawResponse": "{ \"creditrefundresponse\": \n { \"ReturnCode\":\"0000\",\n\"ReasonCode\":\"0000\",\n\"MiscAmountsBalances\": \n{ \"OriginalAuthAmount\":\"10.00\",\n\"AvailableBALFromAcct\":\"2008.53\" },\n\"CardInfo\": \n{ \"CardProductCode\":\"A C\" },\n\"VisaSpecificData\": \n{ \"VisaSpendQualifier\":\"Q\",\n\"VisaResponseCode\":\"00\",\n\"VisaValidationCode\":\"BR3Z\",\n\"VisaCardLevelResults\":\"A \",\n\"VisaTransactionId\":\"233410171650180\",\n\"VisaAuthCharId\":\"A\" },\n\"ReferenceTraceNumbers\": \n{ \"RetrievalREFNumber\":\"334117165110\",\n\"PaymentAcctREFNumber\":\"43215678901234567890123456789\",\n\"NetworkRefNumber\":\"334117165110\",\n\"SystemTraceNumber\":\"023802\",\n\"AuthorizationNumber\":\"909926\" },\n\"SettlementData\": \n{ \"SettlementDate\":\"20231207\",\n\"SettlementNetwork\":\"OMPS\",\n\"RegulationIndicator\":\"0\" },\n\"WorldPayRoutingData\": \n{ \"NetworkId\":\"BASE\" },\n\"APITransactionID\":\"2312071716507a4G\",\n\"ResponseCode\":\"000\",\n\"AuthorizationSource\":\"5\"\n}\n}",
        "gatewayErrors": [],
        "tokenExTransactionCode": "MjMxMjA3MTcxNjUwN2E0Rzs0",
        "approvalCode": "909926",
        "providerTransactionCode": "2312071716507a4G",
        "approved": true
    },
    "referenceNumber": "23120717165018883760",
    "success": true,
    "error": "",
    "message": "",
    "thirdPartyStatusCode": "200"
}
{
    "gatewayResponse": {
        "rawResponse": "{ \"creditauthresponse\": \n { \"ReturnCode\":\"0000\",\n\"ReasonCode\":\"0000\",\n\"MiscAmountsBalances\": \n{ \"OriginalAuthAmount\":\"10.00\" },\n\"CardInfo\": \n{ \"CardProductCode\":\"A C\" },\n\"VisaSpecificData\": \n{ \"VisaSpendQualifier\":\"Q\",\n\"VisaResponseCode\":\"00\",\n\"VisaValidationCode\":\"BM3V\",\n\"VisaCardLevelResults\":\"A \",\n\"VisaTransactionId\":\"233410171530662\",\n\"VisaAuthCharId\":\"E\" },\n\"ReferenceTraceNumbers\": \n{ \"RetrievalREFNumber\":\"334117153059\",\n\"NetworkRefNumber\":\"334117153059\",\n\"SystemTraceNumber\":\"023777\",\n\"AuthorizationNumber\":\"405534\" },\n\"CustomerInformation\": \n{ \"IssuerCountryCode\":\"752\" },\n\"SettlementData\": \n{ \"SettlementDate\":\"20231207\",\n\"SettlementNetwork\":\"OMPS\",\n\"RegulationIndicator\":\"0\" },\n\"WorldPayRoutingData\": \n{ \"NetworkId\":\"BASE\" },\n\"APITransactionID\":\"231207171530saoo\",\n\"ResponseCode\":\"000\",\n\"AuthorizationSource\":\"5\"\n}\n}",
        "gatewayErrors": [],
        "tokenExTransactionCode": "MjMxMjA3MTcxNTMwc2Fvbzsx",
        "approvalCode": "405534",
        "providerTransactionCode": "231207171530saoo",
        "approved": true
    },
    "referenceNumber": "23120717161496243964",
    "success": true,
    "error": "",
    "message": "",
    "thirdPartyStatusCode": "200"
}
{
    "gatewayResponse": {
        "rawResponse": "{ \"creditpurchaseresponse\": \n { \"ReturnCode\":\"0004\",\n\"ReasonCode\":\"000E\",\n\"ReturnText\":\"EXPIRATION DATE IS INCORRECT FORMAT (YYMM)\",\n\"ReferenceTraceNumbers\": \n{ \"SystemTraceNumber\":\"007889\" },\n\"CustomerInformation\": \n{ \"IssuerCountryCode\":\"752\" },\n\"SettlementData\": \n{ \"SettlementDate\":\"20231208\",\n\"SettlementNetwork\":\"OMPS\",\n\"RegulationIndicator\":\"0\" },\n\"WorldPayRoutingData\": \n{ \"NetworkId\":\"BASE\" },\n\"APITransactionID\":\"231208091922nlP5\",\n\"ResponseCode\":\"030\",\n\"ErrorInformation\": \n{ \"ErrorText\":\"2623\",\n\"FieldInError\":\"ExpirationDate\" }\n}\n}",
        "gatewayErrors": [
            {
                "code": "0004",
                "message": "Edit error on input - EXPIRATION DATE IS INCORRECT FORMAT (YYMM)"
            },
            {
                "code": "030",
                "message": "FORMAT ERROR"
            },
            {
                "code": "0004",
                "message": "ExpirationDate - 2623"
            }
        ],
        "tokenExTransactionCode": "",
        "approvalCode": "",
        "providerTransactionCode": "231208091922nlP5",
        "approved": false
    },
    "referenceNumber": "23120809192152157008",
    "success": true,
    "error": "",
    "message": "",
    "thirdPartyStatusCode": "200"
}
{
    "gatewayResponse": {
        "rawResponse": "{ \"creditpurchaseresponse\": \n { \"ReturnCode\":\"0004\",\n\"ReasonCode\":\"000F\",\n\"ReturnText\":\"STOLEN CARD, PICK UP\",\n\"CardInfo\": \n{ \"CardProductCode\":\"A C\" },\n\"VisaSpecificData\": \n{ \"VisaSpendQualifier\":\"Q\",\n\"VisaResponseCode\":\"43\",\n\"VisaValidationCode\":\"EJTS\",\n\"VisaTransactionId\":\"233420091805332\",\n\"VisaAuthCharId\":\"E\" },\n\"ReferenceTraceNumbers\": \n{ \"RetrievalREFNumber\":\"334209180631\",\n\"NetworkRefNumber\":\"334209180631\",\n\"SystemTraceNumber\":\"007806\" },\n\"CustomerInformation\": \n{ \"IssuerCountryCode\":\"752\" },\n\"SettlementData\": \n{ \"SettlementDate\":\"20231208\",\n\"SettlementNetwork\":\"OMPS\",\n\"RegulationIndicator\":\"0\" },\n\"WorldPayRoutingData\": \n{ \"DCCEligibleBin\":\"Y\",\n\"NetworkId\":\"BASE\" },\n\"APITransactionID\":\"2312080918052t7G\",\n\"ResponseCode\":\"022\",\n\"AuthorizationSource\":\"5\"\n}\n}",
        "gatewayErrors": [
            {
                "code": "0004",
                "message": "Edit error on input - STOLEN CARD, PICK UP"
            },
            {
                "code": "022",
                "message": "DECLINE - PICK UP STOLEN CARD"
            }
        ],
        "tokenExTransactionCode": "",
        "approvalCode": "",
        "providerTransactionCode": "2312080918052t7G",
        "approved": false
    },
    "referenceNumber": "23120809180524271095",
    "success": true,
    "error": "",
    "message": "",
    "thirdPartyStatusCode": "200"
}