Response and Error Codes

HTTP status code summary (not limited to):

HIPS uses conventional HTTP response codes to indicate the success or failure of an API request. In general, codes in the 2xx range indicate success, codes in the 4xx range indicate an error that failed given the information provided (e.g., a required parameter was omitted, a charge failed, etc.), and codes in the 5xx range indicate an error with HIPS’s servers (these are rare).

Not all errors map cleanly onto HTTP response codes, however. When a request is valid but does not complete successfully (e.g., a card is declined), we return a 402 error code. To understand why a card is declined, refer to the list of codes in the documentation.

HTTP Code

Successful

Meaning

200

Yes

Your request was successful

201

Yes

Created - Your request was created

202

Yes

Accepted - Your request was accepted

400

No

Bad Request – Your request has invalid data. Check your parameters.

401

No

Unauthorized – Your API key is wrong, see Authentication

402

No

Payment Required - Card declined or no payments are made to an order

403

No

Forbidden – The requested data is restricted for your api key.

404

No

Not Found – The requested data is not found.

406

No

Not Acceptable – You requested a format that isn’t json

429

No

Too Many Requests – Your code is pounding our servers, to protect us from evil loops we have a request limit. Should you discover that you need to raise your limit, please contact support.

5XX

No

Something went wrong on HIPS’s end. (These are rare.)

7XX

¯\ (ツ)/¯

Sometimes, when you do something really unexpectedly silly, you might end up with a 7XX error. In that case we refer to 7XX-rfc :)

Error types

Error Type

Meaning

api_connection_error

Failure to connect to HIPS’s API.

api_error

API errors cover any other type of problem (e.g., a temporary problem with HIPS’s servers) and are extremely uncommon.

authentication_error

Failure to properly authenticate yourself in the request.

card_error

Card errors are the most common type of error you should expect to handle. They result when the user enters a card that can’t be charged for some reason.

invalid_request

Invalid request errors arise when your request has invalid parameters.

rate_limit

Too many requests hit the API too quickly.

restricted

Your api key or account is restricted, contact support.

Misc error codes

Error Type

Meaning

card_not_supported

The payment source does not support this type of purchase

currency_not_supported

The payment source does not support the specified currency.

do_not_honor

The payment has been declined for an unknown reason

fraudulent

The payment has been declined as it suspects to be fraudulent

insufficient_funds

The payment source has insufficient funds to complete the purchase

customer_not_accepted

HIPS rejects the customer

customer_blacklisted

HIPS rejects the customer

unpaid_bills

HIPS rejects the customer

customer_not_18

Customer is not 18 (required by law)

no_such_person

Rejected - No such person found

sca_step_up_required

SCA Requirements Under the PSD2:
Issuers wants to step up authentication (PIN verification required). If possible re-submit the transaction with PIN, otherwise decline. Please include original_transaction_id.

sca_second_tap_required

SCA Requirements Under the PSD2:
Issuers requests a second tap of the card using a zero CVM limit. Please include original_transaction_id.

Decline reason codes

Error Type

Meaning

not_declined

This is set if the transaction is approved

insufficient_funds

Insufficient funds or credit limit exceeded

declined

Authorization declined by card issuer

no_3ds_authorization

SCA / 3D Secure required, but is aborted or not performed.

potential_fraud

Anti fraud rejection

technical_error

Technical error

merchant_setup

Something is not correct with the merchant setup. Normally the merchant is missing bank account.

timeout

Timeout

card_lost

Card lost, retain card if possible

abandoned

Authorization expired (no capture after 7 days))

order_overpayment

Payment amount exceeds order amount

invalid_amount

Amount format error

invalid_card

Card format error

invalid_test_card

Test card is required, please use a test card.

card_expired

Card is expired

credit_card_restricted

Credit Card is blocked by Merchant, please use a debit card.

restricted_card

Card type is blocked (normally country or BIN block)

invalid_cvv

Invalid CVV2

non_eu_card_restricted

Non EU cards are blocked by Merchant

test_mode_required

Test mode is required

merchant_balance_too_low

Merchant balance is to low to perform a refund. Please try again when merchant balance is higher.

shipping_validation

Shipping validation error

communication_error

Communication error

unexpected_error

Unexpected error

incorrect_pin

Incorrect PIN

duplicated

Duplicated transaction

invalid_transaction

Invalid Transaction

merchant_not_on_file

Merchant setup error - contact support

no_referencing_transaction

The transaction type must be referencing a parent transaction.

not_permitted_to_terminal

The terminal is not allowing the transaction type

pin_entry_exceeded

PIN tries exceeded

exceeds_limits

Limits exceeded

rejected_by_user

Rejected by User

recurring_contract_inactive

The recurring contract is inactive

recurring_contract_finalized

The recurring contract is done

recurring_source_invalid

The source for the recurring contract is invalid

recurring_retries_exceeded

Recurring payment retries has exceeded limits, therefore the recurring contract is aborted

recurring_expired

The source (normally card) for the recurring contract has expired.