Skip to content
Last updated

Shift4’ test server simulates connectivity to a credit card processing network and provides processor-like responses to credit card transactions. The test host can be triggered for specific responses, allowing you to properly code for errors, declines, referrals, and other scenarios.

transaction.responseCode

Desired ResponseTrigger(s)
‘A’ (Authorized)amount.total ≤ 999,997.99
‘R’ (Referral)999,998 < amount.total ≤ 999,998.99
‘D’ (Declined)999,999 < amount.total < 2,000,000,000
‘D’ on a refund (Declined purchase return)amount.total = 19.19
'P' (Partial Approval)amount.total = 219 in the initial Authorization, Capture, or Sale/Purchase,
OR increase the amount.total by 219 on an incremental Authorization or Capture

transaction.avs.result

Desired ResponseTrigger(s)
‘A’ (Street address matched, but ZIP/postal code did not match.)customer.addressLine1 or customer.postalCode contains 65*
‘E’ (Error - AVS data is invalid or not allowed.)customer.addressLine1 or customer.postalCode contains 69*
‘N’ (No street address and no ZIP/postal code match.)customer.addressLine1 or customer.postalCode contains 78*
‘R’ (Card issuer system is unavailable.)customer.addressLine1 or customer.postalCode contains 82*
‘S’ (AVS service not supported.)customer.addressLine1 or customer.postalCode contains 83*
‘U’ (Street address information unavailable).customer.addressLine1 or customer.postalCode contains 85*
‘X’ (Street address and 9-digit ZIP/postal code matched.)customer.addressLine1 or customer.postalCode contains 88*
‘Y’ (Street address and 5-digit ZIP code matched.)customer.addressLine1 or customer.postalCode contains 89*
‘Z’ (Only the ZIP/postal code matched.customer.addressLine1 or customer.postalCode contains 90*

If more than one trigger sequence is present, values are read from left to right with the values in the customer.addressLine1 field taking precedence over the values in the customer.postalCode field. For example, if customer.addressLine1=6545 Elm and customer.postalCode=49081, the transaction.avs.result would return ‘A’ because ‘65’ occurred before ‘90’.

If a value is sent in the customer.addressLine1 or customer.postalCode field and it does not match one of the triggers it will return transaction.avs.result = 'N'

card.securityCode.result

Desired ResponseTrigger(s)
‘M’ (Match)card.securityCode.value="333" or "3333"
‘N’ (No match)card.securityCode.value="444" or "4444"
‘P’ (Not processed)card.securityCode.value="555" or "5555"
‘S’ (Should have been present)card.securityCode.value="666" or "6666"
‘U’ (Issuer unavailable to process)card.securityCode.value="777" or "7777"

card.levelResult

Desired ResponseTrigger(s)
‘1A’amount.total=6.66 and card.type="AX"
‘1B’amount.total=6.66 and card.type="NS"
‘2C’amount.total=6.66 and card.type="MC"
‘2V’amount.total=6.66 and card.type="VS"

Delayed Response

Desired ResponseTrigger(s)
transaction.responseCode=‘A’amount.total = 111.XX, where XX is the number of seconds that the transaction response will be delayed
transaction.responseCode=‘e’amount.total = 112.XX
transaction.responseCode=‘R’amount.total = 511.XX
transaction.responseCode=‘D’amount.total = 1,111.XX

Prepaid Cards

Desired ResponseTrigger(s)
transaction.responseCode=‘A’ and
card.balance.amount of 43.34 (pre-paid Visa/Mastercard/AMEX)
amount.total = 6.66
transaction.responseCode=‘R’ and
card.balance.amount of 83.34 (pre-paid Visa/Mastercard/AMEX)
amount.total = 516.66
transaction.responseCode=‘D’ and
card.balance.amount of 134.34 (pre-paid Visa/Mastercard/AMEX)
amount.total = 1116.66

AVS One Pass vs Two Pass

Desired ResponseTrigger(s)
One Pass Validationamount.total ≤ 100 and send appropriate AVS/CSC triggers (see above)
Two Pass Validationamount.total > 100 and send appropriate AVS/CSC triggers (seeabove)

Errors

Desired ResponseTrigger(s)
Demo Host Erroramount.total = 32,202.00

Timeout Errors

Desired ResponseTrigger(s)
error.primaryCode = ‘9951’card.number = '4321000000011001'
error.primaryCode = ‘2999’card.number = '4321000000032999'
error.primaryCode = ‘9847’card.number = '4321000000029847'
error.primaryCode = ‘9844’card.number = '4321000000059844'
error.primaryCode = ‘9401’card.number = '4321000000009401'
error.primaryCode = ‘9870’card.number = '4321000000029870'
error.primaryCode = ‘9858’card.number = '4321000000089858'
error.primaryCode = ‘9839’card.number = '4321000000029839'
error.primaryCode = ‘9971’card.number = '4321000000009971'
error.primaryCode = ‘9972’card.number = '4321000000099972'

OCT

Desired ResponseTrigger(s)Notes
error.code=‘40001’$9.01Transaction timed out
transaction.responseCode=‘D’$9.02Decline
error.code=‘40400’$9.03Transaction type error
error.code=‘40107’$9.04Invalid amount for transaction
error.code=‘50101’$9.05Transation cancelled
transaction.responseCode=‘A’$9.06
transaction.responseCode=‘A’$9.07

Account Update Status

If the /updater/status request is made within 1 hour of the initial /updater/request request, the /updater/status request will return updaterStatus = P.

If the /updater/status request is made more than 1 hour after the initial /updater/request request, the /updater/status request will return updaterStatus = C.

Utilize the table below to trigger specific response values in the cards.status field. These values will only be returned when the updaterStatus = C.

ValueDescriptionPAN MCPAN VisaExp. DateNew PAN MCNew PAN VisaNew Exp. Date
ANew account number and/or new expiration date.5800635423709777437927243947001401/225721906766717446449276324737442401/26
BNew expiration date, same account number.5081503366885154473708563256368302/2202/26
CAccount is marked as closed.5454755154580582433893448473261003/22
DContact cardholder for updated information.5272269738523985488548890702801204/22
ENo updates were found but the account is valid.5778058140338937448159684565848005/22
FNo match for the data provided. Participating BIN/ issuer.5196017221940841410245248590760606/22
HNo match for the data provided. Non-participating BIN/issuer.5173742979877294411831864068772607/22
OCardholder opted out from service.5569671618316921451304262855702108/22
TToken not found / Invalid--09/22
UUnknown error5619196441834353417205693130709010/22