Skip to main content
Use this catalog to interpret an Open API v3 response, identify the cause of a failure, and decide what to do next. Start with the outer result code, then check the rules for the endpoint you called.
HTTP 200 does not guarantee success. Normal API results, including errors, use HTTP 200. The outer JSON code is authoritative: 200 means success; every other value means failure.

Find a result code

Browse codes by category and see the recommended next check.

Decide whether to retry

Distinguish a correctable request from an uncertain operation outcome.

Read the response

Normal processing returns a JSON envelope. These examples illustrate the structure; error message wording can vary.
A legacy error object nested inside successful data does not change the outer result. For transaction state, read the endpoint-specific status fields separately.

HTTP status and business result

A JSON business code such as 401, 500, or 504 is not the HTTP status. For example, outer code: 504 describes unavailable compliance verification and is delivered in an HTTP 200 envelope.

Business codes

All codes in this section use HTTP 200 when returned in the API envelope. The meanings are part of the documented contract. The next-check column is troubleshooting guidance, not a guarantee that a retry will succeed. Endpoint-specific behavior takes precedence. Use your browser’s Find command (⌘F on Mac or Ctrl+F on Windows) to locate an exact code. All code tables remain visible on the page.

Success

Request validation

Authentication and permissions

Accounts and verification

PIX keys and QR codes

Payments and refunds

Rate limits and service availability

See Integration Overview for signing and account-targeting requirements. Only the documented business codes form the client contract. Do not branch on internal enum names or raw provider diagnostics.

Retry guidance

Before retrying, identify whether you need to correct the request, resolve an account condition, or establish the outcome of the original operation.
1

Correct the cause first

For invalid fields, signatures, permissions, account state, or PIX key state, address the reported condition before resubmitting. A new signature does not fix an invalid amount or missing permission.
2

Check the original operation

After a timeout, connection loss, duplicate result, or payment-processing failure, check the existing operation before sending another payment. Use Check Transfer Status when you have the required identifiers. If the outcome remains unclear, contact your integration representative.Several transfer endpoints document no endpoint-specific idempotency key. Do not assume that repeating a request is safe merely because the original response was missing or unsuccessful.
3

Preserve the operation identity where documented

For compliance code 504, retry with the same request_id. Create Master Account requires stable request and reference identifiers for technical retries. Update Master Account distinguishes a technical retry from a genuinely new compliance round.Follow the identifier rules of the specific endpoint; do not add a universal idempotency header or field that the endpoint does not document.
4

Generate fresh signing metadata

For every retry, generate a new timestamp and nonce, recalculate the body hash, and sign the exact request again. Keeping a business request_id stable does not mean reusing the original signature or nonce.
For 4004029, reduce request frequency. For service failures, confirm whether the operation can be retried before doing so. As a client-design recommendation, use bounded retries with increasing delays and jitter for operations you have established are safe to repeat. Stop after a defined limit and escalate persistent failures.This catalog does not define a universal retry interval, attempt count, or guaranteed recovery time. A service-error code alone does not establish that a payment was never executed.

Implement consistent client handling

  1. Record the HTTP status and inspect the response type.
  2. Parse JSON when applicable and validate that the expected envelope is present.
  3. Treat outer code === 200 as success; handle every other code as a failure.
  4. Select a recovery action by code and endpoint context, never by message text.
  5. Handle plain text, malformed responses, and network failures separately.
  6. For an unrecognized code, retain the diagnostic context and escalate instead of assuming success or repeatedly retrying.

Get help with a failure

If the cause is unclear or the problem persists, contact your Pagsmile integration representative. Include enough context to locate the request:
  • The environment and endpoint path.
  • The request time and timezone, HTTP status, and outer business code.
  • The returned message and time value, if available.
  • Relevant request, reference, or transaction identifiers, when the endpoint provides them.
  • A description of the expected result, actual result, and any retries already attempted.
  • A sanitized request and response example when needed to reproduce the issue.
Remove API secrets, passwords, one-time credentials, and unnecessary customer information before sharing logs or examples.

Review request signing

Check canonicalization, headers, timestamps, and account targeting.

Check endpoint behavior

Find validation rules, status fields, and operation-specific retry constraints.