doc_url on a live error links straight to its entry here.
For the envelope these arrive in, see Errors.
invalid_request_error
The request is malformed, or names something that does not exist. Fix the request; retrying it unchanged will fail the same way.instrument_not_found · 404
instrument_not_found · 404
instrument_id returned by identify.Your agent says. “That card could not be processed. Would you like to try a different card?”Then. offer_different_cardinvalid_credentials · 400
invalid_credentials · 400
credentials as a JSON object matching the processor’s shape.Your agent says. Nothing. This is a developer error, so agent_message, display_message and agent_action are all null.invalid_environment · 400
invalid_environment · 400
environment must be test or live.Resolution. Send one of the two supported values.Your agent says. Nothing. This is a developer error, so agent_message, display_message and agent_action are all null.invalid_events · 400
invalid_events · 400
events contains an unsupported event type.Resolution. Subscribe only to documented event types, or omit to receive all.Your agent says. Nothing. This is a developer error, so agent_message, display_message and agent_action are all null.invalid_json · 400
invalid_json · 400
agent_message, display_message and agent_action are all null.invalid_payment_policy · 400
invalid_payment_policy · 400
payment_policy is not one of the supported values.Resolution. Use required, above_amount, or optional.Your agent says. Nothing. This is a developer error, so agent_message, display_message and agent_action are all null.invalid_payment_policy_amount_cents · 400
invalid_payment_policy_amount_cents · 400
payment_policy is above_amount but payment_policy_amount_cents is missing or not a positive integer.Resolution. Send a positive integer threshold with the above_amount policy.Your agent says. Nothing. This is a developer error, so agent_message, display_message and agent_action are all null.invalid_processor · 400
invalid_processor · 400
processor is not one of the supported processors.Resolution. Use a supported processor value.Your agent says. Nothing. This is a developer error, so agent_message, display_message and agent_action are all null.invalid_state_key · 400
invalid_state_key · 400
agent_message, display_message and agent_action are all null.invalid_ttl · 400
invalid_ttl · 400
agent_message, display_message and agent_action are all null.invalid_url · 400
invalid_url · 400
agent_message, display_message and agent_action are all null.invalid_value · 400
invalid_value · 400
param attribute names the offending field.Your agent says. Nothing. This is a developer error, so agent_message, display_message and agent_action are all null.invalid_vault · 400
invalid_vault · 400
vault is not one of the supported vault kinds.Resolution. Use a supported vault value, or omit it.Your agent says. Nothing. This is a developer error, so agent_message, display_message and agent_action are all null.key_not_found · 404
key_not_found · 404
agent_message, display_message and agent_action are all null.merchant_not_connected · 422
merchant_not_connected · 422
merchant.connected webhook.Your agent says. Nothing. This is a developer error, so agent_message, display_message and agent_action are all null.merchant_not_found · 404
merchant_not_found · 404
agent_message, display_message and agent_action are all null.missing_checkout_session_id · 400
missing_checkout_session_id · 400
checkout_session_id is required for this call.Resolution. Pass the id returned by create_checkout.Your agent says. Nothing. This is a developer error, so agent_message, display_message and agent_action are all null.missing_instrument_fields · 400
missing_instrument_fields · 400
param attribute names the first missing field.Your agent says. Nothing. This is a developer error, so agent_message, display_message and agent_action are all null.missing_required_fields · 400
missing_required_fields · 400
param attribute names the first missing field.Your agent says. Nothing. This is a developer error, so agent_message, display_message and agent_action are all null.needs_enrollment · 422
needs_enrollment · 422
send_linknot_found · 404
not_found · 404
agent_message, display_message and agent_action are all null.order_lookup_unsupported · 422
order_lookup_unsupported · 422
amount_cents instead of order_id for this processor.Your agent says. Nothing. This is a developer error, so agent_message, display_message and agent_action are all null.processor_mismatch · 409
processor_mismatch · 409
send_linksession_expired · 410
session_expired · 410
agent_message, display_message and agent_action are all null.session_missing_consumer · 422
session_missing_consumer · 422
agent_message, display_message and agent_action are all null.session_not_found · 404
session_not_found · 404
checkout_session_id.Your agent says. Nothing. This is a developer error, so agent_message, display_message and agent_action are all null.authentication_error
The API key is missing, malformed, or revoked. Check theAuthorization header.
invalid_key · 401
invalid_key · 401
Authorization: Bearer rk_test_… (or rk_live_…) and confirm the key is not revoked.Your agent says. Nothing. This is a developer error, so agent_message, display_message and agent_action are all null.vendor_not_provisioned · 422
vendor_not_provisioned · 422
agent_message, display_message and agent_action are all null.permission_error
The key is valid but is not allowed to act on this resource.card_error
The card was refused. The most common error you will handle, and the only one the caller can act on: carriesdecline_code when the issuer gave a reason, plus the sentence your agent can say.
card_declined · 402
card_declined · 402
decline_code carries the specific reason where the issuer gave one.Resolution. Ask for a different card. Sensitive decline reasons are deliberately not reflected in agent_message.Your agent says. “That card could not be processed. Would you like to try a different card?”Then. offer_different_cardcard_save_failed · 402
card_save_failed · 402
processor_code carries the processor’s own reason.Your agent says. “That card could not be processed. Would you like to try a different card?”Then. offer_different_cardprocessor_error
The merchant’s payment processor could not be reached, or rejected the request for reasons unrelated to the card. Carriesprocessor_code. Nothing to ask the caller for.
merchant_credentials_invalid · 422
merchant_credentials_invalid · 422
order_lookup_failed · 424
order_lookup_failed · 424
idempotency_error
An idempotency key was reused with different parameters.charge_details_mismatch · 409
charge_details_mismatch · 409
agent_message, display_message and agent_action are all null.rate_limit_error
Too many requests. Back off and retry.rate_limit · 429
rate_limit · 429
Retry-After.Your agent says. “I’m having trouble taking payment right now. Let me get someone to help you.”Safe to retry.api_error
A fault on Ringup’s side. Safe to retry.internal_error · 500
internal_error · 500
not_configured · 503
not_configured · 503
session_create_failed · 500
session_create_failed · 500
Decline codes
On a decline,decline_code carries the reason in Ringup’s own vocabulary, identical no matter
which processor the merchant runs. processor_code carries that processor’s raw value,
unmodified, for tracing a specific decline back to its source.
Advice codes
Every error carriesadvice_code, our guidance on what to do programmatically. It is separate
from agent_action, which drives the conversation: a card can be “do not retry this card” while
the agent still offers a different one.