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 3-D Secure frame carefully and enter the displayed or any custom password in the hints field.
Without 3-D Secure
With 3-D Secure
For creating test payments use following testdata.
|Account holder||Account number||Bank code|
You cannot trigger a failing refund.
Simply use your develop extension (Chrome Bug, Firebug, etc.) for customer debugging.
Only the here listed credit card information / bank details are allowed in test mode. Usage of any other data will result this error:
Real creditcard/bank account data prohibited in testmode: Please use only provided testdata.
The following error codes can be returned for specific errors. Please implement an appropriate error handling, so you can deal with these errors.
The generic error codes, regardless of the means of payment will be returned:
internal_server_error: Communication with PSP failed
invalid_public_key: Invalid Public Key
unknown_error: Unknown Error
The following errors can be returned in the case of credit card payment:
3ds_cancelled: Password Entry of 3-D Secure password was cancelled by the user
field_invalid_card_number: Missing or invalid creditcard number
field_invalid_card_exp_year: Missing or invalid Expiry Year
field_invalid_card_exp_month: Missing or invalid Expiry Month
field_invalid_card_exp: Card is no longer valid or not anymore
field_invalid_card_cvc: Invalid Checking Number
field_invalid_card_holder: Invalid Cardholder
field_invalid_amount_int: Invalid or missing amount for 3-D Secure
field_invalid_amount: Invalid or missing amount for 3-D Secure deprecated, see blog post
field_invalid_currency: Invalid or missing currency code for 3-D Secure
The following errors can be returned in the case of ELV-payments:
field_invalid_account_number: Missing or invalid account number
field_invalid_account_holder: Missing or invalid account holder
field_invalid_bank_code: Missing or invalid bank code
field_invalid_iban: Missing or invalid IBAN
field_invalid_bic: Missing or invalid BIC
The 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.
|Expiry date||Error code||Response text description|
The interface to the acquirer does not respond, so we get no response if the transaction was completed successfully
The credit card is on a blacklist
This customer account is on a black list
The credit card limit was exceeded with this transaction, or has already exceeded
This card was rejected without reasons
This card was declined due to card manipulations
The credit card expiration date is incorrect
The CVV is incorrect
There are problems with the credit card. Further details can not be passed
The credit card is invalid
The credit card might be manipulated or stolen
There is a general problem with the payment data
The credit card expired or is not yet valid
Credit card brand is required
Mismatch with the bank account data combination
There is a technical error with 3-D Secure
The user authentication failed
There is a risk management transaction timeout
Currency or amount mismatch
The amount is too low or zero
The usage field is too long
The currency is not configured for the customer
The transaction is declined by the authorization system (card restricted by bank)
The configuration data is invalid
This IP Address is on a black list
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 in our API Reference or within the settings in your Merchant Centre.
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: