The Sandbox functions as a simulator of our production environment. You send your transactions to our sandbox environment the exact same way you'd send them to our certification or production systems. The sandbox validates the transaction format and approves it if it matches our requirements. The Sandbox server makes it easy to get started using our SDKs. There are no forms to fill out, no credentials required, and no special access needed!
For now the Sandbox only supports online transactions and needs at least version 8. It has no state and doesn't actually tie the transactions with one another, but it does simulate responses for tied transactions. To test your batch transactions you'll need access to our prelive environment.
The sandbox uses the request to calculate the response. This is done so that any response that our systems can generate can be retrieved through the sandbox as well. For sale and auth, the last 3 digits of the credit card will be used for the response reason code. Some sample numbers/responses include:
Desired Response | Credit Card Number |
---|---|
000: Approved | 4470330769941000 |
010: Partially Approved | 4658512425423010 |
100: Processing Network Unavailable | 4886883711815100 |
101: Issuer Unavailable | 4215176886320101 |
110: Insufficient Funds | 4488282659650110 |
Other numbers in the credit card can be used to simulate a variety of features, including AVS, CVV, Auto AU, etc. To identify the feature, characters 2-4 are used and depending on the feature, other characters will be used. The following shows how we count the characters from the card number and highlighted in red are the three feature identifiers.
A simple example is the following card number:
Characters: 01 234 567 89012 345 41 002 801 90123 000
The green characters specify the feature (in this case Vault). The red characters specify the token response code. The blue digits specify the response reason code, as explained above.
The following table shows all the features available and the meaning for the special characters. You can try with different values for each one of them and check what are the responses that you get back.
Example Card Number | Feature Identification | Feature | Other characters |
---|---|---|---|
4100117890123000 | 001 | Account Updater | Nothing needed, new randomly generated card number will be returned |
4100280140123000 | 002 | Vault/Tokenization | 5-7 - Token response code |
4100322311199000 | 003 | Enhanced Authorizations |
5 - Funding Source Type 6 - Reloadable 7 - Prepaid card type 8 - Affluence 9 - Issuer Country |
4200410886320101 | 004 | Address Verification (AVS) | 5-7 - AVS response code |
4100521234567000 | 005 | Card Security Code Validation | Card validation result 0 - 'M' 1 - 'N' 2 - 'P' 3 - 'S' 4 - 'U' |
4100811234567000 | 008 | Merchant Category Code Validation | MCC validation result is in message tag 0 - Approved 1 - Submitted MCC not allowed |
Desired Response | Credit Card Number |
---|---|
000: Approved | 12000 |
368: Invalid Check Number | 12368 |
900: Invalid Bank Routing Number | 12900 |
Desired Response | Transaction Amount |
---|---|
000: Approved | 000 |
010: Partially Approved | 010 |
100: Processing Network Unavailable | 100 |
101: Issuer Unavailable | 101 |
110: Insufficient Funds | 110 |
Desired Response | Transaction Amount |
---|---|
000: Approved | 000 |
010: Partially Approved | 010 |
100: Processing Network Unavailable | 100 |
101: Issuer Unavailable | 101 |
110: Insufficient Funds | 110 |
Response Attribute | Desired Response | Custom Attribute Number | Attribute Value |
---|---|---|---|
deviceReviewStatus | pass | customAttribute1 | pass |
deviceReputationScore | 42 | customAttribute2 | 42 |
triggeredRule | 1 to 11 | customAttribute3 | number of triggeredRule tags returned |
For standalone fraud checks the customAttribute3 tag is used to dictate the number of triggeredRule tags returned in the response. One triggeredRule tag will always be returned by default from the Sandbox and a maximum of 11 triggeredRule tags will be returned.
Desired Response | Transaction Amount |
---|---|
000: Approved | 000 |
010: Partially Approved | 010 |
100: Processing Network Unavailable | 100 |
101: Issuer Unavailable | 101 |
110: Insufficient Funds | 110 |
The URL to send your transactions to our Sandbox is the following:
NOTE: Requests made to the Sandbox environment require the connection be TLS 1.2
You can test with any tool that can generate HTTP requests, curl is one example. To start you can save the following in an xml file:
And then send the file to Sandbox using your HTTP tool.
You need to add the header Content-Type: text/xml
so that we know you're requesting an
XML.
The following would be the curl command to submit
the previous XML:
Please check that you don't have a proxy setup. If you do have a proxy setup, the command to submit the previous XML with Proxy:
Response Code | Response Message |
|
---|---|---|
000 | Approved | |
010 | Partially Approved | |
100 | Processing Network Unavailable | |
101 | Issuer Unavailable | |
102 | Re-submit Transaction | |
110 | Insufficient Funds | |
111 | Authorization amount has already been depleted | |
120 | Call Issuer | |
121 | Call AMEX | |
122 | Call Diners Club | |
123 | Call Discover | |
124 | Call JBS | |
125 | Call Visa/MasterCard | |
126 | Call Issuer - Update Cardholder Data | |
127 | Exceeds Approval Amount Limit | |
130 | Call Indicated Number | |
140 | Update Cardholder Data | |
191 | The merchant is not registered in the update program | |
301 | Invalid Account Number | |
302 | Account Number Does Not Match Payment Type | |
303 | Pick Up Card | |
304 | Lost/Stolen Card | |
305 | Expired Card | |
306 | Authorization has expired; no need to reverse | |
307 | Restricted Card | |
308 | Restricted Card - Chargeback | |
310 | Invalid Track Data | |
311 | Deposit already referenced by a chargeback | |
312 | Restricted Card - International Card Filtering Service | |
315 | Restricted Card - Auth Fraud Velocity Filtering Service | |
316 | Automatic Refund Already Issued | |
318 | Restricted Card - Auth Fraud Advice Filtering Service | |
319 | Restricted Card - Fraud AVS Filtering Service | |
320 | Invalid Expiration Date | |
321 | Invalid Merchant | |
322 | Invalid Transaction | |
323 | No such issuer | |
324 | Invalid Pin | |
325 | Transaction not allowed at terminal | |
326 | Exceeds number of PIN entries | |
327 | Cardholder transaction not permitted | |
328 | Cardholder requested that recurring or installment payment be stopped | |
330 | Invalid Payment Type | |
335 | This method of payment does not support authorization reversals | |
336 | Reversal amount does not match Authorization amount | |
340 | Invalid Amount | |
341 | Invalid Healthcare Amounts | |
346 | Invalid billing descriptor prefix | |
347 | Invalid billing descriptor | |
348 | Invalid Report Group | |
349 | Do Not Honor | |
350 | Generic Decline | |
351 | Decline - Request Positive ID | |
352 | Decline CVV2/CID Fail | |
353 | Merchant requested decline due to AVS result | |
354 | 3-D Secure transaction not supported by merchant | |
355 | Failed velocity check | |
356 | Invalid purchase level III the transaction contained bad or missing data | |
357 | Missing healthcareIIAS tag for an FSA transaction | |
358 | Restricted by Litle due to security code mismatch | |
360 | No transaction found with specified litleTxnId | |
361 | Authorization no longer available | |
362 | Transaction Not Voided - Already Settled | |
363 | Auto-void on refund | |
364 | Invalid Account Number - original or NOC updated eCheck account required | |
365 | Total credit amount exceeds capture amount | |
366 | Exceed the threshold for sending redeposits | |
367 | Deposit has not been returned for insufficient/non-sufficient funds | |
368 | Invalid check number | |
369 | Redeposit against invalid transaction type | |
370 | Internal System Error - Call Litle | |
372 | Soft Decline - Auto Recycling In pProgress | |
373 | Hard Decline - Auto Recycling Complete | |
401 | Invalid E-mail | |
500 | The account number was changed | |
501 | The account was closed | |
502 | The expiration date was changed | |
503 | The issuing bank does not participate in the update program | |
504 | Contact the cardholder for updated information | |
505 | No match found | |
506 | No chagnes found | |
601 | Soft Decline - Primary Funding Source Failed | |
602 | Soft Decline - Buyer has alternate funding source | |
610 | Hard Decline - Invalid Billing Agreement Id | |
611 | Hard Decline - Primary Funding Source Failed | |
612 | Hard Decline - Issue with Paypal Account | |
613 | Hard Decline - PayPal authorization ID missing | |
614 | Hard Decline - confirmed email address is not available | |
615 | Hard Decline - PayPal buyer account declined | |
616 | Hard Decline - PayPal buyer account restricted | |
617 | Hard Decline - PayPal order has been voided expired or completed | |
618 | Hard Decline - issue with PayPal refund | |
619 | Hard Decline - PayPal credential issue | |
620 | Hard Decline - PayPal authorization voided or expired | |
621 | Hard Decline - required PayPal parameter missing | |
622 | Hard Decline - PayPal transaction ID or auth ID is invalid | |
623 | Hard Decline - Exceeded maximum number of PayPal authorization attempts | |
624 | Hard Decline - Transaction amount exceeds merchants PayPal account limit | |
625 | Hard Decline - PayPal funding sources unavailable | |
626 | Hard Decline - issue with PayPal primary funding source | |
627 | Hard Decline - PayPal profile does not allow this transaction type | |
628 | Internal System Error with PayPal - Contact Litle | |
629 | Hard Decline - Contact PayPal consumer for another payment method | |
701 | Under 18 years old | |
702 | Bill to outside USA | |
703 | Bill to address is not equal to ship to address | |
704 | Declined foreign currency must be USD | |
705 | On negative file | |
706 | Blocked agreement | |
707 | Insufficient buying power | |
708 | Invalid Data | |
709 | Invalid Data - data elements missing | |
710 | Invalid Data - data format error | |
711 | Invalid Data - Invalid T&C version | |
712 | Duplicate transaction | |
713 | Verify billing address | |
714 | Invalid Account | |
716 | Invalid Auth | |
717 | Authorization already exists for the order | |
801 | Account number was successfully registered | |
802 | Account number was previously registered | |
803 | Valid Token | |
805 | Card validation number updated | |
820 | Credit card number was invalid | |
821 | Merchant is not authorized for tokens | |
822 | Token was not found | |
850 | Tax Billing only allowed for MCC 9311 | |
877 | Invalid Pay Page Registration Id | |
878 | Expired Pay Page Registration Id | |
879 | Merchant is not authorized for Pay Page | |
898 | Generic token registration error | |
899 | Generic token use error | |
900 | Invalid Bank Routing Number | |
940 | This Funding Instruction results in a negative account balance | |
941 | Account balance information unavailable at this time | |
950 | Decline - Negative Information on File | |
951 | Absolute Decline | |
952 | The Merchant Profile dos not allow the requested operation | |
953 | The account cannot accept ACH transactions | |
954 | The account cannot accept ACH transactions or site drafts | |
955 | Amount greater than limit specified in the Merchant Profile | |
956 | Merchant is not authorized to perform eCheck Verification transactions | |
957 | First Name and Last Name required for eCheck Verifications | |
958 | Company Name required for corporate account for eCheck Verifications | |
959 | Phone number required for eCheck Verifications |
We have also provided a Docker image of Sandbox for developers that can be run locally for testing
*This is currently only available on devices that support Docker Desktop, Docker CE or Docker Toolbox.
1. Install Docker CE (Ubuntu) or Docker Desktop (Mac).
2. Download the Sandbox Docker Image from DockerHub from the link or using the command:
docker pull vantivsdk/sandbox
3. Run it using: docker run -p 8888:8888 sandbox
Now the Sandbox is hosted at http://localhost:8888/communicator/online on your machine.
4. Replace/Add links to point to the local url instead of the old one in your SDK.