Erreurs
Une erreur renvoie un code HTTP et un objet error :
{
"error": {
"type": "invalid_request",
"code": "expires_at_required",
"message": "expires_at est obligatoire pour un paiement à la livraison.",
"param": "expires_at"
}
}
Programmez sur code, stable ; message est destiné au développeur et peut changer. param nomme
le champ en cause.
| HTTP | type | code |
|---|---|---|
| 400 | invalid_request | amount_invalid, currency_invalid, expires_at_required, expires_at_invalid, url_invalid, metadata_invalid, alias_invalid, parameter_invalid, balance_insufficient |
| 401 | authentication | invalid_api_key |
| 403 | permission | account_not_activated (clé de production avant l'activation), payout_account_missing |
| 404 | not_found | payment_not_found, payout_not_found |
| 409 | conflict | idempotency_key_reused, idempotency_key_in_use, payment_already_final |
| 422 | rail_error | alias_unknown, participant_unavailable |
| 429 | rate_limit | rate_limited, too_many_attempts, alias_rate_limited |
| 5xx | api_error | internal_error |
Réessayer
- Réessayez après une coupure réseau, une erreur
5xx,rate_limitedouidempotency_key_in_use, avec la même clé d'idempotence et un délai croissant. Respectez l'en-têteRetry-Afterd'une réponse429. - Ne réessayez pas les autres erreurs telles quelles : corrigez la requête.
Le SDK PHP applique ces règles pour vous.
Limites
- 25 requêtes par seconde et par clé (
rate_limited). - 5 tentatives par paiement (
too_many_attempts). - En production, 3 demandes vers un même alias en 10 minutes (
alias_rate_limited).