In order to perform test payments, simply use the following credit card numbers. That way nothing can go wrong. Moreover, the system won’t have any difficulty accepting this format. When testing 3-D Secure payments you will get an extra password page. Please read the the 3-D Secure frame carefully and enter the displayed or any custom password in the hints field.
Visa | 4111111111111111 |
MasterCard | 5500000000000004 |
AmEx | 340000000000009 |
JCB | 3530111333300000 |
Maestro UK | 6759000000000000 |
Carte Bleue | 4973010000000004 |
Diners Club | 30000000000004 |
Discover | 6011111111111117 |
Please be sure to always enter a future date for the credit card date, or an error will be displayed when using the credit card numbers in live mode. |
Visa | 4012888888881881 |
MasterCard | 5169147129584558 |
Please be sure to always enter a future date for the credit card date, or an error will be displayed when using the credit card numbers in live mode. If necessary enter the password displayed in the 3-D Secure window. |
You cannot trigger a failing refund.
Simply use your develop extension (Chrome Bug, Firebug, etc.) for customer debugging.
The following error codes can be returned for specific errors. Please implement an appropriate error handling, so you can deal with these errors.
internal_server_error
: Communication with PSP failedinvalid_public_key
: Invalid Public Keyunknown_error
: Unknown Error3ds_cancelled
: Password Entry of 3-D Secure password was cancelled by the userfield_invalid_card_number
: Missing or invalid creditcard numberfield_invalid_card_exp_year
: Missing or invalid Expiry Yearfield_invalid_card_exp_month
: Missing or invalid Expiry Monthfield_invalid_card_exp
: Card is no longer valid or not anymorefield_invalid_card_cvc
: Invalid Checking Number
field_invalid_card_holder
: Invalid Cardholder
field_invalid_amount_int
: Invalid or missing amount for 3-D Securefield_invalid_amount
: Invalid or missing amount for 3-D Secure deprecated, see blog postfield_invalid_currency
: Invalid or missing currency code for 3-D Securefield_invalid_account_number
: Missing or invalid account numberfield_invalid_account_holder
: Missing or invalid account holderfield_invalid_bank_code
: Missing or invalid bank codeThe following error codes are returned by us to live transactions. The tests in the test mode are possible with a special credit card, in which you will get back a different error depending on the input of a specific expiration date.
Please use the following credit card number: 5105105105105100 the CVV is any 3-digit number you can choose on your own. It is important that you use only the following expiration dates of the credit card to get back the complete entry error code.
Expirydate | Errorcode |
Responsetext Description |
---|---|---|
01/2020 | 50501 |
RESPONSE_BACKEND_TIMEOUT_ACQUIRER The interface to the acquirer does not respond, so we get no response if the transaction was completed successfully |
02/2020 | 50001 |
RESPONSE_BACKEND_BLACKLISTED The credit card is on a blacklist |
03/2020 | 50201 |
RESPONSE_BACKEND_ACCOUNT_BLACKLISTED This customer account is on a black list |
04/2020 | 50101 |
RESPONSE_DATA_CARD_LIMIT_EXCEEDED The credit card limit was exceeded with this transaction, or has already exceeded |
05/2020 | 50102 |
RESPONSE_BACKEND_CARD_DENIED This card was rejected without reasons |
06/2020 | 50103 |
RESPONSE_BACKEND_CARD_MANIPULATION This card was declined due to card manipulations |
07/2020 | 40105 |
RESPONSE_DATA_CARD_EXPIRY_DATE The credit card expiration date is incorrect |
08/2020 | 40101 |
RESPONSE_DATA_CARD_CVV The CVV is incorrect |
09/2020 | 40100 |
RESPONSE_DATA_CARD There are problems with the credit card. Further details can not be passed |
10/2020 | 40104 |
RESPONSE_DATA_CARD_INVALID The credit card is invalid |
11/2020 | 50000 |
RESPONSE_BACKEND General problem with backend |
You can find the complete list of error codes in the API reference. The CVC and date tests are to be disregarded as long as they have valid values (see example above).
With webhooks we give you the possibility to react automatically to certain events which happen within our system. A webhook can be set in live and testmode and is basically a URL where we send an HTTP POST request to every time one of the events attached to that webhook is triggered. Alternatively you can define an email address where we send the event’s information to. You can manage your webhooks via the API as explained at link to API Reference Weebhooks or within the settings in your merchant cockpit.
Right now you can test subscriptions in testmode only with live conditions. This means that you have to wait the set timeuntil the subscription time has been processed. Right now we cannot manually trigger the subscription.
When integrating PAYMILL, you should be sure to check the following items before switching to live mode: