Requires the merchant.transaction.refund permission.
Refunds a transaction for a merchant that belongs to the authenticated organization.
Important Notes:
A refund the transaction’s state refuses is answered 400 with code REFUND_NOT_ALLOWED and the rule in details.reason: PAYMENT_METHOD_NOT_SUPPORTED (BOLEPIX, or a payment method the transaction’s provider cannot refund), REFUND_IN_PROGRESS, ALREADY_REFUNDED (fully refunded, or a card transaction with a completed refund: card refunds are accepted once per transaction), TRANSACTION_NOT_APPROVED (only APPROVED or PARTIALLY_REFUNDED transactions with an approved amount can be refunded), PAYMENT_DATA_MISSING (no Pix end-to-end id, or no acquirer id on a card payment), PROVIDER_UNAVAILABLE, SETTLEMENT_IN_PROGRESS and REFUND_WINDOW_EXPIRED (a Pix approved more than 90 days ago). These are the values of the transaction’s refundability.blocked_reason, so reading the transaction first tells whether a refund will be accepted. They are checked before the amount.
An amount the transaction refuses is answered 400 with code VALIDATION_ERROR on field amount: more than the approved amount minus prior refunds that are not FAILED or CANCELLED, a partial refund on a provider that only accepts full cancellations, or a partial card refund on the day of the sale.
refund_amount is optional. When omitted, it resolves to the transaction’s original approved amount. Because the resolved amount must still satisfy the exceeds-approved guard, omission only succeeds on a transaction with no prior COMPLETED, PENDING, PROCESSING, or TIMEOUT refunds; FAILED and CANCELLED priors are ignored. To refund only the remainder of a partially refunded transaction, send refund_amount explicitly.
Partial refunds are supported for providers that allow them (transaction status becomes PARTIALLY_REFUNDED); providers that only accept full cancellations (e.g. Cappta) reject partial refund requests with a 400 — omit refund_amount or submit the full approved amount instead.
Card refunds on providers that cannot refund post-settlement (e.g. Cappta) are refused with REFUND_NOT_ALLOWED and reason SETTLEMENT_IN_PROGRESS once the pre-settlement cancellation window has closed. The cutoff depends on payment method and anticipation: DEBIT_CARD settles on the next business day after approval; anticipated CREDIT_CARD settles at approval plus the transaction’s anticipation_days (D+N), rolled to the next business day when that day is not one and never later than the standard schedule (a transaction created before anticipation_days existed, whose value the backfill has not stored yet, keeps the next-business-day window until it does); non-anticipated CREDIT_CARD settles ~29 calendar days later (then the next business day), so its refund window stays open much longer. The window closes at 23:59 (America/Sao_Paulo) the night before that settlement day, and the transaction’s refundability.refundable_until carries that instant while the window is open (it is null once it has closed). Refunds across a weekend/holiday remain allowed until that boundary.
Full refunds change status to REFUNDED
Transaction may return with PENDING_REFUND status if the provider call fails for a transient reason (e.g., timeout, insufficient balance). The refund is retried by background jobs until it completes, is cancelled, or its refund window closes (the card pre-settlement window, the Pix 90-day return window); then it is marked FAILED unless the provider already took it, with the reason in last_attempt_error_message.
Whether this transaction was automatically anticipated at creation time. Set to true when the affiliation's anticipation_type is AUTOMATIC; false otherwise.
Automatic-anticipation horizon in days (D+N), copied from the affiliation at creation and immutable after. 0 when automatic_anticipation is false. Available to fee and cost policy rule conditions as transaction.anticipation_days. A transaction created before this field existed reports the affiliation's current horizon when automatic_anticipation is true and 0 otherwise, until a one-time backfill stores its value; its card refund window is the next-business-day one until then.
Where the transaction originated. INTERNAL: created through the Rinne API. EXTERNAL: originated outside the platform and registered from a provider event, such as an inbound Pix sent directly to a Pix key or a POS (card machine) transaction.
Document number of the company that owns this transaction (the receiver), without formatting: CPF (11 digits) or CNPJ (14 characters, alphanumeric CNPJ supported).
The account holder who actually paid a PIX transaction, as reported by the payment provider when the payment is received. May differ from consumer, which is what the integrator sent at creation. null until the payment is received, and for every other payment method. A PIX received on a Pix key without a charge carries it from creation.
ID of the 3DS session linked to this transaction, if any.
Set when the transaction was created with a 3DS session
(session-first flow) or authenticated via the
/authenticate endpoint (transaction-first flow).
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Rinne API","description":"Complete payment infrastructure platform for managing merchants, processing transactions, and handling banking operations through a unified API.","colors":{"primary":"#5B68EB","light":"#7B89FF","dark":"#4A56D9"},"logo":{"light":"https://mintcdn.com/rinne/HqyHJ9XOsH5pEihc/logo/light.png?fit=max\u0026auto=format\u0026n=HqyHJ9XOsH5pEihc\u0026q=85\u0026s=be4ff200f82e7246a248176e8984208e","dark":"https://mintcdn.com/rinne/HqyHJ9XOsH5pEihc/logo/dark.png?fit=max\u0026auto=format\u0026n=HqyHJ9XOsH5pEihc\u0026q=85\u0026s=9b2f4edc9954aa480599989b1d02a14c"},"favicon":"https://mintcdn.com/rinne/4tTXHIJ8SxCdkDlA/favicon.ico?fit=max\u0026auto=format\u0026n=4tTXHIJ8SxCdkDlA\u0026q=85\u0026s=44d026fd81d41117a9776dd8721e24dd","navbar":{"links":[{"href":"mailto:[email protected]","label":"Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://sandbox.rinne.com.br"}},"footer":{"socials":{}},"seo":{"metatags":{"og:title":"Rinne API Documentation","og:description":"Complete payment infrastructure platform for managing merchants, processing transactions, and handling banking operations through a unified API.","og:site_name":"Rinne API","twitter:title":"Rinne API Documentation","twitter:description":"Complete payment infrastructure platform for managing merchants, processing transactions, and handling banking operations through a unified API.","twitter:card":"summary_large_image"}},"contextual":{"options":["copy","cursor","mcp","vscode","view","chatgpt","claude","perplexity"],"display":"header"},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"rinne","hasAudioNarration":false,"actualSubdomain":"rinne","customDomains":["docs.rinne.com.br"],"gitSource":{"type":"github","owner":"rinnebr","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af21fcc2704b36911f6e42e","clientVersion":"0.0.4102","searchFilterCounts":[{"language":"default","tag":"API Reference","count":194},{"language":"default","tag":"Merchants","count":72},{"language":"default","tag":"Organization Management","count":63},{"language":"default","tag":"Webhooks","count":26},{"language":"default","tag":"Documentation","count":25},{"language":"default","tag":"Events","count":25},{"language":"default","tag":"User Management","count":24},{"language":"default","tag":"Cashouts","count":14},{"language":"default","tag":"Company Cashouts","count":14},{"language":"default","tag":"TapOnPhone","count":13}]},"assistantConfig":{"enableAskAiButton":true,"enableStarterQuestions":false,"enableAskAiSearchBar":false},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"styles/tap-on-phone-simulator.css","content":"@font-face{font-family:\"Sora\";src:url(\"/fonts/sora-variable.woff2\") format(\"woff2\"),\n url(\"/fonts/sora-variable.ttf\") format(\"truetype\");font-weight:100 800;font-style:normal;font-display:swap}@font-face{font-family:\"Space Grotesk\";src:url(\"/fonts/space-grotesk-variable.woff2\") format(\"woff2\"),\n url(\"/fonts/space-grotesk-variable.ttf\") format(\"truetype\");font-weight:300 700;font-style:normal;font-display:swap}.rtp{--rtp-bg: #f6f5fa;--rtp-panel: #ffffff;--rtp-panel-2: #f1f0f6;--rtp-line: #e3e1ec;--rtp-ink: #1b1a22;--rtp-muted: #6b6880;--rtp-accent: #5b68eb;--rtp-accent-ink: #ffffff;--rtp-accent-soft: rgba(91, 104, 235, 0.12);--rtp-ok: #16a75e;--rtp-warn: #b45309;--rtp-code-bg: #15141b;--rtp-code-ink: #e9e7f3;--rtp-code-muted: #8f8ca6;--rtp-code-k: #c792ea;--rtp-code-s: #c3e88d;--rtp-code-n: #f78c6c;--rtp-code-t: #82aaff;--rtp-halo: rgba(122, 76, 255, 0.22);--rtp-sticky-top: 104px;--rtp-radius: 18px;position:relative;color:var(--rtp-ink);font-family:ui-sans-serif, system-ui, -apple-system, \"Segoe UI\", Roboto, sans-serif;font-size:14px;line-height:1.45;container-type:inline-size;container-name:rtp;margin:1.5rem 0 2rem}html.dark .rtp,:root[data-theme=\"dark\"] .rtp{--rtp-bg: #15141b;--rtp-panel: #1e1d26;--rtp-panel-2: #26252f;--rtp-line: #2e2c3a;--rtp-ink: #eceaf4;--rtp-muted: #9b98ae;--rtp-accent: #7b89ff;--rtp-accent-ink: #0f0e14;--rtp-accent-soft: rgba(123, 137, 255, 0.16);--rtp-code-bg: #0f0e14;--rtp-halo: rgba(123, 137, 255, 0.28)}.rtp *,.rtp *::before,.rtp *::after{box-sizing:border-box}:where(.rtp) button,:where(.rtp) input,:where(.rtp) select{font:inherit;color:inherit}.rtp button{-webkit-tap-highlight-color:transparent}.rtp button:focus-visible,.rtp input:focus-visible,.rtp select:focus-visible,.rtp a:focus-visible{outline:2px solid var(--rtp-accent);outline-offset:2px}.rtp-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.rtp-studio{display:grid;gap:16px;grid-template-columns:minmax(0, 1fr);grid-template-areas:\"stage\"\n \"inspector\"\n \"code\"}.rtp-studio>*{min-width:0}.rtp-studio>.rtp-stage-col{grid-area:stage;align-self:stretch;min-width:0}@container rtp (max-width: 639.98px){.rtp-studio>.rtp-stage-col{display:contents}}.rtp-studio>.rtp-inspector{grid-area:inspector}.rtp-studio>.rtp-code{grid-area:code}@container rtp (min-width: 640px){.rtp-studio{gap:20px;grid-template-columns:clamp(250px, 40cqw, 400px) minmax(0, 1fr);grid-template-areas:\"stage inspector\"\n \"code code\";align-items:start}.rtp-stage{position:sticky;top:var(--rtp-sticky-top)}.rtp-studio>.rtp-inspector{align-self:stretch;height:0;min-height:100%}.rtp-studio>.rtp-inspector .rtp-panel{flex:1;min-height:0;overflow-y:auto}.rtp-studio>.rtp-stage-col>.rtp-stage{min-height:100%}.rtp-grid.two{grid-template-columns:1fr 1fr}.rtp-grid.two>.rtp-field:has(>.rtp-seg){grid-column:1 / -1}.rtp-stage .rtp-phone-wrap{margin:auto 0}}@container rtp (min-width: 900px){.rtp-studio>.rtp-stage-col>.rtp-stage{min-height:auto}}.rtp-inspector-foot{margin-top:auto;border-top:1px solid var(--rtp-line);padding:12px 14px 14px;display:flex;flex-direction:column;gap:10px}.rtp-inspector-foot .rtp-caption,.rtp-inspector-foot .rtp-hint{text-align:left;padding:0}.rtp-inspector-foot .rtp-actions{justify-content:flex-start}@container rtp (min-width: 900px){.rtp-studio{grid-template-areas:\"stage inspector\"\n \"stage code\"}}.rtp-stage{background:var(--rtp-panel);border:1px solid var(--rtp-line);border-radius:var(--rtp-radius);padding:12px 12px 14px;display:flex;flex-direction:column;gap:12px}.rtp-phone-wrap::before{content:\"\";position:absolute;left:50%;top:50%;width:78%;height:78%;transform:translate(-50%, -50%);border-radius:50%;background:radial-gradient(closest-side, var(--rtp-halo), transparent 70%);filter:blur(32px);opacity:0.35;pointer-events:none;z-index:0}.rtp-phone-wrap .rtp-device{z-index:1}.rtp-preview .rtp-stage{background:transparent;border:0;border-radius:0;padding:0;gap:10px}.rtp-stage-head{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.rtp-stage-title{font-size:12px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--rtp-muted);white-space:nowrap}.rtp-phone-wrap{display:flex;justify-content:center;position:relative}.rtp-caption{text-align:center;font-size:12.5px;color:var(--rtp-muted);min-height:1.4em;padding:0 4px}.rtp-caption strong{color:var(--rtp-ink);font-weight:600}.rtp-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.rtp-hint{font-size:12px;color:var(--rtp-muted);text-align:center}.rtp-chips{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:2px 0;-webkit-overflow-scrolling:touch}.rtp-chips::-webkit-scrollbar{display:none}.rtp-chips.wrap{flex-wrap:wrap;overflow:visible}.rtp-scroller{position:relative;display:flex;align-items:center;gap:6px;min-width:0}.rtp-scroller>.rtp-chips{flex:1 1 auto;min-width:0}.rtp-scroller.has-right:not(.has-left) .rtp-chips{-webkit-mask-image:linear-gradient(to right, #000 calc(100% - 48px), transparent);mask-image:linear-gradient(to right, #000 calc(100% - 48px), transparent)}.rtp-scroller.has-left:not(.has-right) .rtp-chips{-webkit-mask-image:linear-gradient(to right, transparent, #000 48px);mask-image:linear-gradient(to right, transparent, #000 48px)}.rtp-scroller.has-left.has-right .rtp-chips{-webkit-mask-image:linear-gradient(to right, transparent, #000 48px, #000 calc(100% - 48px), transparent);mask-image:linear-gradient(to right, transparent, #000 48px, #000 calc(100% - 48px), transparent)}.rtp-scroll-btn{flex:none;width:30px;height:30px;padding:0;border-radius:50%;border:1px solid var(--rtp-line);background:var(--rtp-panel);color:var(--rtp-ink);box-shadow:0 2px 10px rgba(20, 16, 40, 0.14);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:2}.rtp-scroll-btn svg{width:14px;height:14px}.rtp-chip{flex:none;display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:6px 12px;border:1px solid var(--rtp-line);border-radius:999px;background:var(--rtp-panel);color:var(--rtp-ink);font-size:12.5px;font-weight:600;white-space:nowrap;cursor:pointer;transition:background-color 0.15s, border-color 0.15s, color 0.15s}.rtp-chip:hover:not(:disabled){border-color:var(--rtp-accent)}.rtp-chip[aria-checked=\"true\"],.rtp-chip[aria-pressed=\"true\"],.rtp-chip.is-on{background:var(--rtp-accent);border-color:var(--rtp-accent);color:var(--rtp-accent-ink)}.rtp-chip:disabled{opacity:0.45;cursor:default}.rtp-chip .rtp-swatch{width:12px;height:12px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0, 0, 0, 0.12);flex:none}.rtp-chip .rtp-swatch.empty{background:transparent;box-shadow:inset 0 0 0 1.5px currentColor;opacity:0.5}.rtp-chip .rtp-dotmark{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:0.55}.rtp-btn-chrome{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:8px 14px;border-radius:12px;border:1px solid var(--rtp-line);background:var(--rtp-panel);color:var(--rtp-ink);font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background-color 0.15s, border-color 0.15s, transform 0.1s}.rtp-btn-chrome:hover:not(:disabled){border-color:var(--rtp-accent)}.rtp-btn-chrome:active:not(:disabled){transform:scale(0.98)}.rtp-btn-chrome:disabled{opacity:0.45;cursor:default}.rtp-btn-chrome.primary{background:var(--rtp-accent);border-color:var(--rtp-accent);color:var(--rtp-accent-ink)}.rtp-btn-chrome.dashed{border-style:dashed;border-color:var(--rtp-accent);color:var(--rtp-accent);background:transparent}.rtp-btn-chrome svg{width:15px;height:15px;flex:none}.rtp-icon-btn{width:34px;height:34px;padding:0;justify-content:center;border-radius:10px}.rtp-device{--sdk-SIDE_PADDING_DP: 24px;--sdk-HEADER_CORNER_DP: 36px;--sdk-HEADER_TOP_DP: 12px;--sdk-HEADER_BOTTOM_FULL_DP: 28px;--sdk-HEADER_BOTTOM_WASH_DP: 12px;--sdk-MERCHANT_SIZE_SP: 12px;--sdk-CLOSE_SIZE_DP: 38px;--sdk-CLOSE_GLYPH_DP: 16px;--sdk-CLOSE_BORDER_ALPHA: 0.45;--sdk-CURRENCY_SIZE_SP: 22px;--sdk-CURRENCY_END_DP: 6px;--sdk-CURRENCY_BASELINE_DP: 8px;--sdk-AMOUNT_SIZE_SP: 56px;--sdk-AMOUNT_TRACKING_SP: -1.5px;--sdk-AMOUNT_TOP_DP: 14px;--sdk-DESCRIPTOR_SIZE_SP: 13px;--sdk-DESCRIPTOR_TOP_DP: 6px;--sdk-DESCRIPTOR_ALPHA: 0.85;--sdk-ICON_SLOT_HEIGHT_DP: 150px;--sdk-TITLE_SIZE_SP: 22px;--sdk-TITLE_LINE_SP: 28px;--sdk-TITLE_TOP_DP: 4px;--sdk-SUBTITLE_SIZE_SP: 13px;--sdk-SUBTITLE_LINE_SP: 19px;--sdk-SUBTITLE_TOP_DP: 10px;--sdk-SUBTITLE_MAX_WIDTH_DP: 300px;--sdk-FOOTER_MIN_HEIGHT_DP: 124px;--sdk-FOOTER_BOTTOM_DP: 12px;--sdk-RING_SIZE_DP: 74px;--sdk-SPIN_MILLIS: 850ms;--sdk-BADGE_GLOW_SIZE_DP: 150px;--sdk-BADGE_SIZE_DP: 118px;--sdk-BADGE_GLYPH_DP: 52px;--sdk-BADGE_POP_MILLIS: 500ms;--sdk-BUTTON_RADIUS_DP: 18px;--sdk-BUTTON_HEIGHT_DP: 58px;--sdk-BUTTON_TEXT_SP: 13px;--sdk-BUTTON_TRACKING_SP: 2px;--sdk-SECONDARY_TRACKING_SP: 1.8px;--sdk-FOOTER_GAP_DP: 10px;--sdk-LABEL_SIZE_SP: 9px;--sdk-LABEL_TRACKING_SP: 1.8px;--sdk-LABEL_TOP_PADDING_DP: 12px;--sdk-SYMBOL_WIDTH_DP: 218px;--sdk-SYMBOL_HEIGHT_DP: 145px;--sdk-MARK_HEIGHT_DP: 25px;--sdk-MARK_SPACING_DP: 9px;--sdk-SURFACE: #ffffff;--sdk-INK: #15181e;--sdk-SLATE: #5b6470;--sdk-FAINT: #aeb4be;--sdk-HAIRLINE: #e2e5ec;--sdk-SUCCESS: #16a75e;--sdk-DANGER: #ff5c5c;--sdk-PAD_SURFACE: #ffffff;--sdk-PAD_BACKGROUND: #f4f5f8;--sdk-PAD_TINT: #eceef3;--sdk-PAD_INK: #15181e;--sdk-PAD_SLATE: #5b6470;--sdk-PAD_ERROR: #d92d20;--sdk-KEY_FONT_SIZE_SP: 24px;--sdk-ACTION_FONT_SIZE_SP: 12px;--rtp-status-h: 28px;--rtp-nav-h: 24px;--rtp-scale: 1;--rtp-primary: #7a4cff;--rtp-on-primary: #ffffff;--rtp-button: #7a4cff;--rtp-on-button: #ffffff;--rtp-icon: #15181e;--rtp-header-start: #7a4cff;--rtp-header-end: #7a4cff;--rtp-header-text: #ffffff;--rtp-header-radius: 36px;--rtp-header-pad-bottom: 28px;--rtp-accent-soft-sdk: #e7deff;--rtp-close-border: rgba(255, 255, 255, 0.45);--rtp-status-ink: #ffffff;--rtp-glow: rgba(122, 76, 255, 0.35);--rtp-glow-strong: rgba(122, 76, 255, 0.8);position:relative;width:382px;height:822px;zoom:var(--rtp-scale);border-radius:52px;background:#000;padding:11px;box-shadow:0 0 0 2px #2a2230, 0 30px 70px -24px rgba(40, 30, 70, 0.32);font-family:\"Space Grotesk\", ui-sans-serif, system-ui, sans-serif;color:var(--sdk-INK);user-select:none;flex:none}@supports not (zoom: 1){.rtp-device{transform:scale(var(--rtp-scale));transform-origin:top center}.rtp-phone-wrap{height:calc(822px * var(--rtp-scale));overflow:visible}}.rtp-glass{position:absolute;inset:11px;border-radius:42px;overflow:hidden;background:var(--sdk-SURFACE)}.rtp-hole{position:absolute;top:9px;left:50%;width:12px;height:12px;margin-left:-6px;border-radius:50%;background:#000;box-shadow:inset 0 0 0 2px #1c1f25, 0 0 0 1px rgba(0, 0, 0, 0.4);z-index:40}.rtp-screen{position:absolute;inset:0;width:360px;height:800px;display:flex;flex-direction:column;background:var(--sdk-SURFACE);font-size:13px;line-height:1.2}.rtp-status{height:var(--rtp-status-h);flex:none;display:flex;align-items:center;justify-content:space-between;padding:2px 22px 0;color:var(--rtp-status-ink);font-size:13px;font-weight:600;letter-spacing:0.02em;font-variant-numeric:tabular-nums}.rtp-status-icons{display:flex;align-items:center;gap:6px}.rtp-status-icons svg{display:block}.rtp-navbar{position:absolute;left:0;right:0;bottom:0;height:var(--rtp-nav-h);display:flex;align-items:flex-end;justify-content:center;padding-bottom:8px;pointer-events:none;z-index:30}.rtp-navbar span{width:108px;height:4px;border-radius:2px;background:var(--sdk-INK);opacity:0.85}.rtp-display{font-family:\"Sora\", ui-sans-serif, system-ui, sans-serif}.rtp-header{position:relative;flex:none;padding:0 var(--sdk-SIDE_PADDING_DP) var(--rtp-header-pad-bottom);border-radius:0 0 var(--rtp-header-radius) var(--rtp-header-radius);background:linear-gradient(var(--rtp-header-start), var(--rtp-header-end));color:var(--rtp-header-text);transition:border-radius 0.15s}.rtp-header .rtp-status{margin:0 calc(-1 * var(--sdk-SIDE_PADDING_DP))}.rtp-header-body{padding-top:var(--sdk-HEADER_TOP_DP)}.rtp-merchant{height:var(--sdk-CLOSE_SIZE_DP);position:relative;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:var(--sdk-MERCHANT_SIZE_SP)}.rtp-close{position:absolute;left:0;top:0;width:var(--sdk-CLOSE_SIZE_DP);height:var(--sdk-CLOSE_SIZE_DP);border-radius:50%;border:1px solid var(--rtp-close-border);background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;color:inherit}.rtp-amount{display:flex;justify-content:center;align-items:flex-end;margin-top:var(--sdk-AMOUNT_TOP_DP)}.rtp-currency{font-weight:600;font-size:var(--sdk-CURRENCY_SIZE_SP);line-height:1;margin:0 var(--sdk-CURRENCY_END_DP) var(--sdk-CURRENCY_BASELINE_DP) 0}.rtp-figure{font-weight:700;font-size:var(--sdk-AMOUNT_SIZE_SP);line-height:1;letter-spacing:var(--sdk-AMOUNT_TRACKING_SP);font-variant-numeric:tabular-nums}.rtp-descriptor{font-size:var(--sdk-DESCRIPTOR_SIZE_SP);opacity:var(--sdk-DESCRIPTOR_ALPHA);margin-top:var(--sdk-DESCRIPTOR_TOP_DP);text-align:center}.rtp-body{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 var(--sdk-SIDE_PADDING_DP)}.rtp-icon-slot{height:var(--sdk-ICON_SLOT_HEIGHT_DP);width:100%;display:flex;align-items:center;justify-content:center}.rtp-title{font-weight:600;font-size:var(--sdk-TITLE_SIZE_SP);line-height:var(--sdk-TITLE_LINE_SP);margin-top:var(--sdk-TITLE_TOP_DP);color:var(--sdk-INK);text-wrap:balance}.rtp-subtitle{font-size:var(--sdk-SUBTITLE_SIZE_SP);line-height:var(--sdk-SUBTITLE_LINE_SP);color:var(--sdk-SLATE);margin-top:var(--sdk-SUBTITLE_TOP_DP);max-width:var(--sdk-SUBTITLE_MAX_WIDTH_DP);white-space:pre-line}.rtp-footer{flex:none;min-height:calc(var(--sdk-FOOTER_MIN_HEIGHT_DP) + var(--rtp-nav-h));padding:0 var(--sdk-SIDE_PADDING_DP) calc(var(--sdk-FOOTER_BOTTOM_DP) + var(--rtp-nav-h));display:flex;flex-direction:column;justify-content:flex-end;gap:var(--sdk-FOOTER_GAP_DP)}.rtp-art{width:var(--sdk-SYMBOL_WIDTH_DP);height:var(--sdk-SYMBOL_HEIGHT_DP);background:var(--rtp-icon);-webkit-mask:url(\"/images/tap-on-phone/nfc-tap.png\") center / contain no-repeat;mask:url(\"/images/tap-on-phone/nfc-tap.png\") center / contain no-repeat}.rtp-marks{display:flex;flex-direction:column;align-items:center}.rtp-marks-row{display:flex;gap:var(--sdk-MARK_SPACING_DP);align-items:center}.rtp-marks-row svg{height:var(--sdk-MARK_HEIGHT_DP);width:auto;display:block}.rtp-marks-label{font-size:var(--sdk-LABEL_SIZE_SP);letter-spacing:var(--sdk-LABEL_TRACKING_SP);color:var(--sdk-FAINT);margin-top:var(--sdk-LABEL_TOP_PADDING_DP);text-align:center}.rtp-ring{width:var(--sdk-RING_SIZE_DP);height:var(--sdk-RING_SIZE_DP);animation:rtp-spin var(--sdk-SPIN_MILLIS) linear infinite}.rtp-badge{width:var(--sdk-BADGE_GLOW_SIZE_DP);height:var(--sdk-BADGE_GLOW_SIZE_DP);display:flex;align-items:center;justify-content:center;position:relative;animation:rtp-pop var(--sdk-BADGE_POP_MILLIS) cubic-bezier(0.4, 0, 0.2, 1)}.rtp-badge-glow{position:absolute;inset:0;border-radius:50%}.rtp-badge-disc{width:var(--sdk-BADGE_SIZE_DP);height:var(--sdk-BADGE_SIZE_DP);border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative}.rtp-badge-disc svg{width:var(--sdk-BADGE_GLYPH_DP);height:var(--sdk-BADGE_GLYPH_DP)}.rtp-btn{width:100%;height:var(--sdk-BUTTON_HEIGHT_DP);border:0;border-radius:var(--sdk-BUTTON_RADIUS_DP);font-family:inherit;font-weight:600;font-size:var(--sdk-BUTTON_TEXT_SP);letter-spacing:var(--sdk-BUTTON_TRACKING_SP);color:var(--rtp-on-button);background:var(--rtp-button);cursor:pointer;flex:none}.rtp-btn.secondary{background:transparent;border:1px solid var(--sdk-HAIRLINE);color:var(--sdk-SLATE);letter-spacing:var(--sdk-SECONDARY_TRACKING_SP)}.rtp-tapzone{position:absolute;inset:0;background:transparent;border:0;padding:0;cursor:pointer;z-index:20}.rtp-host{position:absolute;inset:0;display:flex;flex-direction:column;background:#f4f5f8;color:#15181e}.rtp-host .rtp-status{color:#15181e}.rtp-host-top{display:flex;align-items:center;gap:10px;padding:10px 24px 0}.rtp-host-badge{display:inline-flex;align-items:center;padding:5px 11px;border:1.5px dashed #b6bcc8;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:#5b6470}.rtp-host-sub{font-size:11px;color:#8a909c}.rtp-host-body{flex:1;min-height:0;padding:22px 24px 0;display:flex;flex-direction:column;gap:12px}.rtp-wire{height:14px;border-radius:7px;background:#e3e6ec}.rtp-wire.tall{width:100%;height:56px;border-radius:14px;background:transparent;border:1.5px dashed #cfd4dd}.rtp-host-total{margin-top:auto;padding:14px 24px calc(14px + var(--rtp-nav-h));border-top:1px solid #eaecf1;background:#fff}.rtp-host-total-row{display:flex;align-items:flex-end;justify-content:space-between}.rtp-host-total-row b{font-size:22px;font-weight:700;letter-spacing:-0.3px;font-variant-numeric:tabular-nums}.rtp-host-total-row small{display:block;font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:#8a909c}.rtp-host-cta{margin-top:12px;width:100%;height:56px;border:0;border-radius:16px;background:var(--rtp-primary);color:var(--rtp-on-primary);font-family:ui-monospace, SFMono-Regular, Menlo, monospace;font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center}.rtp-pad{position:absolute;inset:0;background:var(--sdk-PAD_BACKGROUND);display:flex;flex-direction:column;font-family:\"Sora\", ui-sans-serif, system-ui, sans-serif;z-index:50}.rtp-pad-status{height:24px;flex:none}.rtp-pad-nav{height:56px;flex:none;display:flex;align-items:center;padding:0 14px;font-weight:400;font-size:15px;letter-spacing:4px;white-space:nowrap;overflow:hidden;background:var(--rtp-primary);color:var(--rtp-on-primary)}.rtp-pad-amount{height:100px;flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:26px;color:var(--sdk-PAD_INK);font-variant-numeric:tabular-nums}.rtp-pad-details{font-size:13px;color:var(--sdk-PAD_SLATE);margin-top:2px}.rtp-dots{display:flex;gap:8px;justify-content:center;margin-top:8px;height:10px}.rtp-dot{width:10px;height:10px;border-radius:50%;background:transparent}.rtp-dot.on{background:var(--rtp-primary)}.rtp-pad-grid{flex:1;min-height:0;display:grid;gap:3px}.rtp-pad-grid.five{grid-template-columns:repeat(5, 1fr);grid-template-rows:repeat(6, 1fr)}.rtp-pad-grid.three{grid-template-columns:repeat(3, 1fr);grid-template-rows:repeat(5, 1fr)}.rtp-pad-cell{border:0;border-radius:0;background:var(--sdk-PAD_SURFACE);font-family:inherit;font-size:var(--sdk-KEY_FONT_SIZE_SP);font-weight:400;color:var(--sdk-PAD_INK);cursor:pointer;padding:0}.rtp-pad-cell.blank{cursor:default}.rtp-pad-action{border:0;background:var(--sdk-PAD_TINT);color:var(--sdk-PAD_SLATE);font-family:inherit;font-size:var(--sdk-ACTION_FONT_SIZE_SP);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:pointer;padding:0}.rtp-pad-action.tall{grid-row:span 2}.rtp-pad-action-icon{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center}.rtp-pad-action-icon.cancel{background:#ff4b3a}.rtp-pad-action-icon.clear{background:#ffc72c}.rtp-pad-action-icon.confirm{background:#2eb872}.rtp-pad-bar{height:88px;flex:none;margin-top:3px;background:var(--sdk-PAD_TINT);display:flex;align-items:stretch}.rtp-pad-bar .rtp-pad-action{flex:1;background:transparent}.rtp-pad-divider{width:1px;background:var(--sdk-PAD_SURFACE);margin:24px 0}.rtp-card{position:absolute;left:50%;top:30%;width:156px;height:98px;margin-left:-78px;border-radius:12px;opacity:0;pointer-events:none;z-index:60;filter:drop-shadow(0 18px 24px rgba(20, 16, 40, 0.35));transform:translate(240px, -60px) rotate(14deg);display:none}.rtp-card.glide{display:block;animation:rtp-glide 0.9s cubic-bezier(0.2, 0.8, 0.2, 1) forwards}.rtp-card svg{width:100%;height:100%;display:block}.rtp-inspector{background:var(--rtp-panel);border:1px solid var(--rtp-line);border-radius:var(--rtp-radius);display:flex;flex-direction:column;min-width:0}.rtp-inspector-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px 10px;border-bottom:1px solid var(--rtp-line);min-width:0}.rtp-inspector-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;min-width:0;white-space:nowrap}.rtp-badge-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:999px;background:var(--rtp-panel-2);color:var(--rtp-muted);font-size:11px;font-weight:600;letter-spacing:0.04em;white-space:nowrap}.rtp-badge-chip .rtp-live{width:7px;height:7px;border-radius:50%;background:var(--rtp-ok);box-shadow:0 0 0 3px rgba(22, 167, 94, 0.18)}.rtp-inspector-tools{display:flex;gap:6px;flex:none}.rtp-tabs{display:flex;gap:2px;padding:8px 10px 0;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid var(--rtp-line)}.rtp-tabs::-webkit-scrollbar{display:none}.rtp-tab{flex:none;border:0;background:transparent;padding:8px 12px 10px;font-size:13px;font-weight:600;color:var(--rtp-muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;transition:color 0.15s, border-color 0.15s}.rtp-tab[aria-selected=\"true\"]{color:var(--rtp-accent);border-bottom-color:var(--rtp-accent)}.rtp-panel{padding:14px;display:flex;flex-direction:column;gap:16px}.rtp-grid{display:grid;grid-template-columns:1fr;gap:14px 16px}@container rtp (min-width: 900px){.rtp-grid.two{grid-template-columns:1fr 1fr}}.rtp-grid.roomy{grid-template-columns:1fr;gap:18px}.rtp-field{display:flex;flex-direction:column;gap:6px;min-width:0}.rtp-label{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 8px;font-size:11px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--rtp-muted)}.rtp-label code{font-family:ui-monospace, SFMono-Regular, Menlo, monospace;font-size:11px;font-weight:500;text-transform:none;letter-spacing:0;color:var(--rtp-ink);background:var(--rtp-panel-2);padding:1px 6px;border-radius:6px}.rtp-input{width:100%;min-width:0;border:1px solid var(--rtp-line);background:var(--rtp-bg);color:var(--rtp-ink);border-radius:10px;padding:9px 11px;font-size:13.5px;line-height:1.3}.rtp-input::placeholder{color:var(--rtp-muted);opacity:0.8}.rtp-input.mono{font-family:ui-monospace, SFMono-Regular, Menlo, monospace;text-transform:uppercase}.rtp-input-row{display:flex;align-items:center;gap:8px;min-width:0}.rtp-input-row .rtp-input{flex:1}.rtp-color-swatch{position:relative;width:36px;height:36px;flex:none;border-radius:50%;border:1px solid var(--rtp-line);overflow:hidden;box-shadow:inset 0 0 0 3px var(--rtp-panel);cursor:pointer}.rtp-color-swatch input[type=\"color\"]{position:absolute;inset:-10px;width:calc(100% + 20px);height:calc(100% + 20px);border:0;padding:0;cursor:pointer;background:transparent}.rtp-note{font-size:12px;line-height:1.45;color:var(--rtp-muted)}.rtp-note.warn{color:var(--rtp-warn)}.rtp-note.ok{color:var(--rtp-ok)}.rtp-seg{display:grid;grid-template-columns:1fr 1fr;gap:8px}.rtp-seg-opt{border:1px solid var(--rtp-line);background:var(--rtp-bg);border-radius:12px;padding:8px;cursor:pointer;display:flex;flex-direction:column;gap:7px;text-align:left;min-width:0;transition:border-color 0.15s, box-shadow 0.15s}.rtp-seg-opt[aria-pressed=\"true\"]{border-color:var(--rtp-accent);box-shadow:0 0 0 2px var(--rtp-accent-soft)}.rtp-seg-opt b{font-size:12.5px;font-weight:700}.rtp-seg-opt small{font-size:11.5px;color:var(--rtp-muted);line-height:1.35}.rtp-thumb{height:44px;border-radius:8px;background:#fff;border:1px solid var(--rtp-line);overflow:hidden;display:flex;flex-direction:column}.rtp-thumb i{display:block;height:26px;flex:none}.rtp-thumb i.band{border-radius:0 0 10px 10px}.rtp-thumb em{display:block;height:6px;width:40%;margin:6px auto 0;border-radius:3px;background:#e2e5ec}.rtp-switch{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:13px;min-width:0}.rtp-switch input{position:absolute;opacity:0;width:1px;height:1px}.rtp-switch .rtp-track{width:36px;height:22px;border-radius:999px;background:var(--rtp-line);position:relative;flex:none;transition:background-color 0.15s}.rtp-switch .rtp-track::after{content:\"\";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0, 0, 0, 0.25);transition:transform 0.15s}.rtp-switch input:checked+.rtp-track{background:var(--rtp-accent)}.rtp-switch input:checked+.rtp-track::after{transform:translateX(14px)}.rtp-switch input:focus-visible+.rtp-track{outline:2px solid var(--rtp-accent);outline-offset:2px}.rtp-select{width:100%;min-width:0;border:1px solid var(--rtp-line);background:var(--rtp-bg);color:var(--rtp-ink);border-radius:10px;padding:9px 11px;font-size:13.5px;appearance:auto}.rtp-kv{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12px;color:var(--rtp-muted)}.rtp-kv b{color:var(--rtp-ink);font-weight:600}.rtp-tag{display:inline-block;padding:1px 7px;border-radius:999px;font-size:10.5px;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;background:var(--rtp-panel-2);color:var(--rtp-muted)}.rtp-tag.ok{background:rgba(22, 167, 94, 0.14);color:var(--rtp-ok)}.rtp-tag.no{background:rgba(255, 92, 92, 0.14);color:#c4362f}.rtp-code{background:var(--rtp-code-bg);color:var(--rtp-code-ink);border:1px solid var(--rtp-line);border-radius:var(--rtp-radius);overflow:hidden;min-width:0}.rtp-code-bar{display:flex;align-items:center;gap:2px;padding:6px 8px 0;border-bottom:1px solid rgba(255, 255, 255, 0.08);overflow-x:auto;scrollbar-width:none}.rtp-code-bar::-webkit-scrollbar{display:none}.rtp-code-tab{flex:none;border:0;background:transparent;color:var(--rtp-code-muted);padding:8px 12px 10px;font-size:12.5px;font-weight:600;border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer;white-space:nowrap}.rtp-code-tab[aria-selected=\"true\"]{color:#fff;border-bottom-color:var(--rtp-accent)}.rtp-code-tools{margin-left:auto;display:flex;gap:6px;padding-bottom:4px;flex:none}.rtp-code-copy{border:1px solid rgba(255, 255, 255, 0.14);background:rgba(255, 255, 255, 0.06);color:#fff;border-radius:8px;padding:5px 10px;font-size:12px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.rtp-code-copy:hover{background:rgba(255, 255, 255, 0.12)}.rtp-code-copy.done{border-color:rgba(22, 167, 94, 0.6);color:#7ee0b0}.rtp-code-copy svg{width:13px;height:13px;flex:none}.rtp-btn-chrome.done{color:var(--rtp-ok);border-color:var(--rtp-ok)}.rtp-code pre{margin:0;padding:14px 16px 16px;font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;font-size:12.5px;line-height:1.6;overflow-x:auto;color:inherit;background:transparent;white-space:pre;tab-size:4}.rtp-code .k{color:var(--rtp-code-k)}.rtp-code .s{color:var(--rtp-code-s)}.rtp-code .n{color:var(--rtp-code-n)}.rtp-code .t{color:var(--rtp-code-t)}.rtp-code .c{color:var(--rtp-code-muted);font-style:italic}.rtp-delivered{margin:0 12px 12px;border:1px solid rgba(22, 167, 94, 0.35);background:rgba(22, 167, 94, 0.08);border-radius:12px;padding:10px 12px}.rtp-delivered-title{font-size:12px;font-weight:700;color:#7ee0b0;margin-bottom:4px}.rtp-delivered pre{padding:0;font-size:12px}.rtp-preview{display:grid;gap:16px;grid-template-columns:minmax(0, 1fr);align-items:center}@container rtp (min-width: 560px){.rtp-preview{grid-template-columns:minmax(200px, 36cqw) minmax(0, 1fr);gap:36px}}.rtp-preview-aside{display:flex;flex-direction:column;gap:16px;min-width:0}.rtp-preview-aside h3{margin:0;font-size:19px;font-weight:700;letter-spacing:-0.01em;color:var(--rtp-ink)}.rtp-preview-aside p{margin:0;font-size:14px;color:var(--rtp-muted);line-height:1.55}.rtp-link{display:inline-flex;align-items:center;gap:6px;color:var(--rtp-accent);font-weight:600;font-size:13px;text-decoration:none}.rtp-link:hover{text-decoration:underline}@keyframes rtp-spin{to{transform:rotate(360deg)}}@keyframes rtp-pop{from{transform:scale(0.6)}to{transform:scale(1)}}@keyframes rtp-glide{0%{opacity:0;transform:translate(240px, -60px) rotate(14deg)}20%{opacity:1}70%{opacity:1;transform:translate(0, 0) rotate(-4deg)}85%{opacity:1;transform:translate(0, 4px) rotate(-4deg)}100%{opacity:0;transform:translate(0, 4px) rotate(-4deg)}}@media (prefers-reduced-motion: reduce){.rtp-ring,.rtp-badge,.rtp-card.glide{animation:none}.rtp-card.glide{opacity:0}.rtp *,.rtp *::before,.rtp *::after{transition:none!important}}.rtp-pip{position:fixed;right:14px;bottom:calc(96px + env(safe-area-inset-bottom, 0px));z-index:40;width:calc(382px * 0.22);cursor:pointer;border-radius:14px;filter:drop-shadow(0 12px 22px rgba(20, 16, 40, 0.35));animation:rtp-pip-in 0.2s ease-out}.rtp-pip:focus-visible{outline:2px solid var(--rtp-accent);outline-offset:4px}.rtp-pip-phone{pointer-events:none}@keyframes rtp-pip-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.rtp-pip{animation:none}}"},{"filePath":"styles/company-onboarding.css","content":".rco{--rco-bg: #f6f5fa;--rco-panel: #ffffff;--rco-panel-2: #f1f0f6;--rco-line: #e3e1ec;--rco-ink: #1b1a22;--rco-muted: #6b6880;--rco-accent: #5b68eb;--rco-accent-ink: #ffffff;--rco-accent-soft: rgba(91, 104, 235, 0.12);--rco-ok: #12804a;--rco-ok-solid: #16a75e;--rco-ok-soft: rgba(22, 167, 94, 0.13);--rco-wait: #9a4a07;--rco-wait-solid: #d97706;--rco-wait-soft: rgba(217, 119, 6, 0.13);--rco-code-bg: #15141b;--rco-code-ink: #e9e7f3;--rco-code-muted: #8f8ca6;--rco-shadow: 0 1px 2px rgba(20, 16, 40, 0.04), 0 8px 24px rgba(20, 16, 40, 0.06);--rco-radius: 18px;color:var(--rco-ink);font-family:ui-sans-serif, system-ui, -apple-system, \"Segoe UI\", Roboto, sans-serif;font-size:14px;line-height:1.45;container-type:inline-size;container-name:rco;margin:1.5rem 0 2rem}html.dark .rco,:root[data-theme=\"dark\"] .rco{--rco-bg: #15141b;--rco-panel: #1e1d26;--rco-panel-2: #26252f;--rco-line: #2e2c3a;--rco-ink: #eceaf4;--rco-muted: #9b98ae;--rco-accent: #7b89ff;--rco-accent-ink: #0f0e14;--rco-accent-soft: rgba(123, 137, 255, 0.16);--rco-ok: #4ade80;--rco-ok-solid: #22c55e;--rco-ok-soft: rgba(74, 222, 128, 0.14);--rco-wait: #fbbf24;--rco-wait-solid: #f59e0b;--rco-wait-soft: rgba(251, 191, 36, 0.14);--rco-code-bg: #0f0e14;--rco-shadow: none}.rco *,.rco *::before,.rco *::after{box-sizing:border-box}:where(.rco) button,:where(.rco) input{font:inherit;color:inherit}:where(.rco) p,:where(.rco) ul,:where(.rco) ol{margin:0;padding:0}.rco button{-webkit-tap-highlight-color:transparent}.rco button:focus-visible,.rco pre:focus-visible{outline:2px solid var(--rco-accent);outline-offset:2px}.rco code{font-family:ui-monospace, SFMono-Regular, Menlo, monospace}.rco ul,.rco ol{list-style:none!important;margin:0!important;padding:0!important}.rco li{margin:0!important;padding-left:0!important}.rco li:not(.rco-step)::before,.rco li::marker{content:none!important;display:none!important}.rco .rco-request code,.rco .rco-outcome-head code,.rco .rco-req-meta code{background:none;border:0;padding:0;border-radius:0;color:inherit}.rco .rco-request code::before,.rco .rco-request code::after,.rco .rco-outcome-head code::before,.rco .rco-outcome-head code::after{content:none}.rco-studio{display:grid;grid-template-columns:minmax(0, 1fr);gap:16px;align-items:start}.rco-studio>*{min-width:0}@container rco (min-width: 860px){.rco-studio{grid-template-columns:minmax(0, 5fr) minmax(0, 6fr);gap:20px}}.rco-panel{background:var(--rco-panel);border:1px solid var(--rco-line);border-radius:var(--rco-radius);box-shadow:var(--rco-shadow);display:flex;flex-direction:column;min-width:0}.rco-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-bottom:1px solid var(--rco-line)}.rco-panel-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;white-space:nowrap}.rco-badge{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:999px;background:var(--rco-panel-2);color:var(--rco-muted);font-size:11px;font-weight:600;letter-spacing:0.04em}.rco-live{width:7px;height:7px;border-radius:50%;background:var(--rco-ok-solid);box-shadow:0 0 0 3px var(--rco-ok-soft)}.rco-btn-ghost{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:5px 11px;border-radius:10px;border:1px solid var(--rco-line);background:var(--rco-panel);color:var(--rco-ink);font-size:12.5px;font-weight:600;cursor:pointer;transition:border-color 0.15s}.rco-btn-ghost:hover{border-color:var(--rco-accent)}.rco-btn-ghost svg{width:14px;height:14px}.rco-fields{display:grid;grid-template-columns:minmax(0, 1fr);gap:18px;padding:16px 14px 18px}@container rco (min-width: 560px) and (max-width: 859px){.rco-fields{grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);gap:18px 20px}.rco-field-wide{grid-column:1 / -1}}.rco-field{display:flex;flex-direction:column;gap:8px;min-width:0}.rco-label{font-size:11px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--rco-muted)}.rco-note{font-size:12px;line-height:1.45;color:var(--rco-muted)}.rco-note code{font-size:11px;color:var(--rco-ink);background:var(--rco-panel-2);padding:1px 6px;border-radius:6px}.rco-note-box{display:flex;align-items:center;min-height:36px;padding:0 12px;border-radius:10px;border:1px dashed var(--rco-line)}.rco-chips{display:flex;flex-wrap:wrap;gap:6px}.rco-chip{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:6px 14px;border:1px solid var(--rco-line);border-radius:999px;background:var(--rco-panel);font-size:13px;font-weight:600;white-space:nowrap;cursor:pointer;transition:background-color 0.15s, border-color 0.15s, color 0.15s}.rco-chip:hover{border-color:var(--rco-accent)}.rco-chip[aria-checked=\"true\"]{background:var(--rco-accent);border-color:var(--rco-accent);color:var(--rco-accent-ink)}.rco-chip-dot{width:7px;height:7px;border-radius:50%;background:currentColor;opacity:0.35}.rco-chip[aria-checked=\"true\"] .rco-chip-dot{opacity:1}.rco-cards{display:grid;grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);gap:8px}@container rco (min-width: 560px) and (max-width: 859px){.rco-cards{grid-template-columns:repeat(4, minmax(0, 1fr))}}.rco-card{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:10px;min-height:74px;padding:10px 12px;border:1px solid var(--rco-line);border-radius:12px;background:var(--rco-bg);text-align:left;cursor:pointer;transition:border-color 0.15s, box-shadow 0.15s, background-color 0.15s}.rco-card:hover{border-color:var(--rco-accent)}.rco-card[aria-checked=\"true\"]{border-color:var(--rco-accent);background:var(--rco-panel);box-shadow:0 0 0 3px var(--rco-accent-soft)}.rco-card-title{font-size:13px;font-weight:650;line-height:1.3}.rco-card-hint{font-size:11px;font-weight:600;padding:1px 7px;border-radius:6px;background:var(--rco-panel-2);color:var(--rco-muted)}.rco-card[aria-checked=\"true\"] .rco-card-hint{background:var(--rco-accent-soft);color:var(--rco-accent)}.rco-switches{display:grid;grid-template-columns:minmax(0, 1fr);gap:10px}@container rco (min-width: 560px) and (max-width: 859px){.rco-switches{grid-template-columns:minmax(0, 1fr) minmax(0, 1fr)}}.rco-switch{position:relative;display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid var(--rco-line);border-radius:12px;background:var(--rco-bg);font-size:13px;line-height:1.4;cursor:pointer}.rco-switch.is-off{opacity:0.5;cursor:default}.rco-switch input{position:absolute;opacity:0;width:1px;height:1px}.rco-track{position:relative;flex:none;width:34px;height:20px;margin-top:1px;border-radius:999px;background:var(--rco-line);transition:background-color 0.15s}.rco-track::after{content:\"\";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0, 0, 0, 0.25);transition:transform 0.15s}.rco-switch input:checked+.rco-track{background:var(--rco-accent)}.rco-switch input:checked+.rco-track::after{transform:translateX(14px)}.rco-switch input:focus-visible+.rco-track{outline:2px solid var(--rco-accent);outline-offset:2px}.rco-panel-foot{margin-top:auto;padding:12px 14px;border-top:1px solid var(--rco-line);font-size:12px;color:var(--rco-muted)}.rco-tabs{display:flex;gap:2px;padding:8px 10px 0;border-bottom:1px solid var(--rco-line)}.rco-tab{border:0;background:transparent;padding:8px 12px 10px;font-size:13px;font-weight:600;color:var(--rco-muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color 0.15s, border-color 0.15s}.rco-tab[aria-selected=\"true\"]{color:var(--rco-accent);border-bottom-color:var(--rco-accent)}.rco-request{display:flex;align-items:center;gap:10px;margin:14px 14px 0;padding:9px 12px;border-radius:12px;background:var(--rco-bg);border:1px solid var(--rco-line);min-width:0}.rco-request code,.rco-outcome-head code{font-size:12.5px;overflow-wrap:anywhere;min-width:0}.rco-method{flex:none;padding:2px 8px;border-radius:6px;font-family:ui-monospace, SFMono-Regular, Menlo, monospace;font-size:11px;font-weight:700;letter-spacing:0.04em;background:var(--rco-ok-soft);color:var(--rco-ok)}.rco-method-post{background:var(--rco-accent-soft);color:var(--rco-accent)}.rco-stage-body{display:flex;flex-direction:column;gap:16px;padding:14px}.rco-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.rco-summary-count{font-size:15px;font-weight:700}.rco-meter{display:flex;gap:4px}.rco-meter i{display:block;width:22px;height:6px;border-radius:999px;background:var(--rco-wait-solid);opacity:0.85;transition:background-color 0.2s}.rco-meter i.is-done{background:var(--rco-ok-solid)}.rco-reqs{list-style:none;display:flex;flex-direction:column;gap:8px}.rco-req{display:flex;gap:12px;margin:0;padding:12px;border:1px solid var(--rco-line);border-radius:14px;background:var(--rco-panel);transition:background-color 0.2s, border-color 0.2s}.rco-req.is-done{background:var(--rco-bg)}.rco-req-icon{flex:none;display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--rco-wait-soft);color:var(--rco-wait)}.rco-req.is-done .rco-req-icon{background:var(--rco-ok-solid);color:#fff}.rco-req-icon svg{width:16px;height:16px}.rco-req-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.rco-req-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.rco-req-title{font-size:14px;font-weight:650}.rco-req-type{align-self:flex-start;font-size:11px;padding:1px 6px;border-radius:6px;background:var(--rco-panel-2);color:var(--rco-ink);overflow-wrap:anywhere}.rco-req-how{font-size:12.5px;color:var(--rco-muted)}.rco-req-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px;font-size:12px;color:var(--rco-muted)}.rco-req-meta code{font-size:11.5px}.rco-tag{flex:none;display:inline-block;padding:2px 8px;border-radius:999px;font-size:10.5px;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;background:var(--rco-panel-2);color:var(--rco-muted)}.rco-tag.ok{background:var(--rco-ok-soft);color:var(--rco-ok)}.rco-tag.wait{background:var(--rco-wait-soft);color:var(--rco-wait)}.rco-empty{display:flex;gap:12px;padding:14px;border:1px dashed var(--rco-line);border-radius:14px;color:var(--rco-muted);font-size:13px}.rco-empty strong{display:block;color:var(--rco-ink);font-size:14px;margin-bottom:2px}.rco-empty-icon{flex:none;display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--rco-ok-solid);color:#fff}.rco-empty-icon svg{width:16px;height:16px}.rco-outcome{display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:14px;background:linear-gradient(135deg, var(--rco-accent-soft), transparent 70%), var(--rco-bg);border:1px solid var(--rco-line)}.rco-outcome-head{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.rco-arrow{color:var(--rco-muted)}.rco-outcome-text{font-size:13px;color:var(--rco-ink)}.rco-track-steps{list-style:none;display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:8px;margin-top:2px}.rco-step{position:relative;display:flex;flex-direction:column;gap:6px;margin:0;font-size:11.5px;color:var(--rco-muted)}.rco-step::before{content:\"\";position:absolute;top:4px;left:14px;right:-4px;height:2px;border-radius:2px;background:var(--rco-line)}.rco-step:last-child::before{display:none}.rco-step.is-done::before,.rco-step.is-skipped::before{background:var(--rco-accent)}.rco-step-dot{position:relative;width:10px;height:10px;border-radius:50%;background:var(--rco-panel);border:2px solid var(--rco-line)}.rco-step.is-done .rco-step-dot,.rco-step.is-skipped .rco-step-dot{background:var(--rco-accent);border-color:var(--rco-accent)}.rco-step.is-now .rco-step-dot{border-color:var(--rco-accent);box-shadow:0 0 0 4px var(--rco-accent-soft)}.rco-step.is-now .rco-step-label{color:var(--rco-ink);font-weight:650}.rco-step.is-skipped .rco-step-label{font-style:italic}.rco-code{margin:14px;border-radius:14px;background:var(--rco-code-bg);color:var(--rco-code-ink);overflow:hidden;min-width:0}.rco-code-bar{display:flex;align-items:center;gap:10px;padding:9px 14px;border-bottom:1px solid rgba(255, 255, 255, 0.08);font-size:11.5px;color:var(--rco-code-muted)}.rco-code-status{color:#4ade80;font-weight:700}.rco .rco-code pre{display:block!important;margin:0;padding:14px;max-height:520px;overflow:auto;background:transparent;font-family:ui-monospace, SFMono-Regular, Menlo, monospace;font-size:12px;line-height:1.6;white-space:pre}.rco .rco-code pre span{display:inline!important}.rco-tk-key{color:#82aaff}.rco-tk-str{color:#c3e88d}.rco-tk-num{color:#f78c6c}.rco-tk-lit{color:#c792ea}@media (prefers-reduced-motion: reduce){.rco *{transition:none!important}}"}],"page":{"pagePath":"api-reference/transactions/refund-a-transaction-for-a-specific-merchant","slug":"/api-reference/transactions/refund-a-transaction-for-a-specific-merchant","pageMetadata":{"title":"Refund a transaction for a specific merchant","description":"Requires the merchant.transaction.refund permission.\n\nRefunds a transaction for a merchant that belongs to the authenticated organization.\n\n**Important Notes:**\n- A refund the transaction's state refuses is answered `400` with code `REFUND_NOT_ALLOWED` and the rule in `details.reason`: `PAYMENT_METHOD_NOT_SUPPORTED` (BOLEPIX, or a payment method the transaction's provider cannot refund), `REFUND_IN_PROGRESS`, `ALREADY_REFUNDED` (fully refunded, or a card transaction with a completed refund: card refunds are accepted once per transaction), `TRANSACTION_NOT_APPROVED` (only `APPROVED` or `PARTIALLY_REFUNDED` transactions with an approved amount can be refunded), `PAYMENT_DATA_MISSING` (no Pix end-to-end id, or no acquirer id on a card payment), `PROVIDER_UNAVAILABLE`, `SETTLEMENT_IN_PROGRESS` and `REFUND_WINDOW_EXPIRED` (a Pix approved more than 90 days ago). These are the values of the transaction's `refundability.blocked_reason`, so reading the transaction first tells whether a refund will be accepted. They are checked before the amount.\n- An amount the transaction refuses is answered `400` with code `VALIDATION_ERROR` on field `amount`: more than the approved amount minus prior refunds that are not `FAILED` or `CANCELLED`, a partial refund on a provider that only accepts full cancellations, or a partial card refund on the day of the sale.\n- `refund_amount` is optional. When omitted, it resolves to the transaction's original approved amount. Because the resolved amount must still satisfy the exceeds-approved guard, omission only succeeds on a transaction with no prior `COMPLETED`, `PENDING`, `PROCESSING`, or `TIMEOUT` refunds; `FAILED` and `CANCELLED` priors are ignored. To refund only the remainder of a partially refunded transaction, send `refund_amount` explicitly.\n- Partial refunds are supported for providers that allow them (transaction status becomes PARTIALLY_REFUNDED); providers that only accept full cancellations (e.g. Cappta) reject partial refund requests with a 400 — omit `refund_amount` or submit the full approved amount instead.\n- Card refunds on providers that cannot refund post-settlement (e.g. Cappta) are refused with `REFUND_NOT_ALLOWED` and reason `SETTLEMENT_IN_PROGRESS` once the pre-settlement cancellation window has closed. The cutoff depends on payment method and anticipation: `DEBIT_CARD` settles on the next business day after approval; anticipated `CREDIT_CARD` settles at approval plus the transaction's `anticipation_days` (D+N), rolled to the next business day when that day is not one and never later than the standard schedule (a transaction created before `anticipation_days` existed, whose value the backfill has not stored yet, keeps the next-business-day window until it does); non-anticipated `CREDIT_CARD` settles ~29 calendar days later (then the next business day), so its refund window stays open much longer. The window closes at 23:59 (America/Sao_Paulo) the night before that settlement day, and the transaction's `refundability.refundable_until` carries that instant while the window is open (it is `null` once it has closed). Refunds across a weekend/holiday remain allowed until that boundary.\n- Full refunds change status to REFUNDED\n- Transaction may return with PENDING_REFUND status if the provider call fails for a transient reason (e.g., timeout, insufficient balance). The refund is retried by background jobs until it completes, is cancelled, or its refund window closes (the card pre-settlement window, the Pix 90-day return window); then it is marked `FAILED` unless the provider already took it, with the reason in `last_attempt_error_message`.\n","deprecated":null,"version":null,"openapi":"/api-spec.yaml post /v1/merchants/{merchantId}/transactions/{transactionId}/refunds","href":"/api-reference/transactions/refund-a-transaction-for-a-specific-merchant","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n li: \"li\",\n p: \"p\",\n strong: \"strong\",\n ul: \"ul\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsx(_components.p, {\n children: \"Requires the merchant.transaction.refund permission.\"\n }), \"\\n\", _jsx(_components.p, {\n children: \"Refunds a transaction for a merchant that belongs to the authenticated organization.\"\n }), \"\\n\", _jsx(_components.p, {\n children: _jsx(_components.strong, {\n children: \"Important Notes:\"\n })\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [\"A refund the transaction’s state refuses is answered \", _jsx(_components.code, {\n children: \"400\"\n }), \" with code \", _jsx(_components.code, {\n children: \"REFUND_NOT_ALLOWED\"\n }), \" and the rule in \", _jsx(_components.code, {\n children: \"details.reason\"\n }), \": \", _jsx(_components.code, {\n children: \"PAYMENT_METHOD_NOT_SUPPORTED\"\n }), \" (BOLEPIX, or a payment method the transaction’s provider cannot refund), \", _jsx(_components.code, {\n children: \"REFUND_IN_PROGRESS\"\n }), \", \", _jsx(_components.code, {\n children: \"ALREADY_REFUNDED\"\n }), \" (fully refunded, or a card transaction with a completed refund: card refunds are accepted once per transaction), \", _jsx(_components.code, {\n children: \"TRANSACTION_NOT_APPROVED\"\n }), \" (only \", _jsx(_components.code, {\n children: \"APPROVED\"\n }), \" or \", _jsx(_components.code, {\n children: \"PARTIALLY_REFUNDED\"\n }), \" transactions with an approved amount can be refunded), \", _jsx(_components.code, {\n children: \"PAYMENT_DATA_MISSING\"\n }), \" (no Pix end-to-end id, or no acquirer id on a card payment), \", _jsx(_components.code, {\n children: \"PROVIDER_UNAVAILABLE\"\n }), \", \", _jsx(_components.code, {\n children: \"SETTLEMENT_IN_PROGRESS\"\n }), \" and \", _jsx(_components.code, {\n children: \"REFUND_WINDOW_EXPIRED\"\n }), \" (a Pix approved more than 90 days ago). These are the values of the transaction’s \", _jsx(_components.code, {\n children: \"refundability.blocked_reason\"\n }), \", so reading the transaction first tells whether a refund will be accepted. They are checked before the amount.\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"An amount the transaction refuses is answered \", _jsx(_components.code, {\n children: \"400\"\n }), \" with code \", _jsx(_components.code, {\n children: \"VALIDATION_ERROR\"\n }), \" on field \", _jsx(_components.code, {\n children: \"amount\"\n }), \": more than the approved amount minus prior refunds that are not \", _jsx(_components.code, {\n children: \"FAILED\"\n }), \" or \", _jsx(_components.code, {\n children: \"CANCELLED\"\n }), \", a partial refund on a provider that only accepts full cancellations, or a partial card refund on the day of the sale.\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.code, {\n children: \"refund_amount\"\n }), \" is optional. When omitted, it resolves to the transaction’s original approved amount. Because the resolved amount must still satisfy the exceeds-approved guard, omission only succeeds on a transaction with no prior \", _jsx(_components.code, {\n children: \"COMPLETED\"\n }), \", \", _jsx(_components.code, {\n children: \"PENDING\"\n }), \", \", _jsx(_components.code, {\n children: \"PROCESSING\"\n }), \", or \", _jsx(_components.code, {\n children: \"TIMEOUT\"\n }), \" refunds; \", _jsx(_components.code, {\n children: \"FAILED\"\n }), \" and \", _jsx(_components.code, {\n children: \"CANCELLED\"\n }), \" priors are ignored. To refund only the remainder of a partially refunded transaction, send \", _jsx(_components.code, {\n children: \"refund_amount\"\n }), \" explicitly.\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"Partial refunds are supported for providers that allow them (transaction status becomes PARTIALLY_REFUNDED); providers that only accept full cancellations (e.g. Cappta) reject partial refund requests with a 400 — omit \", _jsx(_components.code, {\n children: \"refund_amount\"\n }), \" or submit the full approved amount instead.\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"Card refunds on providers that cannot refund post-settlement (e.g. Cappta) are refused with \", _jsx(_components.code, {\n children: \"REFUND_NOT_ALLOWED\"\n }), \" and reason \", _jsx(_components.code, {\n children: \"SETTLEMENT_IN_PROGRESS\"\n }), \" once the pre-settlement cancellation window has closed. The cutoff depends on payment method and anticipation: \", _jsx(_components.code, {\n children: \"DEBIT_CARD\"\n }), \" settles on the next business day after approval; anticipated \", _jsx(_components.code, {\n children: \"CREDIT_CARD\"\n }), \" settles at approval plus the transaction’s \", _jsx(_components.code, {\n children: \"anticipation_days\"\n }), \" (D+N), rolled to the next business day when that day is not one and never later than the standard schedule (a transaction created before \", _jsx(_components.code, {\n children: \"anticipation_days\"\n }), \" existed, whose value the backfill has not stored yet, keeps the next-business-day window until it does); non-anticipated \", _jsx(_components.code, {\n children: \"CREDIT_CARD\"\n }), \" settles ~29 calendar days later (then the next business day), so its refund window stays open much longer. The window closes at 23:59 (America/Sao_Paulo) the night before that settlement day, and the transaction’s \", _jsx(_components.code, {\n children: \"refundability.refundable_until\"\n }), \" carries that instant while the window is open (it is \", _jsx(_components.code, {\n children: \"null\"\n }), \" once it has closed). Refunds across a weekend/holiday remain allowed until that boundary.\"]\n }), \"\\n\", _jsx(_components.li, {\n children: \"Full refunds change status to REFUNDED\"\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"Transaction may return with PENDING_REFUND status if the provider call fails for a transient reason (e.g., timeout, insufficient balance). The refund is retried by background jobs until it completes, is cancelled, or its refund window closes (the card pre-settlement window, the Pix 90-day return window); then it is marked \", _jsx(_components.code, {\n children: \"FAILED\"\n }), \" unless the provider already took it, with the reason in \", _jsx(_components.code, {\n children: \"last_attempt_error_message\"\n }), \".\"]\n }), \"\\n\"]\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Refund a transaction for a specific merchant","description":"Requires the merchant.transaction.refund permission.\n\nRefunds a transaction for a merchant that belongs to the authenticated organization.\n\n**Important Notes:**\n- A refund the transaction's state refuses is answered `400` with code `REFUND_NOT_ALLOWED` and the rule in `details.reason`: `PAYMENT_METHOD_NOT_SUPPORTED` (BOLEPIX, or a payment method the transaction's provider cannot refund), `REFUND_IN_PROGRESS`, `ALREADY_REFUNDED` (fully refunded, or a card transaction with a completed refund: card refunds are accepted once per transaction), `TRANSACTION_NOT_APPROVED` (only `APPROVED` or `PARTIALLY_REFUNDED` transactions with an approved amount can be refunded), `PAYMENT_DATA_MISSING` (no Pix end-to-end id, or no acquirer id on a card payment), `PROVIDER_UNAVAILABLE`, `SETTLEMENT_IN_PROGRESS` and `REFUND_WINDOW_EXPIRED` (a Pix approved more than 90 days ago). These are the values of the transaction's `refundability.blocked_reason`, so reading the transaction first tells whether a refund will be accepted. They are checked before the amount.\n- An amount the transaction refuses is answered `400` with code `VALIDATION_ERROR` on field `amount`: more than the approved amount minus prior refunds that are not `FAILED` or `CANCELLED`, a partial refund on a provider that only accepts full cancellations, or a partial card refund on the day of the sale.\n- `refund_amount` is optional. When omitted, it resolves to the transaction's original approved amount. Because the resolved amount must still satisfy the exceeds-approved guard, omission only succeeds on a transaction with no prior `COMPLETED`, `PENDING`, `PROCESSING`, or `TIMEOUT` refunds; `FAILED` and `CANCELLED` priors are ignored. To refund only the remainder of a partially refunded transaction, send `refund_amount` explicitly.\n- Partial refunds are supported for providers that allow them (transaction status becomes PARTIALLY_REFUNDED); providers that only accept full cancellations (e.g. Cappta) reject partial refund requests with a 400 — omit `refund_amount` or submit the full approved amount instead.\n- Card refunds on providers that cannot refund post-settlement (e.g. Cappta) are refused with `REFUND_NOT_ALLOWED` and reason `SETTLEMENT_IN_PROGRESS` once the pre-settlement cancellation window has closed. The cutoff depends on payment method and anticipation: `DEBIT_CARD` settles on the next business day after approval; anticipated `CREDIT_CARD` settles at approval plus the transaction's `anticipation_days` (D+N), rolled to the next business day when that day is not one and never later than the standard schedule (a transaction created before `anticipation_days` existed, whose value the backfill has not stored yet, keeps the next-business-day window until it does); non-anticipated `CREDIT_CARD` settles ~29 calendar days later (then the next business day), so its refund window stays open much longer. The window closes at 23:59 (America/Sao_Paulo) the night before that settlement day, and the transaction's `refundability.refundable_until` carries that instant while the window is open (it is `null` once it has closed). Refunds across a weekend/holiday remain allowed until that boundary.\n- Full refunds change status to REFUNDED\n- Transaction may return with PENDING_REFUND status if the provider call fails for a transient reason (e.g., timeout, insufficient balance). The refund is retried by background jobs until it completes, is cancelled, or its refund window closes (the card pre-settlement window, the Pix 90-day return window); then it is marked `FAILED` unless the provider already took it, with the reason in `last_attempt_error_message`.\n","deprecated":null,"version":null,"openapi":"/api-spec.yaml post /v1/merchants/{merchantId}/transactions/{transactionId}/refunds","href":"/api-reference/transactions/refund-a-transaction-for-a-specific-merchant","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"summary":"Refund a transaction for a specific merchant","description":"Requires the merchant.transaction.refund permission.\n\nRefunds a transaction for a merchant that belongs to the authenticated organization.\n\n**Important Notes:**\n- A refund the transaction's state refuses is answered `400` with code `REFUND_NOT_ALLOWED` and the rule in `details.reason`: `PAYMENT_METHOD_NOT_SUPPORTED` (BOLEPIX, or a payment method the transaction's provider cannot refund), `REFUND_IN_PROGRESS`, `ALREADY_REFUNDED` (fully refunded, or a card transaction with a completed refund: card refunds are accepted once per transaction), `TRANSACTION_NOT_APPROVED` (only `APPROVED` or `PARTIALLY_REFUNDED` transactions with an approved amount can be refunded), `PAYMENT_DATA_MISSING` (no Pix end-to-end id, or no acquirer id on a card payment), `PROVIDER_UNAVAILABLE`, `SETTLEMENT_IN_PROGRESS` and `REFUND_WINDOW_EXPIRED` (a Pix approved more than 90 days ago). These are the values of the transaction's `refundability.blocked_reason`, so reading the transaction first tells whether a refund will be accepted. They are checked before the amount.\n- An amount the transaction refuses is answered `400` with code `VALIDATION_ERROR` on field `amount`: more than the approved amount minus prior refunds that are not `FAILED` or `CANCELLED`, a partial refund on a provider that only accepts full cancellations, or a partial card refund on the day of the sale.\n- `refund_amount` is optional. When omitted, it resolves to the transaction's original approved amount. Because the resolved amount must still satisfy the exceeds-approved guard, omission only succeeds on a transaction with no prior `COMPLETED`, `PENDING`, `PROCESSING`, or `TIMEOUT` refunds; `FAILED` and `CANCELLED` priors are ignored. To refund only the remainder of a partially refunded transaction, send `refund_amount` explicitly.\n- Partial refunds are supported for providers that allow them (transaction status becomes PARTIALLY_REFUNDED); providers that only accept full cancellations (e.g. Cappta) reject partial refund requests with a 400 — omit `refund_amount` or submit the full approved amount instead.\n- Card refunds on providers that cannot refund post-settlement (e.g. Cappta) are refused with `REFUND_NOT_ALLOWED` and reason `SETTLEMENT_IN_PROGRESS` once the pre-settlement cancellation window has closed. The cutoff depends on payment method and anticipation: `DEBIT_CARD` settles on the next business day after approval; anticipated `CREDIT_CARD` settles at approval plus the transaction's `anticipation_days` (D+N), rolled to the next business day when that day is not one and never later than the standard schedule (a transaction created before `anticipation_days` existed, whose value the backfill has not stored yet, keeps the next-business-day window until it does); non-anticipated `CREDIT_CARD` settles ~29 calendar days later (then the next business day), so its refund window stays open much longer. The window closes at 23:59 (America/Sao_Paulo) the night before that settlement day, and the transaction's `refundability.refundable_until` carries that instant while the window is open (it is `null` once it has closed). Refunds across a weekend/holiday remain allowed until that boundary.\n- Full refunds change status to REFUNDED\n- Transaction may return with PENDING_REFUND status if the provider call fails for a transient reason (e.g., timeout, insufficient balance). The refund is retried by background jobs until it completes, is cancelled, or its refund window closes (the card pre-settlement window, the Pix 90-day return window); then it is marked `FAILED` unless the provider already took it, with the reason in `last_attempt_error_message`.\n","tags":["Transactions"],"security":["86a879fd-cb36-42dd-8665-589ea32598ba"],"parameters":["8069c232-2e73-4cea-9e41-9a35bf5146eb","91e53271-3283-4aca-8b0a-a8de2b2ee536"],"requestBody":"78679d80-500c-4c72-93b5-9f3719a7555f","responses":{"200":"c4b82315-ff6b-42cb-84b7-4c2620a9c4e2","400":"9c632aef-dfbf-468a-929f-97042477d445","401":"662c0695-d736-4d23-98d7-0b862710a13c","403":"cf3fb889-ef6e-444c-9841-dab97407231b","404":"c89311a7-7e39-4cac-be04-27a8d08d4c10","500":"bbfb2899-20ee-4f09-963a-4a2596bba45a"},"method":"post","type":"path","servers":["8a341ef3-4177-4d41-a08d-d65c580921e9","eda3b261-cda0-42bf-84d8-b68c10590d8c"],"path":"/v1/merchants/{merchantId}/transactions/{transactionId}/refunds","baseUrlOptions":["https://api-sandbox.rinne.com.br/core","https://api.rinne.com.br/core"],"title":"Refund a transaction for a specific merchant","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"8069c232-2e73-4cea-9e41-9a35bf5146eb":{"in":"path","name":"merchantId","required":true,"schema":{"type":"string","isRequired":true,"description":"The merchant ID","uniqueKey":"","typeLabel":"string"},"description":"The merchant ID","example":"123e4567-e89b-12d3-a456-426614174000"},"91e53271-3283-4aca-8b0a-a8de2b2ee536":{"in":"path","name":"transactionId","required":true,"schema":{"type":"string","isRequired":true,"description":"Transaction ID to refund","uniqueKey":"","typeLabel":"string"},"description":"Transaction ID to refund","example":"tx_123456789"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["refund_reason"],"properties":{"refund_reason":{"type":"string","enum":["BANKING_ERROR","FRAUD","CUSTOMER_REQUEST","PIX_WITHDRAWAL_OR_CHANGE_ERROR"],"description":"Reason for the refund.\n- BANKING_ERROR: Banking system error\n- FRAUD: Fraudulent transaction\n- CUSTOMER_REQUEST: Customer requested refund\n- PIX_WITHDRAWAL_OR_CHANGE_ERROR: PIX withdrawal or change error\n","example":"CUSTOMER_REQUEST","isRequired":true,"uniqueKey":"refund_reason","typeLabel":"enum\u003cstring>"},"refund_amount":{"type":"integer","minimum":1,"description":"Refund amount in cents. Optional — when omitted, the API treats the request as a refund of the transaction's original approved amount.","example":1000,"uniqueKey":"refund_amount","typeLabel":"integer"},"description":{"type":"string","description":"Additional description for the refund","example":"Refund due to customer dissatisfaction","uniqueKey":"description","typeLabel":"string"},"metadata":{"type":"object","additionalProperties":true,"description":"Optional metadata object for storing custom key-value pairs","example":{"custom_field":"value","refund_source":"customer_request"},"uniqueKey":"metadata","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"refund_reason":"CUSTOMER_REQUEST","refund_amount":1000,"description":"Refund due to customer dissatisfaction","metadata":{"custom_field":"value","refund_source":"customer_request"}}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"c4b82315-ff6b-42cb-84b7-4c2620a9c4e2":{"description":"Transaction refunded successfully","content":{"application/json":{"schema":{"type":"object","description":"Transaction data returned by the API","required":["company_document_type","company_document_number","anticipation_days","id","provider","affiliation_id","request_id","mcc","amount","currency","pricing","status","capture_method","installments","payment_method","automatic_anticipation","origin","company_id","created_at","pix_payer"],"properties":{"id":{"type":"string","description":"Transaction unique identifier","example":"tx_123456789","isRequired":true,"uniqueKey":"id","typeLabel":"string"},"provider":{"type":"string","enum":["CELCOIN","RINNE","CAPPTA"],"description":"Payment provider","example":"CELCOIN","isRequired":true,"uniqueKey":"provider","typeLabel":"enum\u003cstring>"},"affiliation_id":{"type":"string","description":"Affiliation ID for this transaction","example":"a3dbd0c2-9f79-4f86-8caa-47779b3f2793","isRequired":true,"uniqueKey":"affiliation_id","typeLabel":"string"},"request_id":{"type":"string","description":"Unique request ID for this transaction used for idempotency","example":"request-123","isRequired":true,"uniqueKey":"request_id","typeLabel":"string"},"mcc":{"type":"string","description":"Merchant Category Code","example":"5411","isRequired":true,"uniqueKey":"mcc","typeLabel":"string"},"amount":{"type":"integer","description":"Transaction amount in cents","example":10050,"isRequired":true,"uniqueKey":"amount","typeLabel":"integer"},"currency":{"type":"string","enum":["BRL"],"description":"Transaction currency","example":"BRL","isRequired":true,"uniqueKey":"currency","typeLabel":"enum\u003cstring>"},"pricing":{"type":"object","description":"Transaction pricing information","properties":{"fee":{"oneOf":[{"type":"object","description":"Fee pricing structure","required":["percentage"],"properties":{"percentage":{"oneOf":[{"type":"number","format":"float","minimum":0,"description":"Percentage fee (e.g., 2.5 for 2.5%)","example":2.5,"isRequired":true,"uniqueKey":"pricing.fee.oneOf.0.percentage.oneOf.0","typeLabel":"number\u003cfloat>"},{"type":"null","format":"float","minimum":0,"description":"Percentage fee (e.g., 2.5 for 2.5%)","example":2.5,"isRequired":true,"uniqueKey":"pricing.fee.oneOf.0.percentage.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"pricing.fee.oneOf.0.percentage","typeLabel":"number\u003cfloat> | null"},"flat":{"oneOf":[{"type":"number","format":"float","minimum":0,"description":"Flat fee in cents","example":50,"uniqueKey":"pricing.fee.oneOf.0.flat.oneOf.0","typeLabel":"number\u003cfloat>"},{"type":"null","format":"float","minimum":0,"description":"Flat fee in cents","example":50,"uniqueKey":"pricing.fee.oneOf.0.flat.oneOf.1","typeLabel":"null"}],"uniqueKey":"pricing.fee.oneOf.0.flat","typeLabel":"number\u003cfloat> | null"},"minimum_price":{"oneOf":[{"type":"number","format":"float","minimum":0,"description":"Minimum fee in cents","example":100,"uniqueKey":"pricing.fee.oneOf.0.minimum_price.oneOf.0","typeLabel":"number\u003cfloat>"},{"type":"null","format":"float","minimum":0,"description":"Minimum fee in cents","example":100,"uniqueKey":"pricing.fee.oneOf.0.minimum_price.oneOf.1","typeLabel":"null"}],"uniqueKey":"pricing.fee.oneOf.0.minimum_price","typeLabel":"number\u003cfloat> | null"}},"isRequired":true,"uniqueKey":"pricing.fee.oneOf.0","typeLabel":"object"},{"type":"object","description":"Fee pricing structure","required":["flat"],"properties":{"flat":{"oneOf":[{"type":"number","format":"float","minimum":0,"description":"Flat fee in cents","example":50,"isRequired":true,"uniqueKey":"pricing.fee.oneOf.1.flat.oneOf.0","typeLabel":"number\u003cfloat>"},{"type":"null","format":"float","minimum":0,"description":"Flat fee in cents","example":50,"isRequired":true,"uniqueKey":"pricing.fee.oneOf.1.flat.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"pricing.fee.oneOf.1.flat","typeLabel":"number\u003cfloat> | null"},"percentage":{"oneOf":[{"type":"number","format":"float","minimum":0,"description":"Percentage fee (e.g., 2.5 for 2.5%)","example":2.5,"uniqueKey":"pricing.fee.oneOf.1.percentage.oneOf.0","typeLabel":"number\u003cfloat>"},{"type":"null","format":"float","minimum":0,"description":"Percentage fee (e.g., 2.5 for 2.5%)","example":2.5,"uniqueKey":"pricing.fee.oneOf.1.percentage.oneOf.1","typeLabel":"null"}],"uniqueKey":"pricing.fee.oneOf.1.percentage","typeLabel":"number\u003cfloat> | null"},"minimum_price":{"oneOf":[{"type":"number","format":"float","minimum":0,"description":"Minimum fee in cents","example":100,"uniqueKey":"pricing.fee.oneOf.1.minimum_price.oneOf.0","typeLabel":"number\u003cfloat>"},{"type":"null","format":"float","minimum":0,"description":"Minimum fee in cents","example":100,"uniqueKey":"pricing.fee.oneOf.1.minimum_price.oneOf.1","typeLabel":"null"}],"uniqueKey":"pricing.fee.oneOf.1.minimum_price","typeLabel":"number\u003cfloat> | null"}},"isRequired":true,"uniqueKey":"pricing.fee.oneOf.1","typeLabel":"object"},{"type":"object","description":"Fee pricing structure","required":["minimum_price"],"properties":{"minimum_price":{"oneOf":[{"type":"number","format":"float","minimum":0,"description":"Minimum fee in cents","example":100,"isRequired":true,"uniqueKey":"pricing.fee.oneOf.2.minimum_price.oneOf.0","typeLabel":"number\u003cfloat>"},{"type":"null","format":"float","minimum":0,"description":"Minimum fee in cents","example":100,"isRequired":true,"uniqueKey":"pricing.fee.oneOf.2.minimum_price.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"pricing.fee.oneOf.2.minimum_price","typeLabel":"number\u003cfloat> | null"},"percentage":{"oneOf":[{"type":"number","format":"float","minimum":0,"description":"Percentage fee (e.g., 2.5 for 2.5%)","example":2.5,"uniqueKey":"pricing.fee.oneOf.2.percentage.oneOf.0","typeLabel":"number\u003cfloat>"},{"type":"null","format":"float","minimum":0,"description":"Percentage fee (e.g., 2.5 for 2.5%)","example":2.5,"uniqueKey":"pricing.fee.oneOf.2.percentage.oneOf.1","typeLabel":"null"}],"uniqueKey":"pricing.fee.oneOf.2.percentage","typeLabel":"number\u003cfloat> | null"},"flat":{"oneOf":[{"type":"number","format":"float","minimum":0,"description":"Flat fee in cents","example":50,"uniqueKey":"pricing.fee.oneOf.2.flat.oneOf.0","typeLabel":"number\u003cfloat>"},{"type":"null","format":"float","minimum":0,"description":"Flat fee in cents","example":50,"uniqueKey":"pricing.fee.oneOf.2.flat.oneOf.1","typeLabel":"null"}],"uniqueKey":"pricing.fee.oneOf.2.flat","typeLabel":"number\u003cfloat> | null"}},"isRequired":true,"uniqueKey":"pricing.fee.oneOf.2","typeLabel":"object"}],"isRequired":true,"uniqueKey":"pricing.fee","typeLabel":"object"},"cost":{"oneOf":[{"type":"object","description":"Cost pricing structure","required":["percentage"],"properties":{"percentage":{"oneOf":[{"type":"number","format":"float","minimum":0,"description":"Percentage fee (e.g., 2.5 for 2.5%)","example":2.5,"isRequired":true,"uniqueKey":"pricing.cost.oneOf.0.percentage.oneOf.0","typeLabel":"number\u003cfloat>"},{"type":"null","format":"float","minimum":0,"description":"Percentage fee (e.g., 2.5 for 2.5%)","example":2.5,"isRequired":true,"uniqueKey":"pricing.cost.oneOf.0.percentage.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"pricing.cost.oneOf.0.percentage","typeLabel":"number\u003cfloat> | null"},"flat":{"oneOf":[{"type":"number","format":"float","minimum":0,"description":"Flat fee in cents","example":50,"uniqueKey":"pricing.cost.oneOf.0.flat.oneOf.0","typeLabel":"number\u003cfloat>"},{"type":"null","format":"float","minimum":0,"description":"Flat fee in cents","example":50,"uniqueKey":"pricing.cost.oneOf.0.flat.oneOf.1","typeLabel":"null"}],"uniqueKey":"pricing.cost.oneOf.0.flat","typeLabel":"number\u003cfloat> | null"},"minimum_price":{"oneOf":[{"type":"number","format":"float","minimum":0,"description":"Minimum fee in cents","example":100,"uniqueKey":"pricing.cost.oneOf.0.minimum_price.oneOf.0","typeLabel":"number\u003cfloat>"},{"type":"null","format":"float","minimum":0,"description":"Minimum fee in cents","example":100,"uniqueKey":"pricing.cost.oneOf.0.minimum_price.oneOf.1","typeLabel":"null"}],"uniqueKey":"pricing.cost.oneOf.0.minimum_price","typeLabel":"number\u003cfloat> | null"}},"isRequired":true,"uniqueKey":"pricing.cost.oneOf.0","typeLabel":"object"},{"type":"object","description":"Cost pricing structure","required":["flat"],"properties":{"flat":{"oneOf":[{"type":"number","format":"float","minimum":0,"description":"Flat fee in cents","example":50,"isRequired":true,"uniqueKey":"pricing.cost.oneOf.1.flat.oneOf.0","typeLabel":"number\u003cfloat>"},{"type":"null","format":"float","minimum":0,"description":"Flat fee in cents","example":50,"isRequired":true,"uniqueKey":"pricing.cost.oneOf.1.flat.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"pricing.cost.oneOf.1.flat","typeLabel":"number\u003cfloat> | null"},"percentage":{"oneOf":[{"type":"number","format":"float","minimum":0,"description":"Percentage fee (e.g., 2.5 for 2.5%)","example":2.5,"uniqueKey":"pricing.cost.oneOf.1.percentage.oneOf.0","typeLabel":"number\u003cfloat>"},{"type":"null","format":"float","minimum":0,"description":"Percentage fee (e.g., 2.5 for 2.5%)","example":2.5,"uniqueKey":"pricing.cost.oneOf.1.percentage.oneOf.1","typeLabel":"null"}],"uniqueKey":"pricing.cost.oneOf.1.percentage","typeLabel":"number\u003cfloat> | null"},"minimum_price":{"oneOf":[{"type":"number","format":"float","minimum":0,"description":"Minimum fee in cents","example":100,"uniqueKey":"pricing.cost.oneOf.1.minimum_price.oneOf.0","typeLabel":"number\u003cfloat>"},{"type":"null","format":"float","minimum":0,"description":"Minimum fee in cents","example":100,"uniqueKey":"pricing.cost.oneOf.1.minimum_price.oneOf.1","typeLabel":"null"}],"uniqueKey":"pricing.cost.oneOf.1.minimum_price","typeLabel":"number\u003cfloat> | null"}},"isRequired":true,"uniqueKey":"pricing.cost.oneOf.1","typeLabel":"object"},{"type":"object","description":"Cost pricing structure","required":["minimum_price"],"properties":{"minimum_price":{"oneOf":[{"type":"number","format":"float","minimum":0,"description":"Minimum fee in cents","example":100,"isRequired":true,"uniqueKey":"pricing.cost.oneOf.2.minimum_price.oneOf.0","typeLabel":"number\u003cfloat>"},{"type":"null","format":"float","minimum":0,"description":"Minimum fee in cents","example":100,"isRequired":true,"uniqueKey":"pricing.cost.oneOf.2.minimum_price.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"pricing.cost.oneOf.2.minimum_price","typeLabel":"number\u003cfloat> | null"},"percentage":{"oneOf":[{"type":"number","format":"float","minimum":0,"description":"Percentage fee (e.g., 2.5 for 2.5%)","example":2.5,"uniqueKey":"pricing.cost.oneOf.2.percentage.oneOf.0","typeLabel":"number\u003cfloat>"},{"type":"null","format":"float","minimum":0,"description":"Percentage fee (e.g., 2.5 for 2.5%)","example":2.5,"uniqueKey":"pricing.cost.oneOf.2.percentage.oneOf.1","typeLabel":"null"}],"uniqueKey":"pricing.cost.oneOf.2.percentage","typeLabel":"number\u003cfloat> | null"},"flat":{"oneOf":[{"type":"number","format":"float","minimum":0,"description":"Flat fee in cents","example":50,"uniqueKey":"pricing.cost.oneOf.2.flat.oneOf.0","typeLabel":"number\u003cfloat>"},{"type":"null","format":"float","minimum":0,"description":"Flat fee in cents","example":50,"uniqueKey":"pricing.cost.oneOf.2.flat.oneOf.1","typeLabel":"null"}],"uniqueKey":"pricing.cost.oneOf.2.flat","typeLabel":"number\u003cfloat> | null"}},"isRequired":true,"uniqueKey":"pricing.cost.oneOf.2","typeLabel":"object"}],"isRequired":true,"uniqueKey":"pricing.cost","typeLabel":"object"}},"required":["fee","cost"],"isRequired":true,"uniqueKey":"pricing","typeLabel":"object"},"status":{"type":"string","enum":["PROCESSING","AUTHORIZED","APPROVED","REFUNDED","PARTIALLY_REFUNDED","PENDING_REFUND","CHARGEDBACK","WAITING_PAYMENT","AWAITING_3DS","RISK_ANALYSIS","REFUSED","FAILED","EXPIRED","PENDING_CANCELLATION","CANCELLED"],"description":"Transaction status","example":"APPROVED","isRequired":true,"uniqueKey":"status","typeLabel":"enum\u003cstring>"},"capture_method":{"type":"string","enum":["EMV","MAGSTRIPE","ECOMMERCE","CONTACTLESS_ICC"],"description":"Transaction capture method","example":"EMV","isRequired":true,"uniqueKey":"capture_method","typeLabel":"enum\u003cstring>"},"installments":{"oneOf":[{"type":"integer","description":"Number of installments","example":1,"isRequired":true,"uniqueKey":"installments.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Number of installments","example":1,"isRequired":true,"uniqueKey":"installments.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"installments","typeLabel":"integer | null"},"payment_method":{"type":"string","enum":["CREDIT_CARD","DEBIT_CARD","PIX","BOLEPIX"],"description":"Payment method","example":"PIX","isRequired":true,"uniqueKey":"payment_method","typeLabel":"enum\u003cstring>"},"automatic_anticipation":{"type":"boolean","description":"Whether this transaction was automatically anticipated at creation time. Set to true when the affiliation's anticipation_type is AUTOMATIC; false otherwise.\n","example":false,"isRequired":true,"uniqueKey":"automatic_anticipation","typeLabel":"boolean"},"anticipation_days":{"type":"integer","minimum":0,"description":"Automatic-anticipation horizon in days (D+N), copied from the affiliation at creation and immutable after. 0 when automatic_anticipation is false. Available to fee and cost policy rule conditions as transaction.anticipation_days. A transaction created before this field existed reports the affiliation's current horizon when automatic_anticipation is true and 0 otherwise, until a one-time backfill stores its value; its card refund window is the next-business-day one until then.\n","example":1,"isRequired":true,"uniqueKey":"anticipation_days","typeLabel":"integer"},"origin":{"type":"string","enum":["INTERNAL","EXTERNAL"],"description":"Where the transaction originated. INTERNAL: created through the Rinne API. EXTERNAL: originated outside the platform and registered from a provider event, such as an inbound Pix sent directly to a Pix key or a POS (card machine) transaction.","example":"INTERNAL","isRequired":true,"uniqueKey":"origin","typeLabel":"enum\u003cstring>"},"company_id":{"type":"string","description":"Company ID that owns this transaction","example":"a3dbd0c2-9f79-4f86-8caa-47779b3f2793","isRequired":true,"uniqueKey":"company_id","typeLabel":"string"},"company_document_type":{"type":"string","enum":["CPF","CNPJ"],"description":"Document type of the company that owns this transaction (the receiver).","example":"CNPJ","isRequired":true,"uniqueKey":"company_document_type","typeLabel":"enum\u003cstring>"},"company_document_number":{"type":"string","description":"Document number of the company that owns this transaction (the receiver), without formatting: CPF (11 digits) or CNPJ (14 characters, alphanumeric CNPJ supported).","example":"12345678000195","isRequired":true,"uniqueKey":"company_document_number","typeLabel":"string"},"pix_payer":{"oneOf":[{"type":"object","description":"The account holder who actually paid a PIX transaction, as reported by the payment provider when the payment is received. May differ from `consumer`, which is what the integrator sent at creation. `null` until the payment is received, and for every other payment method. A PIX received on a Pix key without a charge carries it from creation.","properties":{"account_holder_name":{"type":"string","description":"Name of the paying account holder","example":"Maria Silva","isRequired":true,"uniqueKey":"pix_payer.oneOf.0.account_holder_name","typeLabel":"string"},"account_holder_document_number":{"type":"string","description":"CPF or CNPJ of the paying account holder","example":"12345678901","isRequired":true,"uniqueKey":"pix_payer.oneOf.0.account_holder_document_number","typeLabel":"string"},"ispb":{"type":"string","description":"ISPB code of the payer's institution","example":"18236120","isRequired":true,"uniqueKey":"pix_payer.oneOf.0.ispb","typeLabel":"string"}},"required":["account_holder_name","account_holder_document_number","ispb"],"isRequired":true,"uniqueKey":"pix_payer.oneOf.0","typeLabel":"object"},{"type":"null","description":"The account holder who actually paid a PIX transaction, as reported by the payment provider when the payment is received. May differ from `consumer`, which is what the integrator sent at creation. `null` until the payment is received, and for every other payment method. A PIX received on a Pix key without a charge carries it from creation.","properties":{"account_holder_name":{"type":"string","description":"Name of the paying account holder","example":"Maria Silva"},"account_holder_document_number":{"type":"string","description":"CPF or CNPJ of the paying account holder","example":"12345678901"},"ispb":{"type":"string","description":"ISPB code of the payer's institution","example":"18236120"}},"required":["account_holder_name","account_holder_document_number","ispb"],"isRequired":true,"uniqueKey":"pix_payer.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"pix_payer","typeLabel":"object | null"},"created_at":{"type":"string","format":"date-time","description":"Transaction creation timestamp","example":"2023-12-01T10:00:00.000Z","isRequired":true,"uniqueKey":"created_at","typeLabel":"string\u003cdate-time>"},"fee_policy_id":{"oneOf":[{"type":"string","description":"Fee policy ID applied to this transaction","example":"fee_policy_123","uniqueKey":"fee_policy_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"Fee policy ID applied to this transaction","example":"fee_policy_123","uniqueKey":"fee_policy_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"fee_policy_id","typeLabel":"string | null"},"cost_policy_id":{"oneOf":[{"type":"string","description":"Cost policy ID applied to this transaction","example":"cost_policy_123","uniqueKey":"cost_policy_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"Cost policy ID applied to this transaction","example":"cost_policy_123","uniqueKey":"cost_policy_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"cost_policy_id","typeLabel":"string | null"},"approved_amount":{"oneOf":[{"type":"integer","description":"Approved amount in cents","example":10050,"uniqueKey":"approved_amount.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Approved amount in cents","example":10050,"uniqueKey":"approved_amount.oneOf.1","typeLabel":"null"}],"uniqueKey":"approved_amount","typeLabel":"integer | null"},"refunded_amount":{"oneOf":[{"type":"integer","description":"Total amount refunded in cents (sum of completed refunds)","example":0,"uniqueKey":"refunded_amount.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Total amount refunded in cents (sum of completed refunds)","example":0,"uniqueKey":"refunded_amount.oneOf.1","typeLabel":"null"}],"uniqueKey":"refunded_amount","typeLabel":"integer | null"},"three_d_secure_session_id":{"oneOf":[{"type":"string","format":"uuid","description":"ID of the 3DS session linked to this transaction, if any.\nSet when the transaction was created with a 3DS session\n(session-first flow) or authenticated via the\n/authenticate endpoint (transaction-first flow).\n","example":"550e8400-e29b-41d4-a716-446655440000","uniqueKey":"three_d_secure_session_id.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"ID of the 3DS session linked to this transaction, if any.\nSet when the transaction was created with a 3DS session\n(session-first flow) or authenticated via the\n/authenticate endpoint (transaction-first flow).\n","example":"550e8400-e29b-41d4-a716-446655440000","uniqueKey":"three_d_secure_session_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"three_d_secure_session_id","typeLabel":"string\u003cuuid> | null"},"acquirer_response_code":{"oneOf":[{"type":"string","description":"Acquirer response code","example":"00","uniqueKey":"acquirer_response_code.oneOf.0","typeLabel":"string"},{"type":"null","description":"Acquirer response code","example":"00","uniqueKey":"acquirer_response_code.oneOf.1","typeLabel":"null"}],"uniqueKey":"acquirer_response_code","typeLabel":"string | null"},"pix_data":{"oneOf":[{"type":"object","description":"PIX-specific data (present if payment_method is PIX)","properties":{"pix_key_id":{"oneOf":[{"type":"string","description":"PIX key ID","example":"pix_key_123","uniqueKey":"pix_data.oneOf.0.pix_key_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"PIX key ID","example":"pix_key_123","uniqueKey":"pix_data.oneOf.0.pix_key_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"pix_data.oneOf.0.pix_key_id","typeLabel":"string | null"},"description":{"oneOf":[{"type":"string","description":"PIX description","example":"Payment for order #123","uniqueKey":"pix_data.oneOf.0.description.oneOf.0","typeLabel":"string"},{"type":"null","description":"PIX description","example":"Payment for order #123","uniqueKey":"pix_data.oneOf.0.description.oneOf.1","typeLabel":"null"}],"uniqueKey":"pix_data.oneOf.0.description","typeLabel":"string | null"},"qr_code":{"oneOf":[{"type":"string","description":"PIX QR code","example":"00020126580014br.gov.bcb.pix0136a3dbd0c2-9f79-4f86-8caa-47779b3f2793520400005303986540510.005802BR5913Test Company6008São Paulo62070503***6304E2CA","uniqueKey":"pix_data.oneOf.0.qr_code.oneOf.0","typeLabel":"string"},{"type":"null","description":"PIX QR code","example":"00020126580014br.gov.bcb.pix0136a3dbd0c2-9f79-4f86-8caa-47779b3f2793520400005303986540510.005802BR5913Test Company6008São Paulo62070503***6304E2CA","uniqueKey":"pix_data.oneOf.0.qr_code.oneOf.1","typeLabel":"null"}],"uniqueKey":"pix_data.oneOf.0.qr_code","typeLabel":"string | null"},"expires_at":{"oneOf":[{"type":"string","format":"date-time","description":"PIX expiration timestamp","example":"2023-12-02T10:00:00.000Z","uniqueKey":"pix_data.oneOf.0.expires_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"PIX expiration timestamp","example":"2023-12-02T10:00:00.000Z","uniqueKey":"pix_data.oneOf.0.expires_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"pix_data.oneOf.0.expires_at","typeLabel":"string\u003cdate-time> | null"},"identification":{"oneOf":[{"type":"string","description":"PIX identification","example":"order_123","uniqueKey":"pix_data.oneOf.0.identification.oneOf.0","typeLabel":"string"},{"type":"null","description":"PIX identification","example":"order_123","uniqueKey":"pix_data.oneOf.0.identification.oneOf.1","typeLabel":"null"}],"uniqueKey":"pix_data.oneOf.0.identification","typeLabel":"string | null"},"expiration_in_seconds":{"oneOf":[{"type":"integer","minimum":1,"maximum":86400,"description":"Expiration time in seconds (1-86400)","example":86400,"uniqueKey":"pix_data.oneOf.0.expiration_in_seconds.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":1,"maximum":86400,"description":"Expiration time in seconds (1-86400)","example":86400,"uniqueKey":"pix_data.oneOf.0.expiration_in_seconds.oneOf.1","typeLabel":"null"}],"uniqueKey":"pix_data.oneOf.0.expiration_in_seconds","typeLabel":"integer | null"},"end_to_end_id":{"oneOf":[{"type":"string","description":"PIX end-to-end ID","example":"E12345678202312101234567890123456","uniqueKey":"pix_data.oneOf.0.end_to_end_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"PIX end-to-end ID","example":"E12345678202312101234567890123456","uniqueKey":"pix_data.oneOf.0.end_to_end_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"pix_data.oneOf.0.end_to_end_id","typeLabel":"string | null"},"pix_payment_id":{"oneOf":[{"type":"string","description":"Provider id of the received PIX payment, the same value the account statement reports as `movement_id`. Null until the payment is received.","example":"27bff30a-3470-4e8e-a4f5-a16cf25be0e3","uniqueKey":"pix_data.oneOf.0.pix_payment_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"Provider id of the received PIX payment, the same value the account statement reports as `movement_id`. Null until the payment is received.","example":"27bff30a-3470-4e8e-a4f5-a16cf25be0e3","uniqueKey":"pix_data.oneOf.0.pix_payment_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"pix_data.oneOf.0.pix_payment_id","typeLabel":"string | null"},"due_date":{"oneOf":[{"type":"string","format":"date","description":"Due date for the PIX payment in YYYY-MM-DD format. Mandatory when using interest, fine, discount, and/or abatement.\n\n**Important:** For validation purposes, dates are always interpreted in Brazil timezone by default (America/Sao_Paulo, UTC-3).\n","example":"2025-12-31","uniqueKey":"pix_data.oneOf.0.due_date.oneOf.0","typeLabel":"string\u003cdate>"},{"type":"null","format":"date","description":"Due date for the PIX payment in YYYY-MM-DD format. Mandatory when using interest, fine, discount, and/or abatement.\n\n**Important:** For validation purposes, dates are always interpreted in Brazil timezone by default (America/Sao_Paulo, UTC-3).\n","example":"2025-12-31","uniqueKey":"pix_data.oneOf.0.due_date.oneOf.1","typeLabel":"null"}],"uniqueKey":"pix_data.oneOf.0.due_date","typeLabel":"string\u003cdate> | null"},"expiration_in_days_after_due_date":{"oneOf":[{"type":"integer","minimum":1,"maximum":365,"description":"Number of days after the due date before the PIX payment expires. Required when `due_date` is provided. Must not be provided otherwise.","example":30,"default":30,"uniqueKey":"pix_data.oneOf.0.expiration_in_days_after_due_date.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":1,"maximum":365,"description":"Number of days after the due date before the PIX payment expires. Required when `due_date` is provided. Must not be provided otherwise.","example":30,"default":30,"uniqueKey":"pix_data.oneOf.0.expiration_in_days_after_due_date.oneOf.1","typeLabel":"null"}],"uniqueKey":"pix_data.oneOf.0.expiration_in_days_after_due_date","typeLabel":"integer | null"},"interest":{"oneOf":[{"type":"object","description":"Interest configuration (if applicable)","required":["modality"],"properties":{"modality":{"type":"string","enum":["AMOUNT_PER_DAY","PERCENTAGE_PER_DAY","PERCENTAGE_PER_MONTH","PERCENTAGE_PER_YEAR","AMOUNT_PER_WORKING_DAY","PERCENTAGE_PER_WORKING_DAY","PERCENTAGE_PER_WORKING_MONTH","PERCENTAGE_PER_WORKING_YEAR"],"description":"Interest calculation modality:\n- AMOUNT_PER_DAY: Fixed amount per day\n- PERCENTAGE_PER_DAY: Percentage per day\n- PERCENTAGE_PER_MONTH: Percentage per month\n- PERCENTAGE_PER_YEAR: Percentage per year\n- AMOUNT_PER_WORKING_DAY: Fixed amount per working day\n- PERCENTAGE_PER_WORKING_DAY: Percentage per working day\n- PERCENTAGE_PER_WORKING_MONTH: Percentage per working month\n- PERCENTAGE_PER_WORKING_YEAR: Percentage per working year\n","example":"PERCENTAGE_PER_MONTH","isRequired":true,"uniqueKey":"pix_data.oneOf.0.interest.oneOf.0.modality","typeLabel":"enum\u003cstring>"},"amount":{"type":"integer","minimum":1,"description":"Interest amount in cents (positive integer).\nRequired for amount-based modalities (AMOUNT_PER_DAY, AMOUNT_PER_WORKING_DAY).\nMust not be provided for percentage-based modalities.\n","example":1000,"uniqueKey":"pix_data.oneOf.0.interest.oneOf.0.amount","typeLabel":"integer"},"percentage":{"type":"number","minimum":0,"maximum":100,"multipleOf":0.01,"description":"Interest percentage (0-100, up to 2 decimal places).\nRequired for percentage-based modalities (PERCENTAGE_PER_DAY, PERCENTAGE_PER_MONTH, etc.).\nMust not be provided for amount-based modalities.\n","example":10.5,"uniqueKey":"pix_data.oneOf.0.interest.oneOf.0.percentage","typeLabel":"number"}},"uniqueKey":"pix_data.oneOf.0.interest.oneOf.0","typeLabel":"object"},{"type":"null","description":"Interest configuration (if applicable)","uniqueKey":"pix_data.oneOf.0.interest.oneOf.1","typeLabel":"null"}],"uniqueKey":"pix_data.oneOf.0.interest","typeLabel":"object | null"},"fine":{"oneOf":[{"type":"object","description":"Fine configuration (if applicable)","required":["modality"],"properties":{"modality":{"type":"string","enum":["FIXED","PERCENTAGE"],"description":"Fine calculation modality:\n- FIXED: Fixed amount fine\n- PERCENTAGE: Percentage-based fine\n","example":"PERCENTAGE","isRequired":true,"uniqueKey":"pix_data.oneOf.0.fine.oneOf.0.modality","typeLabel":"enum\u003cstring>"},"amount":{"type":"integer","minimum":1,"description":"Fine amount in cents (positive integer).\nRequired for FIXED modality.\nMust not be provided for PERCENTAGE modality.\n","example":2000,"uniqueKey":"pix_data.oneOf.0.fine.oneOf.0.amount","typeLabel":"integer"},"percentage":{"type":"number","minimum":0,"maximum":100,"multipleOf":0.01,"description":"Fine percentage (0-100, up to 2 decimal places).\nRequired for PERCENTAGE modality.\nMust not be provided for FIXED modality.\n","example":2.5,"uniqueKey":"pix_data.oneOf.0.fine.oneOf.0.percentage","typeLabel":"number"}},"uniqueKey":"pix_data.oneOf.0.fine.oneOf.0","typeLabel":"object"},{"type":"null","description":"Fine configuration (if applicable)","uniqueKey":"pix_data.oneOf.0.fine.oneOf.1","typeLabel":"null"}],"uniqueKey":"pix_data.oneOf.0.fine","typeLabel":"object | null"},"discount":{"oneOf":[{"type":"object","description":"Discount configuration (if applicable)","required":["modality"],"properties":{"modality":{"type":"string","enum":["FIXED_AMOUNT_UNTIL_DATE","PERCENTAGE_UNTIL_DATE","AMOUNT_PER_DAY","AMOUNT_PER_WORKING_DAY","PERCENTAGE_PER_DAY","PERCENTAGE_PER_WORKING_DAY"],"description":"Discount calculation modality:\n- FIXED_AMOUNT_UNTIL_DATE: Fixed discount amount until specific date\n- PERCENTAGE_UNTIL_DATE: Percentage discount until specific date\n- AMOUNT_PER_DAY: Amount discount per day\n- AMOUNT_PER_WORKING_DAY: Amount discount per working day\n- PERCENTAGE_PER_DAY: Percentage discount per day\n- PERCENTAGE_PER_WORKING_DAY: Percentage discount per working day\n","example":"PERCENTAGE_UNTIL_DATE","isRequired":true,"uniqueKey":"pix_data.oneOf.0.discount.oneOf.0.modality","typeLabel":"enum\u003cstring>"},"amount":{"oneOf":[{"type":"integer","minimum":1,"description":"Discount amount in cents (positive integer).\nRequired for AMOUNT_PER_DAY and AMOUNT_PER_WORKING_DAY modalities.\nNull for other modalities or when discount_dates_config is used.\n","uniqueKey":"pix_data.oneOf.0.discount.oneOf.0.amount.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":1,"description":"Discount amount in cents (positive integer).\nRequired for AMOUNT_PER_DAY and AMOUNT_PER_WORKING_DAY modalities.\nNull for other modalities or when discount_dates_config is used.\n","uniqueKey":"pix_data.oneOf.0.discount.oneOf.0.amount.oneOf.1","typeLabel":"null"}],"uniqueKey":"pix_data.oneOf.0.discount.oneOf.0.amount","typeLabel":"integer | null"},"percentage":{"oneOf":[{"type":"number","minimum":0,"maximum":100,"multipleOf":0.01,"description":"Discount percentage (0-100, up to 2 decimal places).\nRequired for PERCENTAGE_PER_DAY and PERCENTAGE_PER_WORKING_DAY modalities.\nNull for other modalities or when discount_dates_config is used.\n","example":50,"uniqueKey":"pix_data.oneOf.0.discount.oneOf.0.percentage.oneOf.0","typeLabel":"number"},{"type":"null","minimum":0,"maximum":100,"multipleOf":0.01,"description":"Discount percentage (0-100, up to 2 decimal places).\nRequired for PERCENTAGE_PER_DAY and PERCENTAGE_PER_WORKING_DAY modalities.\nNull for other modalities or when discount_dates_config is used.\n","example":50,"uniqueKey":"pix_data.oneOf.0.discount.oneOf.0.percentage.oneOf.1","typeLabel":"null"}],"uniqueKey":"pix_data.oneOf.0.discount.oneOf.0.percentage","typeLabel":"number | null"},"discount_dates_config":{"oneOf":[{"type":"array","description":"Array of discount date configurations.\nRequired for FIXED_AMOUNT_UNTIL_DATE and PERCENTAGE_UNTIL_DATE modalities.\n","items":{"type":"object","required":["until_date"],"properties":{"until_date":{"type":"string","format":"date","description":"Date until which this discount applies (YYYY-MM-DD).\n\n**Important:** For validation purposes, dates are always interpreted in Brazil timezone by default (America/Sao_Paulo, UTC-3).\n","example":"2025-12-15","isRequired":true,"uniqueKey":"pix_data.oneOf.0.discount.oneOf.0.discount_dates_config.oneOf.0.items.[INDEX].until_date","typeLabel":"string\u003cdate>"},"amount":{"oneOf":[{"type":"integer","minimum":1,"description":"Discount amount in cents (positive integer).\nRequired for FIXED_AMOUNT_UNTIL_DATE modality.\nNull for PERCENTAGE_UNTIL_DATE modality.\n","example":10000,"uniqueKey":"pix_data.oneOf.0.discount.oneOf.0.discount_dates_config.oneOf.0.items.[INDEX].amount.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":1,"description":"Discount amount in cents (positive integer).\nRequired for FIXED_AMOUNT_UNTIL_DATE modality.\nNull for PERCENTAGE_UNTIL_DATE modality.\n","example":10000,"uniqueKey":"pix_data.oneOf.0.discount.oneOf.0.discount_dates_config.oneOf.0.items.[INDEX].amount.oneOf.1","typeLabel":"null"}],"uniqueKey":"pix_data.oneOf.0.discount.oneOf.0.discount_dates_config.oneOf.0.items.[INDEX].amount","typeLabel":"integer | null"},"percentage":{"oneOf":[{"type":"number","minimum":0,"maximum":100,"multipleOf":0.01,"description":"Discount percentage (0-100, up to 2 decimal places).\nRequired for PERCENTAGE_UNTIL_DATE modality.\nNull for FIXED_AMOUNT_UNTIL_DATE modality.\n","example":10,"uniqueKey":"pix_data.oneOf.0.discount.oneOf.0.discount_dates_config.oneOf.0.items.[INDEX].percentage.oneOf.0","typeLabel":"number"},{"type":"null","minimum":0,"maximum":100,"multipleOf":0.01,"description":"Discount percentage (0-100, up to 2 decimal places).\nRequired for PERCENTAGE_UNTIL_DATE modality.\nNull for FIXED_AMOUNT_UNTIL_DATE modality.\n","example":10,"uniqueKey":"pix_data.oneOf.0.discount.oneOf.0.discount_dates_config.oneOf.0.items.[INDEX].percentage.oneOf.1","typeLabel":"null"}],"uniqueKey":"pix_data.oneOf.0.discount.oneOf.0.discount_dates_config.oneOf.0.items.[INDEX].percentage","typeLabel":"number | null"}},"uniqueKey":"pix_data.oneOf.0.discount.oneOf.0.discount_dates_config.oneOf.0.items.[INDEX]","typeLabel":"object"},"example":[{"until_date":"2025-12-15","percentage":10},{"until_date":"2025-12-20","percentage":5}],"uniqueKey":"pix_data.oneOf.0.discount.oneOf.0.discount_dates_config.oneOf.0","typeLabel":"object[]"},{"type":"null","description":"Array of discount date configurations.\nRequired for FIXED_AMOUNT_UNTIL_DATE and PERCENTAGE_UNTIL_DATE modalities.\n","items":{"type":"object","required":["until_date"],"properties":{"until_date":{"type":"string","format":"date","description":"Date until which this discount applies (YYYY-MM-DD).\n\n**Important:** For validation purposes, dates are always interpreted in Brazil timezone by default (America/Sao_Paulo, UTC-3).\n","example":"2025-12-15"},"amount":{"oneOf":[{"type":"integer","minimum":1,"description":"Discount amount in cents (positive integer).\nRequired for FIXED_AMOUNT_UNTIL_DATE modality.\nNull for PERCENTAGE_UNTIL_DATE modality.\n","example":10000},{"type":"null","minimum":1,"description":"Discount amount in cents (positive integer).\nRequired for FIXED_AMOUNT_UNTIL_DATE modality.\nNull for PERCENTAGE_UNTIL_DATE modality.\n","example":10000}]},"percentage":{"oneOf":[{"type":"number","minimum":0,"maximum":100,"multipleOf":0.01,"description":"Discount percentage (0-100, up to 2 decimal places).\nRequired for PERCENTAGE_UNTIL_DATE modality.\nNull for FIXED_AMOUNT_UNTIL_DATE modality.\n","example":10},{"type":"null","minimum":0,"maximum":100,"multipleOf":0.01,"description":"Discount percentage (0-100, up to 2 decimal places).\nRequired for PERCENTAGE_UNTIL_DATE modality.\nNull for FIXED_AMOUNT_UNTIL_DATE modality.\n","example":10}]}}},"example":[{"until_date":"2025-12-15","percentage":10},{"until_date":"2025-12-20","percentage":5}],"uniqueKey":"pix_data.oneOf.0.discount.oneOf.0.discount_dates_config.oneOf.1","typeLabel":"null"}],"uniqueKey":"pix_data.oneOf.0.discount.oneOf.0.discount_dates_config","typeLabel":"object[] | null"}},"uniqueKey":"pix_data.oneOf.0.discount.oneOf.0","typeLabel":"object"},{"type":"null","description":"Discount configuration (if applicable)","uniqueKey":"pix_data.oneOf.0.discount.oneOf.1","typeLabel":"null"}],"uniqueKey":"pix_data.oneOf.0.discount","typeLabel":"object | null"},"abatement":{"oneOf":[{"type":"object","description":"Abatement configuration (if applicable)","required":["modality"],"properties":{"modality":{"type":"string","enum":["FIXED","PERCENTAGE"],"description":"Abatement calculation modality:\n- FIXED: Fixed amount abatement\n- PERCENTAGE: Percentage-based abatement\n","example":"FIXED","isRequired":true,"uniqueKey":"pix_data.oneOf.0.abatement.oneOf.0.modality","typeLabel":"enum\u003cstring>"},"amount":{"type":"integer","minimum":1,"description":"Abatement amount in cents (positive integer).\nRequired for FIXED modality.\nMust not be provided for PERCENTAGE modality.\n","example":5000,"uniqueKey":"pix_data.oneOf.0.abatement.oneOf.0.amount","typeLabel":"integer"},"percentage":{"type":"number","minimum":0,"maximum":100,"multipleOf":0.01,"description":"Abatement percentage (0-100, up to 2 decimal places).\nRequired for PERCENTAGE modality.\nMust not be provided for FIXED modality.\n","example":5,"uniqueKey":"pix_data.oneOf.0.abatement.oneOf.0.percentage","typeLabel":"number"}},"uniqueKey":"pix_data.oneOf.0.abatement.oneOf.0","typeLabel":"object"},{"type":"null","description":"Abatement configuration (if applicable)","uniqueKey":"pix_data.oneOf.0.abatement.oneOf.1","typeLabel":"null"}],"uniqueKey":"pix_data.oneOf.0.abatement","typeLabel":"object | null"}},"uniqueKey":"pix_data.oneOf.0","typeLabel":"object"},{"type":"null","description":"PIX-specific data (present if payment_method is PIX)","uniqueKey":"pix_data.oneOf.1","typeLabel":"null"}],"uniqueKey":"pix_data","typeLabel":"object | null"},"bolepix_data":{"oneOf":[{"type":"object","description":"Bolepix-specific data (present if payment_method is BOLEPIX)","required":["pix_key_id","external_request_id","due_date"],"properties":{"pix_key_id":{"type":"string","description":"PIX key ID used for this transaction","example":"pix_key_123","isRequired":true,"uniqueKey":"bolepix_data.oneOf.0.pix_key_id","typeLabel":"string"},"external_request_id":{"type":"string","description":"External request ID used with the provider","example":"ext-req-123","isRequired":true,"uniqueKey":"bolepix_data.oneOf.0.external_request_id","typeLabel":"string"},"due_date":{"type":"string","format":"date","description":"Due date in YYYY-MM-DD format","example":"2025-12-31","isRequired":true,"uniqueKey":"bolepix_data.oneOf.0.due_date","typeLabel":"string\u003cdate>"},"expiration_in_days_after_due_date":{"oneOf":[{"type":"integer","description":"Days after due date before expiration","example":30,"uniqueKey":"bolepix_data.oneOf.0.expiration_in_days_after_due_date.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Days after due date before expiration","example":30,"uniqueKey":"bolepix_data.oneOf.0.expiration_in_days_after_due_date.oneOf.1","typeLabel":"null"}],"uniqueKey":"bolepix_data.oneOf.0.expiration_in_days_after_due_date","typeLabel":"integer | null"},"boleto_transaction_id":{"oneOf":[{"type":"string","description":"Provider's boleto transaction ID","example":"boleto-123","uniqueKey":"bolepix_data.oneOf.0.boleto_transaction_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"Provider's boleto transaction ID","example":"boleto-123","uniqueKey":"bolepix_data.oneOf.0.boleto_transaction_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"bolepix_data.oneOf.0.boleto_transaction_id","typeLabel":"string | null"},"bank_issuer":{"oneOf":[{"type":"string","description":"Issuing bank name","example":"Banco do Brasil","uniqueKey":"bolepix_data.oneOf.0.bank_issuer.oneOf.0","typeLabel":"string"},{"type":"null","description":"Issuing bank name","example":"Banco do Brasil","uniqueKey":"bolepix_data.oneOf.0.bank_issuer.oneOf.1","typeLabel":"null"}],"uniqueKey":"bolepix_data.oneOf.0.bank_issuer","typeLabel":"string | null"},"bank_code":{"oneOf":[{"type":"string","description":"Issuing bank code","example":"001","uniqueKey":"bolepix_data.oneOf.0.bank_code.oneOf.0","typeLabel":"string"},{"type":"null","description":"Issuing bank code","example":"001","uniqueKey":"bolepix_data.oneOf.0.bank_code.oneOf.1","typeLabel":"null"}],"uniqueKey":"bolepix_data.oneOf.0.bank_code","typeLabel":"string | null"},"bank_branch":{"oneOf":[{"type":"string","description":"Bank branch number","example":"1234","uniqueKey":"bolepix_data.oneOf.0.bank_branch.oneOf.0","typeLabel":"string"},{"type":"null","description":"Bank branch number","example":"1234","uniqueKey":"bolepix_data.oneOf.0.bank_branch.oneOf.1","typeLabel":"null"}],"uniqueKey":"bolepix_data.oneOf.0.bank_branch","typeLabel":"string | null"},"bank_account_number":{"oneOf":[{"type":"string","description":"Bank account number","example":"12345-6","uniqueKey":"bolepix_data.oneOf.0.bank_account_number.oneOf.0","typeLabel":"string"},{"type":"null","description":"Bank account number","example":"12345-6","uniqueKey":"bolepix_data.oneOf.0.bank_account_number.oneOf.1","typeLabel":"null"}],"uniqueKey":"bolepix_data.oneOf.0.bank_account_number","typeLabel":"string | null"},"bar_code":{"oneOf":[{"type":"string","description":"Boleto bar code","example":"00190000090299993600000000000000185830000010000","uniqueKey":"bolepix_data.oneOf.0.bar_code.oneOf.0","typeLabel":"string"},{"type":"null","description":"Boleto bar code","example":"00190000090299993600000000000000185830000010000","uniqueKey":"bolepix_data.oneOf.0.bar_code.oneOf.1","typeLabel":"null"}],"uniqueKey":"bolepix_data.oneOf.0.bar_code","typeLabel":"string | null"},"bank_line":{"oneOf":[{"type":"string","description":"Boleto bank line (typed representation of bar code)","example":"00190.00009 02999.936001 00000.000001 8 58300000010000","uniqueKey":"bolepix_data.oneOf.0.bank_line.oneOf.0","typeLabel":"string"},{"type":"null","description":"Boleto bank line (typed representation of bar code)","example":"00190.00009 02999.936001 00000.000001 8 58300000010000","uniqueKey":"bolepix_data.oneOf.0.bank_line.oneOf.1","typeLabel":"null"}],"uniqueKey":"bolepix_data.oneOf.0.bank_line","typeLabel":"string | null"},"bank_assignor":{"oneOf":[{"type":"string","description":"Assignor name","example":"Company Name","uniqueKey":"bolepix_data.oneOf.0.bank_assignor.oneOf.0","typeLabel":"string"},{"type":"null","description":"Assignor name","example":"Company Name","uniqueKey":"bolepix_data.oneOf.0.bank_assignor.oneOf.1","typeLabel":"null"}],"uniqueKey":"bolepix_data.oneOf.0.bank_assignor","typeLabel":"string | null"},"pix_transaction_id":{"oneOf":[{"type":"string","description":"Provider's PIX transaction ID","example":"pix-123","uniqueKey":"bolepix_data.oneOf.0.pix_transaction_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"Provider's PIX transaction ID","example":"pix-123","uniqueKey":"bolepix_data.oneOf.0.pix_transaction_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"bolepix_data.oneOf.0.pix_transaction_id","typeLabel":"string | null"},"pix_identification":{"oneOf":[{"type":"string","description":"PIX identification (txid)","example":"txid123456789","uniqueKey":"bolepix_data.oneOf.0.pix_identification.oneOf.0","typeLabel":"string"},{"type":"null","description":"PIX identification (txid)","example":"txid123456789","uniqueKey":"bolepix_data.oneOf.0.pix_identification.oneOf.1","typeLabel":"null"}],"uniqueKey":"bolepix_data.oneOf.0.pix_identification","typeLabel":"string | null"},"pix_emv":{"oneOf":[{"type":"string","description":"PIX EMV QR code payload","example":"00020126580014br.gov.bcb.pix...","uniqueKey":"bolepix_data.oneOf.0.pix_emv.oneOf.0","typeLabel":"string"},{"type":"null","description":"PIX EMV QR code payload","example":"00020126580014br.gov.bcb.pix...","uniqueKey":"bolepix_data.oneOf.0.pix_emv.oneOf.1","typeLabel":"null"}],"uniqueKey":"bolepix_data.oneOf.0.pix_emv","typeLabel":"string | null"},"paid_via":{"oneOf":[{"type":"string","enum":["PIX","BOLETO"],"description":"How the payment was made (PIX or BOLETO)","example":"PIX","uniqueKey":"bolepix_data.oneOf.0.paid_via.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["PIX","BOLETO"],"description":"How the payment was made (PIX or BOLETO)","example":"PIX","uniqueKey":"bolepix_data.oneOf.0.paid_via.oneOf.1","typeLabel":"null"}],"uniqueKey":"bolepix_data.oneOf.0.paid_via","typeLabel":"enum\u003cstring> | null"},"paid_amount":{"oneOf":[{"type":"integer","description":"Amount actually paid in cents","example":50000,"uniqueKey":"bolepix_data.oneOf.0.paid_amount.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Amount actually paid in cents","example":50000,"uniqueKey":"bolepix_data.oneOf.0.paid_amount.oneOf.1","typeLabel":"null"}],"uniqueKey":"bolepix_data.oneOf.0.paid_amount","typeLabel":"integer | null"},"paid_at":{"oneOf":[{"type":"string","format":"date-time","description":"Payment timestamp","example":"2025-12-20T10:00:00.000Z","uniqueKey":"bolepix_data.oneOf.0.paid_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"Payment timestamp","example":"2025-12-20T10:00:00.000Z","uniqueKey":"bolepix_data.oneOf.0.paid_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"bolepix_data.oneOf.0.paid_at","typeLabel":"string\u003cdate-time> | null"},"discount":{"oneOf":[{"type":"object","description":"Discount configuration","properties":{"amount":{"oneOf":[{"type":"integer","description":"Discount amount in cents","example":5000,"uniqueKey":"bolepix_data.oneOf.0.discount.oneOf.0.amount.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Discount amount in cents","example":5000,"uniqueKey":"bolepix_data.oneOf.0.discount.oneOf.0.amount.oneOf.1","typeLabel":"null"}],"uniqueKey":"bolepix_data.oneOf.0.discount.oneOf.0.amount","typeLabel":"integer | null"},"percentage":{"oneOf":[{"type":"number","description":"Discount percentage","example":10,"uniqueKey":"bolepix_data.oneOf.0.discount.oneOf.0.percentage.oneOf.0","typeLabel":"number"},{"type":"null","description":"Discount percentage","example":10,"uniqueKey":"bolepix_data.oneOf.0.discount.oneOf.0.percentage.oneOf.1","typeLabel":"null"}],"uniqueKey":"bolepix_data.oneOf.0.discount.oneOf.0.percentage","typeLabel":"number | null"},"modality":{"type":"string","enum":["FIXED","PERCENTAGE"],"description":"Discount modality","example":"FIXED","uniqueKey":"bolepix_data.oneOf.0.discount.oneOf.0.modality","typeLabel":"enum\u003cstring>"},"until_date":{"oneOf":[{"type":"string","format":"date","description":"Date until which discount applies","example":"2025-12-25","uniqueKey":"bolepix_data.oneOf.0.discount.oneOf.0.until_date.oneOf.0","typeLabel":"string\u003cdate>"},{"type":"null","format":"date","description":"Date until which discount applies","example":"2025-12-25","uniqueKey":"bolepix_data.oneOf.0.discount.oneOf.0.until_date.oneOf.1","typeLabel":"null"}],"uniqueKey":"bolepix_data.oneOf.0.discount.oneOf.0.until_date","typeLabel":"string\u003cdate> | null"}},"uniqueKey":"bolepix_data.oneOf.0.discount.oneOf.0","typeLabel":"object"},{"type":"null","description":"Discount configuration","properties":{"amount":{"oneOf":[{"type":"integer","description":"Discount amount in cents","example":5000},{"type":"null","description":"Discount amount in cents","example":5000}]},"percentage":{"oneOf":[{"type":"number","description":"Discount percentage","example":10},{"type":"null","description":"Discount percentage","example":10}]},"modality":{"type":"string","enum":["FIXED","PERCENTAGE"],"description":"Discount modality","example":"FIXED"},"until_date":{"oneOf":[{"type":"string","format":"date","description":"Date until which discount applies","example":"2025-12-25"},{"type":"null","format":"date","description":"Date until which discount applies","example":"2025-12-25"}]}},"uniqueKey":"bolepix_data.oneOf.0.discount.oneOf.1","typeLabel":"null"}],"uniqueKey":"bolepix_data.oneOf.0.discount","typeLabel":"object | null"},"fine_percentage":{"oneOf":[{"type":"number","description":"Fine percentage applied after due date","example":2,"uniqueKey":"bolepix_data.oneOf.0.fine_percentage.oneOf.0","typeLabel":"number"},{"type":"null","description":"Fine percentage applied after due date","example":2,"uniqueKey":"bolepix_data.oneOf.0.fine_percentage.oneOf.1","typeLabel":"null"}],"uniqueKey":"bolepix_data.oneOf.0.fine_percentage","typeLabel":"number | null"},"monthly_interest_percentage":{"oneOf":[{"type":"number","description":"Monthly interest percentage (divided by 30 and applied per day after due date)","example":1,"uniqueKey":"bolepix_data.oneOf.0.monthly_interest_percentage.oneOf.0","typeLabel":"number"},{"type":"null","description":"Monthly interest percentage (divided by 30 and applied per day after due date)","example":1,"uniqueKey":"bolepix_data.oneOf.0.monthly_interest_percentage.oneOf.1","typeLabel":"null"}],"uniqueKey":"bolepix_data.oneOf.0.monthly_interest_percentage","typeLabel":"number | null"}},"uniqueKey":"bolepix_data.oneOf.0","typeLabel":"object"},{"type":"null","description":"Bolepix-specific data (present if payment_method is BOLEPIX)","uniqueKey":"bolepix_data.oneOf.1","typeLabel":"null"}],"uniqueKey":"bolepix_data","typeLabel":"object | null"},"card_data":{"oneOf":[{"type":"object","description":"Card-specific data (present if payment_method is CREDIT_CARD or DEBIT_CARD)","required":["last_digits"],"properties":{"last_digits":{"type":"string","pattern":"^\\d{4}$","description":"Last 4 digits of the card number.","example":"1111","isRequired":true,"uniqueKey":"card_data.oneOf.0.last_digits","typeLabel":"string"},"expiry_month":{"oneOf":[{"type":"string","pattern":"^(0[1-9]|1[0-2])$","description":"Card expiration month in MM format (01-12). Null for transactions Rinne did not originate (e.g. POS-originated Cappta webhooks) that carry only masked card data with no expiry.","example":"12","uniqueKey":"card_data.oneOf.0.expiry_month.oneOf.0","typeLabel":"string"},{"type":"null","pattern":"^(0[1-9]|1[0-2])$","description":"Card expiration month in MM format (01-12). Null for transactions Rinne did not originate (e.g. POS-originated Cappta webhooks) that carry only masked card data with no expiry.","example":"12","uniqueKey":"card_data.oneOf.0.expiry_month.oneOf.1","typeLabel":"null"}],"uniqueKey":"card_data.oneOf.0.expiry_month","typeLabel":"string | null"},"expiry_year":{"oneOf":[{"type":"string","pattern":"^\\d{4}$","description":"Card expiration year in YYYY format. Null for transactions Rinne did not originate (e.g. POS-originated Cappta webhooks).","example":"2028","uniqueKey":"card_data.oneOf.0.expiry_year.oneOf.0","typeLabel":"string"},{"type":"null","pattern":"^\\d{4}$","description":"Card expiration year in YYYY format. Null for transactions Rinne did not originate (e.g. POS-originated Cappta webhooks).","example":"2028","uniqueKey":"card_data.oneOf.0.expiry_year.oneOf.1","typeLabel":"null"}],"uniqueKey":"card_data.oneOf.0.expiry_year","typeLabel":"string | null"},"brand":{"oneOf":[{"type":"string","description":"Card brand (e.g., VISA, MASTERCARD, ELO, AMEX).","example":"VISA","uniqueKey":"card_data.oneOf.0.brand.oneOf.0","typeLabel":"string"},{"type":"null","description":"Card brand (e.g., VISA, MASTERCARD, ELO, AMEX).","example":"VISA","uniqueKey":"card_data.oneOf.0.brand.oneOf.1","typeLabel":"null"}],"uniqueKey":"card_data.oneOf.0.brand","typeLabel":"string | null"},"device_id":{"oneOf":[{"type":"string","description":"Device identifier associated with the card token, if available.","example":"device-123","uniqueKey":"card_data.oneOf.0.device_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"Device identifier associated with the card token, if available.","example":"device-123","uniqueKey":"card_data.oneOf.0.device_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"card_data.oneOf.0.device_id","typeLabel":"string | null"},"cardholder_name":{"oneOf":[{"type":"string","description":"Name of the cardholder as it appears on the card.","example":"John Doe","uniqueKey":"card_data.oneOf.0.cardholder_name.oneOf.0","typeLabel":"string"},{"type":"null","description":"Name of the cardholder as it appears on the card.","example":"John Doe","uniqueKey":"card_data.oneOf.0.cardholder_name.oneOf.1","typeLabel":"null"}],"uniqueKey":"card_data.oneOf.0.cardholder_name","typeLabel":"string | null"},"country":{"oneOf":[{"type":"string","description":"Issuing country of the card (ISO 3166-1 alpha-2).","example":"BR","uniqueKey":"card_data.oneOf.0.country.oneOf.0","typeLabel":"string"},{"type":"null","description":"Issuing country of the card (ISO 3166-1 alpha-2).","example":"BR","uniqueKey":"card_data.oneOf.0.country.oneOf.1","typeLabel":"null"}],"uniqueKey":"card_data.oneOf.0.country","typeLabel":"string | null"},"wallet_type":{"oneOf":[{"type":"string","enum":["APPLE_PAY","GOOGLE_PAY"],"description":"Digital wallet type used for the payment, if applicable.","example":"APPLE_PAY","uniqueKey":"card_data.oneOf.0.wallet_type.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["APPLE_PAY","GOOGLE_PAY"],"description":"Digital wallet type used for the payment, if applicable.","example":"APPLE_PAY","uniqueKey":"card_data.oneOf.0.wallet_type.oneOf.1","typeLabel":"null"}],"uniqueKey":"card_data.oneOf.0.wallet_type","typeLabel":"enum\u003cstring> | null"},"display_name":{"oneOf":[{"type":"string","description":"Human-readable display name for the card.","example":"Visa •••• 1111","uniqueKey":"card_data.oneOf.0.display_name.oneOf.0","typeLabel":"string"},{"type":"null","description":"Human-readable display name for the card.","example":"Visa •••• 1111","uniqueKey":"card_data.oneOf.0.display_name.oneOf.1","typeLabel":"null"}],"uniqueKey":"card_data.oneOf.0.display_name","typeLabel":"string | null"},"authentication_type":{"oneOf":[{"type":"string","enum":["3DS"],"description":"Authentication type used for the card transaction, if any.","example":"3DS","uniqueKey":"card_data.oneOf.0.authentication_type.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["3DS"],"description":"Authentication type used for the card transaction, if any.","example":"3DS","uniqueKey":"card_data.oneOf.0.authentication_type.oneOf.1","typeLabel":"null"}],"uniqueKey":"card_data.oneOf.0.authentication_type","typeLabel":"enum\u003cstring> | null"}},"uniqueKey":"card_data.oneOf.0","typeLabel":"object"},{"type":"null","description":"Card-specific data (present if payment_method is CREDIT_CARD or DEBIT_CARD)","uniqueKey":"card_data.oneOf.1","typeLabel":"null"}],"uniqueKey":"card_data","typeLabel":"object | null"},"soft_descriptor":{"oneOf":[{"type":"string","description":"The soft_descriptor sent with the create request, as sent. Null when the request had none.","example":"MYSTORE","uniqueKey":"soft_descriptor.oneOf.0","typeLabel":"string"},{"type":"null","description":"The soft_descriptor sent with the create request, as sent. Null when the request had none.","example":"MYSTORE","uniqueKey":"soft_descriptor.oneOf.1","typeLabel":"null"}],"uniqueKey":"soft_descriptor","typeLabel":"string | null"},"serial_number":{"oneOf":[{"type":"string","description":"Terminal serial number","example":"12345678","uniqueKey":"serial_number.oneOf.0","typeLabel":"string"},{"type":"null","description":"Terminal serial number","example":"12345678","uniqueKey":"serial_number.oneOf.1","typeLabel":"null"}],"uniqueKey":"serial_number","typeLabel":"string | null"},"nsu":{"oneOf":[{"type":"string","description":"Network Sequential Number","example":"000123","uniqueKey":"nsu.oneOf.0","typeLabel":"string"},{"type":"null","description":"Network Sequential Number","example":"000123","uniqueKey":"nsu.oneOf.1","typeLabel":"null"}],"uniqueKey":"nsu","typeLabel":"string | null"},"metadata":{"oneOf":[{"type":["object","null"],"description":"Additional metadata","additionalProperties":true,"uniqueKey":"metadata.oneOf.0","typeLabel":"object"},{"type":"null","description":"Additional metadata","additionalProperties":true,"uniqueKey":"metadata.oneOf.1","typeLabel":"null"}],"uniqueKey":"metadata","typeLabel":"object | null"},"latest_refund_at":{"oneOf":[{"type":"string","format":"date-time","description":"Latest refund timestamp (for the most recent completed refund)","example":"2023-12-01T10:00:00.000Z","uniqueKey":"latest_refund_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"Latest refund timestamp (for the most recent completed refund)","example":"2023-12-01T10:00:00.000Z","uniqueKey":"latest_refund_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"latest_refund_at","typeLabel":"string\u003cdate-time> | null"},"status_reason":{"oneOf":[{"type":"string","enum":["PROVIDER","ACQUIRER","ANTIFRAUD","INTERNAL_ERROR","NO_ACQUIRER","ACQUIRER_TIMEOUT","CHALLENGE_NOT_ALLOWED","REVERSED"],"description":"Status reason details. REVERSED indicates a failed card transaction whose charge was later found at the acquirer and reversed by reconciliation.","example":"PROVIDER","uniqueKey":"status_reason.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["PROVIDER","ACQUIRER","ANTIFRAUD","INTERNAL_ERROR","NO_ACQUIRER","ACQUIRER_TIMEOUT","CHALLENGE_NOT_ALLOWED","REVERSED"],"description":"Status reason details. REVERSED indicates a failed card transaction whose charge was later found at the acquirer and reversed by reconciliation.","example":"PROVIDER","uniqueKey":"status_reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"status_reason","typeLabel":"enum\u003cstring> | null"},"approved_at":{"oneOf":[{"type":"string","description":"Transaction approval timestamp","example":"2023-12-01T10:00:00.000Z","uniqueKey":"approved_at.oneOf.0","typeLabel":"string"},{"type":"null","description":"Transaction approval timestamp","example":"2023-12-01T10:00:00.000Z","uniqueKey":"approved_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"approved_at","typeLabel":"string | null"},"company_full_name":{"type":"string","description":"Company full name","example":"Test Company","uniqueKey":"company_full_name","typeLabel":"string"},"company_name":{"oneOf":[{"type":"string","description":"Company name","example":"Test Company","uniqueKey":"company_name.oneOf.0","typeLabel":"string"},{"type":"null","description":"Company name","example":"Test Company","uniqueKey":"company_name.oneOf.1","typeLabel":"null"}],"uniqueKey":"company_name","typeLabel":"string | null"},"organization_id":{"oneOf":[{"type":"string","description":"Organization transaction ID (for refunds/chargebacks)","example":"tx_organization_123456","uniqueKey":"organization_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"Organization transaction ID (for refunds/chargebacks)","example":"tx_organization_123456","uniqueKey":"organization_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"organization_id","typeLabel":"string | null"},"consumer":{"oneOf":[{"type":"object","description":"Consumer information","required":["document_type"],"properties":{"document_type":{"type":"string","enum":["CPF","CNPJ"],"description":"Consumer document type","example":"CPF","isRequired":true,"uniqueKey":"consumer.oneOf.0.document_type","typeLabel":"enum\u003cstring>"},"full_name":{"oneOf":[{"type":"string","example":"João Silva","uniqueKey":"consumer.oneOf.0.full_name.oneOf.0","typeLabel":"string"},{"type":"null","example":"João Silva","uniqueKey":"consumer.oneOf.0.full_name.oneOf.1","typeLabel":"null"}],"uniqueKey":"consumer.oneOf.0.full_name","typeLabel":"string | null"},"email":{"oneOf":[{"type":"string","format":"email","example":"[email protected]","uniqueKey":"consumer.oneOf.0.email.oneOf.0","typeLabel":"string\u003cemail>"},{"type":"null","format":"email","example":"[email protected]","uniqueKey":"consumer.oneOf.0.email.oneOf.1","typeLabel":"null"}],"uniqueKey":"consumer.oneOf.0.email","typeLabel":"string\u003cemail> | null"},"pix_key":{"oneOf":[{"type":"string","example":"[email protected]","uniqueKey":"consumer.oneOf.0.pix_key.oneOf.0","typeLabel":"string"},{"type":"null","example":"[email protected]","uniqueKey":"consumer.oneOf.0.pix_key.oneOf.1","typeLabel":"null"}],"uniqueKey":"consumer.oneOf.0.pix_key","typeLabel":"string | null"},"document_number":{"oneOf":[{"type":"string","example":"81146431023","uniqueKey":"consumer.oneOf.0.document_number.oneOf.0","typeLabel":"string"},{"type":"null","example":"81146431023","uniqueKey":"consumer.oneOf.0.document_number.oneOf.1","typeLabel":"null"}],"uniqueKey":"consumer.oneOf.0.document_number","typeLabel":"string | null"},"phone":{"oneOf":[{"type":"string","example":"+5511999999999","uniqueKey":"consumer.oneOf.0.phone.oneOf.0","typeLabel":"string"},{"type":"null","example":"+5511999999999","uniqueKey":"consumer.oneOf.0.phone.oneOf.1","typeLabel":"null"}],"uniqueKey":"consumer.oneOf.0.phone","typeLabel":"string | null"},"birth_date":{"oneOf":[{"type":"string","example":"15-08-1990","uniqueKey":"consumer.oneOf.0.birth_date.oneOf.0","typeLabel":"string"},{"type":"null","example":"15-08-1990","uniqueKey":"consumer.oneOf.0.birth_date.oneOf.1","typeLabel":"null"}],"uniqueKey":"consumer.oneOf.0.birth_date","typeLabel":"string | null"},"address":{"oneOf":[{"type":"object","description":"Consumer address","required":["street","neighborhood","zipcode","country","state","city"],"properties":{"street":{"type":"string","description":"Street name","example":"Rua das Flores","isRequired":true,"uniqueKey":"consumer.oneOf.0.address.oneOf.0.street","typeLabel":"string"},"neighborhood":{"type":"string","description":"Neighborhood","example":"Centro","isRequired":true,"uniqueKey":"consumer.oneOf.0.address.oneOf.0.neighborhood","typeLabel":"string"},"zipcode":{"type":"string","description":"ZIP code","example":"12345678","isRequired":true,"uniqueKey":"consumer.oneOf.0.address.oneOf.0.zipcode","typeLabel":"string"},"country":{"type":"string","pattern":"^([A-Za-z]{2}|[0-9]{1,3})$","description":"ISO 3166-1 country code, either alpha-2 (`BR`) or numeric (`076`). Uppercased on the way in, with numeric codes zero-padded to three digits. Alpha-3 (`BRA`) is not accepted.","example":"076","isRequired":true,"uniqueKey":"consumer.oneOf.0.address.oneOf.0.country","typeLabel":"string"},"state":{"type":"string","enum":["AC","AL","AP","AM","BA","CE","DF","ES","GO","MA","MT","MS","MG","PA","PB","PR","PE","PI","RJ","RN","RS","RO","RR","SC","SP","SE","TO"],"description":"Brazilian state code (UF). Accepted case-insensitively and uppercased on the way in; a spelled-out name such as `Santa Catarina` is rejected.","example":"SP","isRequired":true,"uniqueKey":"consumer.oneOf.0.address.oneOf.0.state","typeLabel":"enum\u003cstring>"},"city":{"type":"string","description":"City","example":"São Paulo","isRequired":true,"uniqueKey":"consumer.oneOf.0.address.oneOf.0.city","typeLabel":"string"},"street_number":{"oneOf":[{"type":"string","description":"Street number","example":"123","uniqueKey":"consumer.oneOf.0.address.oneOf.0.street_number.oneOf.0","typeLabel":"string"},{"type":"null","description":"Street number","example":"123","uniqueKey":"consumer.oneOf.0.address.oneOf.0.street_number.oneOf.1","typeLabel":"null"}],"uniqueKey":"consumer.oneOf.0.address.oneOf.0.street_number","typeLabel":"string | null"},"complement":{"oneOf":[{"type":"string","description":"Address complement","example":"Apt 101","uniqueKey":"consumer.oneOf.0.address.oneOf.0.complement.oneOf.0","typeLabel":"string"},{"type":"null","description":"Address complement","example":"Apt 101","uniqueKey":"consumer.oneOf.0.address.oneOf.0.complement.oneOf.1","typeLabel":"null"}],"uniqueKey":"consumer.oneOf.0.address.oneOf.0.complement","typeLabel":"string | null"}},"uniqueKey":"consumer.oneOf.0.address.oneOf.0","typeLabel":"object"},{"type":"null","description":"Consumer address","uniqueKey":"consumer.oneOf.0.address.oneOf.1","typeLabel":"null"}],"uniqueKey":"consumer.oneOf.0.address","typeLabel":"object | null"}},"uniqueKey":"consumer.oneOf.0","typeLabel":"object"},{"type":"null","description":"Consumer information","uniqueKey":"consumer.oneOf.1","typeLabel":"null"}],"uniqueKey":"consumer","typeLabel":"object | null"},"updated_at":{"oneOf":[{"type":"string","format":"date-time","description":"Transaction last update timestamp","example":"2023-12-01T10:00:00.000Z","uniqueKey":"updated_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"Transaction last update timestamp","example":"2023-12-01T10:00:00.000Z","uniqueKey":"updated_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"updated_at","typeLabel":"string\u003cdate-time> | null"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"id":"tx_123456789","provider":"CELCOIN","affiliation_id":"a3dbd0c2-9f79-4f86-8caa-47779b3f2793","request_id":"request-123","mcc":"5411","amount":10050,"currency":"BRL","pricing":{"fee":{"percentage":2.5,"flat":50,"minimum_price":100},"cost":{"percentage":2.5,"flat":50,"minimum_price":100}},"status":"APPROVED","capture_method":"EMV","installments":1,"payment_method":"PIX","automatic_anticipation":false,"anticipation_days":1,"origin":"INTERNAL","company_id":"a3dbd0c2-9f79-4f86-8caa-47779b3f2793","company_document_type":"CNPJ","company_document_number":"12345678000195","pix_payer":{"account_holder_name":"Maria Silva","account_holder_document_number":"12345678901","ispb":"18236120"},"created_at":"2023-12-01T10:00:00.000Z","fee_policy_id":"fee_policy_123","cost_policy_id":"cost_policy_123","approved_amount":10050,"refunded_amount":0,"three_d_secure_session_id":"550e8400-e29b-41d4-a716-446655440000","acquirer_response_code":"00","pix_data":{"pix_key_id":"pix_key_123","description":"Payment for order #123","qr_code":"00020126580014br.gov.bcb.pix0136a3dbd0c2-9f79-4f86-8caa-47779b3f2793520400005303986540510.005802BR5913Test Company6008São Paulo62070503***6304E2CA","expires_at":"2023-12-02T10:00:00.000Z","identification":"order_123","expiration_in_seconds":86400,"end_to_end_id":"E12345678202312101234567890123456","pix_payment_id":"27bff30a-3470-4e8e-a4f5-a16cf25be0e3","due_date":"2025-12-31","expiration_in_days_after_due_date":30,"interest":{"modality":"PERCENTAGE_PER_MONTH","amount":1000,"percentage":10.5},"fine":{"modality":"PERCENTAGE","amount":2000,"percentage":2.5},"discount":{"modality":"PERCENTAGE_UNTIL_DATE","amount":2,"percentage":50,"discount_dates_config":[{"until_date":"2025-12-15","percentage":10},{"until_date":"2025-12-20","percentage":5}]},"abatement":{"modality":"FIXED","amount":5000,"percentage":5}},"bolepix_data":{"pix_key_id":"pix_key_123","external_request_id":"ext-req-123","due_date":"2025-12-31","expiration_in_days_after_due_date":30,"boleto_transaction_id":"boleto-123","bank_issuer":"Banco do Brasil","bank_code":"001","bank_branch":"1234","bank_account_number":"12345-6","bar_code":"00190000090299993600000000000000185830000010000","bank_line":"00190.00009 02999.936001 00000.000001 8 58300000010000","bank_assignor":"Company Name","pix_transaction_id":"pix-123","pix_identification":"txid123456789","pix_emv":"00020126580014br.gov.bcb.pix...","paid_via":"PIX","paid_amount":50000,"paid_at":"2025-12-20T10:00:00.000Z","discount":{"amount":5000,"percentage":10,"modality":"FIXED","until_date":"2025-12-25"},"fine_percentage":2,"monthly_interest_percentage":1},"card_data":{"last_digits":"1111","expiry_month":"12","expiry_year":"2028","brand":"VISA","device_id":"device-123","cardholder_name":"John Doe","country":"BR","wallet_type":"APPLE_PAY","display_name":"Visa •••• 1111","authentication_type":"3DS"},"soft_descriptor":"MYSTORE","serial_number":"12345678","nsu":"000123","metadata":"\u003cunknown>","latest_refund_at":"2023-12-01T10:00:00.000Z","status_reason":"PROVIDER","approved_at":"2023-12-01T10:00:00.000Z","company_full_name":"Test Company","company_name":"Test Company","organization_id":"tx_organization_123456","consumer":{"document_type":"CPF","full_name":"João Silva","email":"[email protected]","pix_key":"[email protected]","document_number":"81146431023","phone":"+5511999999999","birth_date":"15-08-1990","address":{"street":"Rua das Flores","neighborhood":"Centro","zipcode":"12345678","country":"076","state":"SP","city":"São Paulo","street_number":"123","complement":"Apt 101"}},"updated_at":"2023-12-01T10:00:00.000Z"}}},"exampleType":"generated"}},"exampleType":"generated"},"9c632aef-dfbf-468a-929f-97042477d445":{"description":"The refund was refused. `REFUND_NOT_ALLOWED` when the transaction's state\nrefuses any refund, with the rule in `details.reason`; `VALIDATION_ERROR`\nwhen the request body or the amount asked for is invalid;\n`INVALID_STATE_ERROR` when a concurrent change to the transaction won the\nrace, in which case read the transaction again before retrying.\n","content":{"application/json":{"schema":{"type":"object","description":"Standard error envelope. Use it where an operation can fail with more than one\nerror code: the shape is always the same and `error.code` identifies the failure.\n","required":["error"],"properties":{"error":{"type":"object","required":["code","message","status","timestamp"],"properties":{"code":{"type":"string","description":"Machine-readable error code to branch on.","example":"INSUFFICIENT_BALANCE_ERROR","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","example":"Insufficient balance: 20000 is less than the minimum required: 100000","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"status":{"type":"integer","example":400,"isRequired":true,"uniqueKey":"error.status","typeLabel":"integer"},"timestamp":{"type":"string","format":"date-time","example":"2023-12-01T10:00:00.000Z","isRequired":true,"uniqueKey":"error.timestamp","typeLabel":"string\u003cdate-time>"},"details":{"type":"object","description":"Error-specific context. Returned for a `VALIDATION_ERROR` that names\nthe request's own invalid fields (carrying `issues`, see\n`ValidationErrorResponse`) and, on the operations whose\n`409` names the row it conflicts with, the identifier that operation\ndocuments (for example `details.pending_verification_id`), and for\n`REFUND_NOT_ALLOWED`, the refused rule in `details.reason`. Absent\notherwise.\n","uniqueKey":"error.details","typeLabel":"object"},"path":{"type":"string","example":"/v1/banking/cashouts","uniqueKey":"error.path","typeLabel":"string"},"requestId":{"type":"string","example":"req_123456789","uniqueKey":"error.requestId","typeLabel":"string"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"settlementInProgress":{"title":"settlementInProgress","value":{"error":{"code":"REFUND_NOT_ALLOWED","message":"This transaction can no longer be refunded because settlement is already in progress.","status":400,"details":{"reason":"SETTLEMENT_IN_PROGRESS"},"path":"/v1/merchants/0b6f2c1e-4f1a-4c3d-9a2b-7e5d8c9f1a20/transactions/3f9c2b7a-1d4e-4b8a-9c6f-2e1a5d7b8c90/refunds","timestamp":"2026-10-28T10:00:00.000Z","requestId":"req_123456789"}}},"alreadyRefunded":{"title":"alreadyRefunded","value":{"error":{"code":"REFUND_NOT_ALLOWED","message":"This transaction has already been refunded.","status":400,"details":{"reason":"ALREADY_REFUNDED"},"path":"/v1/merchants/0b6f2c1e-4f1a-4c3d-9a2b-7e5d8c9f1a20/transactions/3f9c2b7a-1d4e-4b8a-9c6f-2e1a5d7b8c90/refunds","timestamp":"2026-10-28T10:00:00.000Z","requestId":"req_123456789"}}},"amountExceeded":{"title":"amountExceeded","value":{"error":{"code":"VALIDATION_ERROR","message":"Refund amount cannot exceed approved amount","status":400,"details":{"issues":[{"field":"amount","type":"CUSTOM","message":"Refund amount cannot exceed approved amount"}]},"path":"/v1/merchants/0b6f2c1e-4f1a-4c3d-9a2b-7e5d8c9f1a20/transactions/3f9c2b7a-1d4e-4b8a-9c6f-2e1a5d7b8c90/refunds","timestamp":"2026-10-28T10:00:00.000Z","requestId":"req_123456789"}}}},"exampleType":"examples"}},"exampleType":"examples"},"662c0695-d736-4d23-98d7-0b862710a13c":{"description":"Unauthorized - Invalid or missing API key","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","example":"AUTHENTICATION_ERROR","uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","example":"Authentication required to access this resource","uniqueKey":"error.message","typeLabel":"string"},"status":{"type":"integer","example":401,"uniqueKey":"error.status","typeLabel":"integer"},"details":{"type":"object","properties":{"reason":{"type":"string","example":"Invalid API key","uniqueKey":"error.details.reason","typeLabel":"string"}},"uniqueKey":"error.details","typeLabel":"object"},"path":{"type":"string","example":"/companies/me","uniqueKey":"error.path","typeLabel":"string"},"timestamp":{"type":"string","format":"date-time","example":"2023-12-01T10:00:00.000Z","uniqueKey":"error.timestamp","typeLabel":"string\u003cdate-time>"},"requestId":{"type":"string","example":"req_123456789","uniqueKey":"error.requestId","typeLabel":"string"}},"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"AUTHENTICATION_ERROR","message":"Authentication required to access this resource","status":401,"details":{"reason":"Invalid API key"},"path":"/companies/me","timestamp":"2023-12-01T10:00:00.000Z","requestId":"req_123456789"}}}},"exampleType":"generated"}},"exampleType":"generated"},"cf3fb889-ef6e-444c-9841-dab97407231b":{"description":"Insufficient permissions to access this resource","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","example":"AUTHORIZATION_ERROR","uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","example":"You need 'admin' permissions to access this resource","uniqueKey":"error.message","typeLabel":"string"},"status":{"type":"integer","example":403,"uniqueKey":"error.status","typeLabel":"integer"},"path":{"type":"string","example":"/companies","uniqueKey":"error.path","typeLabel":"string"},"timestamp":{"type":"string","format":"date-time","example":"2023-12-01T10:00:00.000Z","uniqueKey":"error.timestamp","typeLabel":"string\u003cdate-time>"},"requestId":{"type":"string","example":"req_123456789","uniqueKey":"error.requestId","typeLabel":"string"}},"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"AUTHORIZATION_ERROR","message":"You need 'admin' permissions to access this resource","status":403,"path":"/companies","timestamp":"2023-12-01T10:00:00.000Z","requestId":"req_123456789"}}}},"exampleType":"generated"}},"exampleType":"generated"},"c89311a7-7e39-4cac-be04-27a8d08d4c10":{"description":"Merchant not found or does not belong to authenticated organization, or transaction not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","example":"RESOURCE_NOT_FOUND","uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","example":"Company with ID '123' not found","uniqueKey":"error.message","typeLabel":"string"},"status":{"type":"integer","example":404,"uniqueKey":"error.status","typeLabel":"integer"},"path":{"type":"string","example":"/companies/me","uniqueKey":"error.path","typeLabel":"string"},"timestamp":{"type":"string","format":"date-time","example":"2023-12-01T10:00:00.000Z","uniqueKey":"error.timestamp","typeLabel":"string\u003cdate-time>"},"requestId":{"type":"string","example":"req_123456789","uniqueKey":"error.requestId","typeLabel":"string"}},"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"RESOURCE_NOT_FOUND","message":"Company with ID '123' not found","status":404,"path":"/companies/me","timestamp":"2023-12-01T10:00:00.000Z","requestId":"req_123456789"}}}},"exampleType":"generated"}},"exampleType":"generated"},"bbfb2899-20ee-4f09-963a-4a2596bba45a":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR","uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","example":"An unexpected error occurred","uniqueKey":"error.message","typeLabel":"string"},"status":{"type":"integer","example":500,"uniqueKey":"error.status","typeLabel":"integer"},"path":{"type":"string","example":"/companies","uniqueKey":"error.path","typeLabel":"string"},"timestamp":{"type":"string","format":"date-time","example":"2023-12-01T10:00:00.000Z","uniqueKey":"error.timestamp","typeLabel":"string\u003cdate-time>"},"requestId":{"type":"string","example":"req_123456789","uniqueKey":"error.requestId","typeLabel":"string"}},"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"INTERNAL_SERVER_ERROR","message":"An unexpected error occurred","status":500,"path":"/companies","timestamp":"2023-12-01T10:00:00.000Z","requestId":"req_123456789"}}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"86a879fd-cb36-42dd-8665-589ea32598ba":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"x-api-key","description":"Company API key for authentication","scopes":[],"schemeName":"ApiKeyAuth"}}},"servers":{"8a341ef3-4177-4d41-a08d-d65c580921e9":{"url":"https://api-sandbox.rinne.com.br/core","description":"Sandbox"},"eda3b261-cda0-42bf-84d8-b68c10590d8c":{"url":"https://api.rinne.com.br/core","description":"Production"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"x-api-key","description":"Company API key for authentication","scopes":[],"schemeName":"ApiKeyAuth"},"schema":{"title":"x-api-key","type":"string","description":"Company API key for authentication","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"ApiKeyAuth","name":"x-api-key"}],"title":"ApiKeyAuth"}]},"originalFileLocation":"api-spec.yaml"},"subdomain":"rinne","siteName":"Rinne API","title":"Rinne API Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-09T19:32:44.501Z","originalFileLocation":"api-reference/transactions/refund-a-transaction-for-a-specific-merchant.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Requires the merchant.transaction.refund permission. Refunds a transaction for a merchant that belongs to the authenticated organization. Important Notes: - A refund the transaction\u0026#x27;s state refuses is answered 400 with code REFUND_NOT_ALLOWED and the rule in details.reason: PAYMENT_METHOD_NOT_SUPPORTED (BOLEPIX, or a payment method the transaction\u0026#x27;s provider cannot refund), REFUND_IN_PROGRESS, ALREADY_REFUNDED (fully refunded, or a card transaction with a completed refund: card refunds are accepted once per transaction), TRANSACTION_NOT_APPROVED (only APPROVED or PARTIALLY_REFUNDED transactions with an approved amount can be refunded), PAYMENT_DATA_MISSING (no Pix end-to-end id, or no acquirer id on a card payment), PROVIDER_UNAVAILABLE, SETTLEMENT_IN_PROGRESS and REFUND_WINDOW_EXPIRED (a Pix approved more than 90 days ago). These are the values of the transaction\u0026#x27;s refundability.blocked_reason, so reading the transaction first tells whether a refund will be accepted. They are checked before the amount. - An amount the transaction refuses is answered 400 with code VALIDATION_ERROR on field amount: more than the approved amount minus prior refunds that are not FAILED or CANCELLED, a partial refund on a provider that only accepts full cancellations, or a partial card refund on the day of the sale. - refund_amount is optional. When omitted, it resolves to the transaction\u0026#x27;s original approved amount. Because the resolved amount must still satisfy the exceeds-approved guard, omission only succeeds on a transaction with no prior COMPLETED, PENDING, PROCESSING, or TIMEOUT refunds; FAILED and CANCELLED priors are ignored. To refund only the remainder of a partially refunded transaction, send refund_amount explicitly. - Partial refunds are supported for providers that allow them (transaction status becomes PARTIALLY_REFUNDED); providers that only accept full cancellations (e.g. Cappta) reject partial refund requests with a 400 — omit refund_amount or submit the full approved amount instead. - Card refunds on providers that cannot refund post-settlement (e.g. Cappta) are refused with REFUND_NOT_ALLOWED and reason SETTLEMENT_IN_PROGRESS once the pre-settlement cancellation window has closed. The cutoff depends on payment method and anticipation: DEBIT_CARD settles on the next business day after approval; anticipated CREDIT_CARD settles at approval plus the transaction\u0026#x27;s anticipation_days (D+N), rolled to the next business day when that day is not one and never later than the standard schedule (a transaction created before anticipation_days existed, whose value the backfill has not stored yet, keeps the next-business-day window until it does); non-anticipated CREDIT_CARD settles ~29 calendar days later (then the next business day), so its refund window stays open much longer. The window closes at 23:59 (America/Sao_Paulo) the night before that settlement day, and the transaction\u0026#x27;s refundability.refundable_until carries that instant while the window is open (it is null once it has closed). Refunds across a weekend/holiday remain allowed until that boundary. - Full refunds change status to REFUNDED - Transaction may return with PENDING_REFUND status if the provider call fails for a transient reason (e.g., timeout, insufficient balance). The refund is retried by background jobs until it completes, is cancelled, or its refund window closes (the card pre-settlement window, the Pix 90-day return window); then it is marked FAILED unless the provider already took it, with the reason in last_attempt_error_message.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Rinne API\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/rinne/MXvyIJiliJyAMNh5/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/rinne/MXvyIJiliJyAMNh5/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/rinne/MXvyIJiliJyAMNh5/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/rinne/MXvyIJiliJyAMNh5/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/rinne/MXvyIJiliJyAMNh5/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/rinne/MXvyIJiliJyAMNh5/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/rinne/MXvyIJiliJyAMNh5/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/rinne/MXvyIJiliJyAMNh5/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/rinne/MXvyIJiliJyAMNh5/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Rinne API Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Complete payment infrastructure platform for managing merchants, processing transactions, and handling banking operations through a unified API.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Rinne API\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.rinne.com.br/api-reference/transactions/refund-a-transaction-for-a-specific-merchant\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://rinne.mintlify.site/_mintlify/api/og/v2?division=Transactions\u0026amp;title=Refund+a+transaction+for+a+specific+merchant\u0026amp;description=Requires+the+merchant.transaction.refund+permission.%0A%0ARefunds+a+transaction+for+a+merchant+that+belongs+to+the+authenticated+organization.%0A%0A**Important+Notes%3A**\u0026amp;theme=77f535d0b19c2686d36339db\u0026amp;signature=6a94378276a793a5d358641b15e84a6dff625d73424023a1d251b2ac49be8773\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Rinne API Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Complete payment infrastructure platform for managing merchants, processing transactions, and handling banking operations through a unified API.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://rinne.mintlify.site/_mintlify/api/og/v2?division=Transactions\u0026amp;title=Refund+a+transaction+for+a+specific+merchant\u0026amp;description=Requires+the+merchant.transaction.refund+permission.%0A%0ARefunds+a+transaction+for+a+merchant+that+belongs+to+the+authenticated+organization.%0A%0A**Important+Notes%3A**\u0026amp;theme=77f535d0b19c2686d36339db\u0026amp;signature=6a94378276a793a5d358641b15e84a6dff625d73424023a1d251b2ac49be8773\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/rinne/MXvyIJiliJyAMNh5/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Rinne API\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#5B68EB\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.rinne.com.br/api-reference/transactions/refund-a-transaction-for-a-specific-merchant\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/transactions/refund-a-transaction-for-a-specific-merchant.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.rinne.com.br/#organization\",\"name\":\"Rinne API\",\"url\":\"https://docs.rinne.com.br\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/rinne/HqyHJ9XOsH5pEihc/logo/light.png?fit=max\u0026auto=format\u0026n=HqyHJ9XOsH5pEihc\u0026q=85\u0026s=be4ff200f82e7246a248176e8984208e\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.rinne.com.br#website\",\"name\":\"Rinne API\",\"url\":\"https://docs.rinne.com.br\",\"publisher\":{\"@id\":\"https://docs.rinne.com.br/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.rinne.com.br/api-reference/transactions/refund-a-transaction-for-a-specific-merchant#webpage\",\"url\":\"https://docs.rinne.com.br/api-reference/transactions/refund-a-transaction-for-a-specific-merchant\",\"name\":\"Refund a transaction for a specific merchant\",\"description\":\"Requires the merchant.transaction.refund permission. Refunds a transaction for a merchant that belongs to the authenticated organization. Important Notes: - A refund the transaction's state refuses is answered 400 with code REFUND_NOT_ALLOWED and the rule in details.reason: PAYMENT_METHOD_NOT_SUPPORTED (BOLEPIX, or a payment method the transaction's provider cannot refund), REFUND_IN_PROGRESS, ALREADY_REFUNDED (fully refunded, or a card transaction with a completed refund: card refunds are accepted once per transaction), TRANSACTION_NOT_APPROVED (only APPROVED or PARTIALLY_REFUNDED transactions with an approved amount can be refunded), PAYMENT_DATA_MISSING (no Pix end-to-end id, or no acquirer id on a card payment), PROVIDER_UNAVAILABLE, SETTLEMENT_IN_PROGRESS and REFUND_WINDOW_EXPIRED (a Pix approved more than 90 days ago). These are the values of the transaction's refundability.blocked_reason, so reading the transaction first tells whether a refund will be accepted. They are checked before the amount. - An amount the transaction refuses is answered 400 with code VALIDATION_ERROR on field amount: more than the approved amount minus prior refunds that are not FAILED or CANCELLED, a partial refund on a provider that only accepts full cancellations, or a partial card refund on the day of the sale. - refund_amount is optional. When omitted, it resolves to the transaction's original approved amount. Because the resolved amount must still satisfy the exceeds-approved guard, omission only succeeds on a transaction with no prior COMPLETED, PENDING, PROCESSING, or TIMEOUT refunds; FAILED and CANCELLED priors are ignored. To refund only the remainder of a partially refunded transaction, send refund_amount explicitly. - Partial refunds are supported for providers that allow them (transaction status becomes PARTIALLY_REFUNDED); providers that only accept full cancellations (e.g. Cappta) reject partial refund requests with a 400 — omit refund_amount or submit the full approved amount instead. - Card refunds on providers that cannot refund post-settlement (e.g. Cappta) are refused with REFUND_NOT_ALLOWED and reason SETTLEMENT_IN_PROGRESS once the pre-settlement cancellation window has closed. The cutoff depends on payment method and anticipation: DEBIT_CARD settles on the next business day after approval; anticipated CREDIT_CARD settles at approval plus the transaction's anticipation_days (D+N), rolled to the next business day when that day is not one and never later than the standard schedule (a transaction created before anticipation_days existed, whose value the backfill has not stored yet, keeps the next-business-day window until it does); non-anticipated CREDIT_CARD settles ~29 calendar days later (then the next business day), so its refund window stays open much longer. The window closes at 23:59 (America/Sao_Paulo) the night before that settlement day, and the transaction's refundability.refundable_until carries that instant while the window is open (it is null once it has closed). Refunds across a weekend/holiday remain allowed until that boundary. - Full refunds change status to REFUNDED - Transaction may return with PENDING_REFUND status if the provider call fails for a transient reason (e.g., timeout, insufficient balance). The refund is retried by background jobs until it completes, is cancelled, or its refund window closes (the card pre-settlement window, the Pix 90-day return window); then it is marked FAILED unless the provider already took it, with the reason in last_attempt_error_message.\",\"dateModified\":\"2026-11-09T19:32:44.501Z\",\"isPartOf\":{\"@id\":\"https://docs.rinne.com.br#website\"},\"breadcrumb\":{\"@id\":\"https://docs.rinne.com.br/api-reference/transactions/refund-a-transaction-for-a-specific-merchant#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.rinne.com.br/api-reference/transactions/refund-a-transaction-for-a-specific-merchant#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Merchants\",\"item\":\"https://docs.rinne.com.br/api-reference/management/list-merchants\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Transactions\",\"item\":\"https://docs.rinne.com.br/api-reference/transactions/create-a-new-transaction-for-a-specific-merchant\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Refund a transaction for a specific merchant\",\"item\":\"https://docs.rinne.com.br/api-reference/transactions/refund-a-transaction-for-a-specific-merchant\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.rinne.com.br/api-reference/transactions/refund-a-transaction-for-a-specific-merchant#apireference\",\"headline\":\"Refund a transaction for a specific merchant\",\"name\":\"Refund a transaction for a specific merchant\",\"description\":\"Requires the merchant.transaction.refund permission. Refunds a transaction for a merchant that belongs to the authenticated organization. Important Notes: - A refund the transaction's state refuses is answered 400 with code REFUND_NOT_ALLOWED and the rule in details.reason: PAYMENT_METHOD_NOT_SUPPORTED (BOLEPIX, or a payment method the transaction's provider cannot refund), REFUND_IN_PROGRESS, ALREADY_REFUNDED (fully refunded, or a card transaction with a completed refund: card refunds are accepted once per transaction), TRANSACTION_NOT_APPROVED (only APPROVED or PARTIALLY_REFUNDED transactions with an approved amount can be refunded), PAYMENT_DATA_MISSING (no Pix end-to-end id, or no acquirer id on a card payment), PROVIDER_UNAVAILABLE, SETTLEMENT_IN_PROGRESS and REFUND_WINDOW_EXPIRED (a Pix approved more than 90 days ago). These are the values of the transaction's refundability.blocked_reason, so reading the transaction first tells whether a refund will be accepted. They are checked before the amount. - An amount the transaction refuses is answered 400 with code VALIDATION_ERROR on field amount: more than the approved amount minus prior refunds that are not FAILED or CANCELLED, a partial refund on a provider that only accepts full cancellations, or a partial card refund on the day of the sale. - refund_amount is optional. When omitted, it resolves to the transaction's original approved amount. Because the resolved amount must still satisfy the exceeds-approved guard, omission only succeeds on a transaction with no prior COMPLETED, PENDING, PROCESSING, or TIMEOUT refunds; FAILED and CANCELLED priors are ignored. To refund only the remainder of a partially refunded transaction, send refund_amount explicitly. - Partial refunds are supported for providers that allow them (transaction status becomes PARTIALLY_REFUNDED); providers that only accept full cancellations (e.g. Cappta) reject partial refund requests with a 400 — omit refund_amount or submit the full approved amount instead. - Card refunds on providers that cannot refund post-settlement (e.g. Cappta) are refused with REFUND_NOT_ALLOWED and reason SETTLEMENT_IN_PROGRESS once the pre-settlement cancellation window has closed. The cutoff depends on payment method and anticipation: DEBIT_CARD settles on the next business day after approval; anticipated CREDIT_CARD settles at approval plus the transaction's anticipation_days (D+N), rolled to the next business day when that day is not one and never later than the standard schedule (a transaction created before anticipation_days existed, whose value the backfill has not stored yet, keeps the next-business-day window until it does); non-anticipated CREDIT_CARD settles ~29 calendar days later (then the next business day), so its refund window stays open much longer. The window closes at 23:59 (America/Sao_Paulo) the night before that settlement day, and the transaction's refundability.refundable_until carries that instant while the window is open (it is null once it has closed). Refunds across a weekend/holiday remain allowed until that boundary. - Full refunds change status to REFUNDED - Transaction may return with PENDING_REFUND status if the provider call fails for a transient reason (e.g., timeout, insufficient balance). The refund is retried by background jobs until it completes, is cancelled, or its refund window closes (the card pre-settlement window, the Pix 90-day return window); then it is marked FAILED unless the provider already took it, with the reason in last_attempt_error_message.\",\"url\":\"https://docs.rinne.com.br/api-reference/transactions/refund-a-transaction-for-a-specific-merchant\",\"mainEntityOfPage\":{\"@id\":\"https://docs.rinne.com.br/api-reference/transactions/refund-a-transaction-for-a-specific-merchant#webpage\"},\"dateModified\":\"2026-11-09T19:32:44.501Z\",\"publisher\":{\"@id\":\"https://docs.rinne.com.br/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.rinne.com.br#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Rinne API\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Rinne API\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/api-reference/transactions/refund-a-transaction-for-a-specific-merchant.md","siteName":"Rinne API","nav":{"global":null,"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":""}]},{"tab":"Onboarding","icon":"id-card","pages":[{"title":"Onboarding","href":"/onboarding"}]},{"tab":"rinne-js","icon":"js","pages":[{"title":"rinne-js","href":"/rinne-js"}]},{"tab":"TapOnPhone","icon":"mobile-screen","pages":[{"title":"TapOnPhone","href":"/tap-on-phone"}]},{"tab":"API Reference","groups":[{"group":"Introduction","pages":[{"title":"API Reference","href":"/api-reference/introduction"}]},{"group":"Merchants","pages":[{"group":"Management","pages":[{"title":"List merchants","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/merchants","href":"/api-reference/management/list-merchants"},{"title":"Create new merchant","deprecated":null,"version":null,"openapi":"/api-spec.yaml post /v1/merchants","href":"/api-reference/management/create-new-merchant"},{"title":"Get merchant by ID","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/merchants/{merchantId}","href":"/api-reference/management/get-merchant-by-id"},{"title":"Update merchant","deprecated":null,"version":null,"openapi":"/api-spec.yaml patch /v1/merchants/{merchantId}","href":"/api-reference/management/update-merchant"},{"title":"Get public settings for a merchant","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/merchants/{merchantId}/public-settings","href":"/api-reference/management/get-public-settings-for-a-merchant"},{"title":"Get merchant overview","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/merchants/overview","href":"/api-reference/management/get-merchant-overview"}]},{"group":"Transactions","pages":[{"title":"Create a new transaction for a specific merchant","deprecated":null,"version":null,"openapi":"/api-spec.yaml post /v1/merchants/{merchantId}/transactions","href":"/api-reference/transactions/create-a-new-transaction-for-a-specific-merchant"},{"title":"Create a 3D Secure session linked to a merchant","deprecated":null,"version":null,"openapi":"/api-spec.yaml post /v1/merchants/{merchantId}/3ds-sessions","href":"/api-reference/3d-secure/create-a-3d-secure-session-linked-to-a-merchant"},{"title":"Get a 3D Secure session of a merchant","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/merchants/{merchantId}/3ds-sessions/{sessionId}","href":"/api-reference/3d-secure/get-a-3d-secure-session-of-a-merchant"},{"title":"Authenticate a merchant's transaction with 3D Secure","deprecated":null,"version":null,"openapi":"/api-spec.yaml post /v1/merchants/{merchantId}/transactions/{transactionId}/authenticate","href":"/api-reference/3d-secure/authenticate-a-merchants-transaction-with-3d-secure"},{"title":"Get transactions for all merchants","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/merchants/transactions","href":"/api-reference/transactions/get-transactions-for-all-merchants"},{"title":"Get a specific transaction by ID across all merchants","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/merchants/transactions/{transactionId}","href":"/api-reference/transactions/get-a-specific-transaction-by-id-across-all-merchants"},{"title":"Get a specific transaction for a merchant","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/merchants/{merchantId}/transactions/{transactionId}","href":"/api-reference/transactions/get-a-specific-transaction-for-a-merchant"},{"title":"Get transaction receipts for a specific merchant","description":"Requires the merchant.transaction.view permission.\n\nGenerates receipts for a specific merchant's transaction.\nOnly accessible by the organization that owns the merchant.\nReturns a list of receipts including:\n- The original payment receipt (if transaction was approved)\n- Refund receipts (one per completed refund with provider identification)\n\nEach receipt includes JSON with account information and a base64-encoded PDF.\n\n**Requirements:**\n- Transaction status must be APPROVED, REFUNDED, or PARTIALLY_REFUNDED\n- Only PIX payment method transactions are currently supported\n- Transaction must have payer information (pix_payer)\n- Transaction must have an end-to-end ID for the payment receipt\n- Refunds must have provider_refund_identification for refund receipts\n","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/merchants/{merchantId}/transactions/{transactionId}/receipt","href":"/api-reference/transactions/get-transaction-receipts-for-a-specific-merchant"},{"title":"Refund a transaction for a specific merchant","deprecated":null,"version":null,"openapi":"/api-spec.yaml post /v1/merchants/{merchantId}/transactions/{transactionId}/refunds","href":"/api-reference/transactions/refund-a-transaction-for-a-specific-merchant"},{"title":"Cancel existing pending refund for a merchant transaction by ID","description":"Requires the merchant.transaction.refund permission.\n\nCancels an existing pending refund for a transaction by ID belonging to a merchant that is part of the authenticated organization.\n\n**Important Notes:**\n- Only existing pending refunds with PENDING status can be cancelled.\n- Cancelling a refund will revert the transaction status based on remaining refunds\n- If no other refunds exist, transaction status reverts to APPROVED\n- If other completed refunds exist, transaction status becomes PARTIALLY_REFUNDED or REFUNDED accordingly\n","deprecated":null,"version":null,"openapi":"/api-spec.yaml patch /v1/merchants/{merchantId}/transactions/{transactionId}/refunds/cancel","href":"/api-reference/transactions/cancel-existing-pending-refund-for-a-merchant-transaction-by-id"},{"title":"Cancel a merchant's BOLEPIX transaction","deprecated":null,"version":null,"openapi":"/api-spec.yaml post /v1/merchants/{merchantId}/transactions/{transactionId}/cancel","href":"/api-reference/transactions/cancel-a-merchants-bolepix-transaction"},{"title":"Get merchant transactions overview","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/merchants/transactions/overview","href":"/api-reference/transactions/get-merchant-transactions-overview"},{"title":"Pay PIX or BOLEPIX transaction via QR code (Sandbox Only)","deprecated":null,"version":null,"openapi":"/api-spec.yaml post /v1/merchants/{merchantId}/transactions/{transactionId}/pay","href":"/api-reference/transactions/pay-pix-or-bolepix-transaction-via-qr-code-sandbox-only"}]},{"group":"Cards","pages":[{"title":"Store a card for a merchant","deprecated":null,"version":null,"openapi":"/api-spec.yaml post /v1/merchants/{merchantId}/cards","href":"/api-reference/cards/store-a-card-for-a-merchant"},{"title":"List a merchant's stored cards","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/merchants/{merchantId}/cards","href":"/api-reference/cards/list-a-merchants-stored-cards"},{"title":"Get a merchant's stored card","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/merchants/{merchantId}/cards/{cardId}","href":"/api-reference/cards/get-a-merchants-stored-card"},{"title":"Delete a merchant's stored card","deprecated":null,"version":null,"openapi":"/api-spec.yaml delete /v1/merchants/{merchantId}/cards/{cardId}","href":"/api-reference/cards/delete-a-merchants-stored-card"}]},{"group":"KYC","pages":[{"title":"List KYC checks for a specific merchant","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/merchants/{merchantId}/kyc-checks","href":"/api-reference/kyc/list-kyc-checks-for-a-specific-merchant"}]},{"group":"Affiliations","pages":[{"title":"Get affiliations for all merchants","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/merchants/affiliations","href":"/api-reference/affiliations/get-affiliations-for-all-merchants"},{"title":"List affiliations for a specific merchant","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/merchants/{merchantId}/affiliations","href":"/api-reference/affiliations/list-affiliations-for-a-specific-merchant"},{"title":"Create a new affiliation for a specific merchant","deprecated":null,"version":null,"openapi":"/api-spec.yaml post /v1/merchants/{merchantId}/affiliations","href":"/api-reference/affiliations/create-a-new-affiliation-for-a-specific-merchant"},{"title":"Get a specific affiliation for a merchant","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/merchants/{merchantId}/affiliations/{id}","href":"/api-reference/affiliations/get-a-specific-affiliation-for-a-merchant"},{"title":"Update anticipation configuration for a merchant's affiliation","deprecated":null,"version":null,"openapi":"/api-spec.yaml patch /v1/merchants/{merchantId}/affiliations/{id}","href":"/api-reference/affiliations/update-anticipation-configuration-for-a-merchants-affiliation"},{"title":"Cancel a merchant's affiliation that is waiting for documents","deprecated":null,"version":null,"openapi":"/api-spec.yaml post /v1/merchants/{merchantId}/affiliations/{id}/cancel","href":"/api-reference/affiliations/cancel-a-merchants-affiliation-that-is-waiting-for-documents"},{"title":"Reissue a merchant's onboarding link","deprecated":null,"version":null,"openapi":"/api-spec.yaml post /v1/merchants/{merchantId}/affiliations/{id}/onboarding-link","href":"/api-reference/affiliations/reissue-a-merchants-onboarding-link"},{"title":"Get onboarding document with download URL for a merchant's affiliation","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/merchants/{merchantId}/affiliations/{affiliationId}/onboarding-documents/{documentId}","href":"/api-reference/affiliations/get-onboarding-document-with-download-url-for-a-merchants-affiliation"},{"title":"Request settlement bank account update for a merchant's affiliation","deprecated":null,"version":null,"openapi":"/api-spec.yaml post /v1/merchants/{merchantId}/affiliations/{affiliationId}/settlement-bank-account","href":"/api-reference/affiliations/request-settlement-bank-account-update-for-a-merchants-affiliation"}]},{"group":"Onboarding Requirements","pages":[{"title":"List onboarding requirements","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/merchants/{merchantId}/onboarding-requirements","href":"/api-reference/onboarding-requirements/list-onboarding-requirements"},{"title":"Answer an onboarding requirement","deprecated":null,"version":null,"openapi":"/api-spec.yaml post /v1/merchants/{merchantId}/onboarding-requirements/{id}/answer","href":"/api-reference/onboarding-requirements/answer-an-onboarding-requirement"}]},{"group":"Onboarding Documents","pages":[{"title":"Open an onboarding document upload","deprecated":null,"version":null,"openapi":"/api-spec.yaml post /v1/merchants/{merchantId}/onboarding-documents","href":"/api-reference/onboarding-documents/open-an-onboarding-document-upload"},{"title":"Complete an onboarding document upload","deprecated":null,"version":null,"openapi":"/api-spec.yaml post /v1/merchants/{merchantId}/onboarding-documents/{id}/complete","href":"/api-reference/onboarding-documents/complete-an-onboarding-document-upload"},{"title":"List onboarding documents","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/merchants/{merchantId}/onboarding-documents","href":"/api-reference/onboarding-documents/list-onboarding-documents"},{"title":"Get an onboarding document","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/merchants/{merchantId}/onboarding-documents/{id}","href":"/api-reference/onboarding-documents/get-an-onboarding-document"}]},{"group":"Biometric Verifications","pages":[{"title":"Start a biometric verification","deprecated":null,"version":null,"openapi":"/api-spec.yaml post /v1/merchants/{merchantId}/biometric-verifications","href":"/api-reference/biometric-verifications/start-a-biometric-verification"},{"title":"List biometric verifications","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/merchants/{merchantId}/biometric-verifications","href":"/api-reference/biometric-verifications/list-biometric-verifications"},{"title":"Get a biometric verification","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/merchants/{merchantId}/biometric-verifications/{id}","href":"/api-reference/biometric-verifications/get-a-biometric-verification"}]},{"group":"Banking","pages":[{"title":"Get banking balance for a specific merchant","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/merchants/{merchantId}/balance","href":"/api-reference/banking/get-banking-balance-for-a-specific-merchant"},{"title":"Add balance to merchant bank account (Sandbox Only)","deprecated":null,"version":null,"openapi":"/api-spec.yaml post /v1/merchants/{merchantId}/balance","href":"/api-reference/banking/add-balance-to-merchant-bank-account-sandbox-only"},{"title":"Get banking statement for a specific merchant","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/merchants/{merchantId}/statement","href":"/api-reference/banking/get-banking-statement-for-a-specific-merchant"},{"title":"List all PIX keys for a specific merchant","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/merchants/{merchantId}/pix/keys","href":"/api-reference/pix-keys/list-all-pix-keys-for-a-specific-merchant"},{"title":"Create a new PIX key for a specific merchant","deprecated":null,"version":null,"openapi":"/api-spec.yaml post /v1/merchants/{merchantId}/pix/keys","href":"/api-reference/pix-keys/create-a-new-pix-key-for-a-specific-merchant"},{"title":"Delete a PIX key for a specific merchant","deprecated":null,"version":null,"openapi":"/api-spec.yaml delete /v1/merchants/{merchantId}/pix/keys","href":"/api-reference/pix-keys/delete-a-pix-key-for-a-specific-merchant"},{"title":"Create a new internal transfer request","deprecated":null,"version":null,"openapi":"/api-spec.yaml post /v1/banking/internal-transfers","href":"/api-reference/banking/create-a-new-internal-transfer-request"},{"title":"List internal transfers for authenticated company","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/banking/internal-transfers","href":"/api-reference/banking/list-internal-transfers-for-authenticated-company"},{"title":"Get a specific internal transfer by ID","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/banking/internal-transfers/{id}","href":"/api-reference/banking/get-a-specific-internal-transfer-by-id"},{"title":"List judicial blockages for a specific merchant","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/merchants/{merchantId}/banking/judicial-blockages","href":"/api-reference/banking/list-judicial-blockages-for-a-specific-merchant"}]},{"group":"Cashouts","pages":[{"group":"External PIX Keys","pages":[{"title":"List all PIX keys for a merchant","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/merchants/{merchantId}/pix-keys","href":"/api-reference/bank-accounts/list-all-pix-keys-for-a-merchant"},{"title":"Create a PIX key for a merchant","deprecated":null,"version":null,"openapi":"/api-spec.yaml post /v1/merchants/{merchantId}/pix-keys","href":"/api-reference/bank-accounts/create-a-pix-key-for-a-merchant"},{"title":"Get a PIX key for a merchant","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/merchants/{merchantId}/pix-keys/{id}","href":"/api-reference/bank-accounts/get-a-pix-key-for-a-merchant"},{"title":"Update a PIX key for a merchant","deprecated":null,"version":null,"openapi":"/api-spec.yaml patch /v1/merchants/{merchantId}/pix-keys/{id}","href":"/api-reference/bank-accounts/update-a-pix-key-for-a-merchant"},{"title":"Delete a PIX key for a merchant","deprecated":null,"version":null,"openapi":"/api-spec.yaml delete /v1/merchants/{merchantId}/pix-keys/{id}","href":"/api-reference/bank-accounts/delete-a-pix-key-for-a-merchant"}]},{"group":"External Bank Accounts","pages":[{"title":"List all bank accounts for a merchant","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/merchants/{merchantId}/bank-accounts","href":"/api-reference/bank-accounts/list-all-bank-accounts-for-a-merchant"},{"title":"Registers a new external bank account for a merchant","deprecated":null,"version":null,"openapi":"/api-spec.yaml post /v1/merchants/{merchantId}/bank-accounts","href":"/api-reference/bank-accounts/registers-a-new-external-bank-account-for-a-merchant"},{"title":"Get specific bank account details for a merchant","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/merchants/{merchantId}/bank-accounts/{id}","href":"/api-reference/bank-accounts/get-specific-bank-account-details-for-a-merchant"},{"title":"Update bank account information for a merchant","deprecated":null,"version":null,"openapi":"/api-spec.yaml patch /v1/merchants/{merchantId}/bank-accounts/{id}","href":"/api-reference/bank-accounts/update-bank-account-information-for-a-merchant"},{"title":"Soft delete bank account for a merchant","deprecated":null,"version":null,"openapi":"/api-spec.yaml delete /v1/merchants/{merchantId}/bank-accounts/{id}","href":"/api-reference/bank-accounts/soft-delete-bank-account-for-a-merchant"}]},{"title":"Create a cashout request for a specific merchant","deprecated":null,"version":null,"openapi":"/api-spec.yaml post /v1/merchants/{merchantId}/cashouts","href":"/api-reference/banking/create-a-cashout-request-for-a-specific-merchant"},{"title":"List cashouts for a specific merchant","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/merchants/{merchantId}/cashouts","href":"/api-reference/banking/list-cashouts-for-a-specific-merchant"},{"title":"Get a specific cashout for a merchant","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/merchants/{merchantId}/cashouts/{id}","href":"/api-reference/banking/get-a-specific-cashout-for-a-merchant"},{"title":"Get merchant cashout receipt","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/merchants/{merchantId}/cashouts/{id}/receipt","href":"/api-reference/banking/get-merchant-cashout-receipt"}]},{"group":"Ledger","pages":[{"title":"Get ledger entries for all merchants","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/merchants/ledger-entries","href":"/api-reference/ledger/get-ledger-entries-for-all-merchants"},{"title":"Get a single ledger entry by ID for organization","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/merchants/ledger-entries/{ledgerEntryId}","href":"/api-reference/ledger/get-a-single-ledger-entry-by-id-for-organization"},{"title":"Get ledger entries for a specific merchant","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/merchants/{merchantId}/ledger-entries","href":"/api-reference/ledger/get-ledger-entries-for-a-specific-merchant"}]},{"group":"Receivables","pages":[{"title":"List contract effects on your merchants' receivables","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/merchants/receivables/contract-effects","href":"/api-reference/receivables/list-contract-effects-on-your-merchants-receivables"}]},{"group":"Disputes","pages":[{"title":"Get disputes for all merchants","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/merchants/disputes","href":"/api-reference/disputes/get-disputes-for-all-merchants"},{"title":"Get a single dispute by ID for organization","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/merchants/disputes/{id}","href":"/api-reference/disputes/get-a-single-dispute-by-id-for-organization"}]}]},{"group":"Pricing","pages":[{"group":"Pricing","pages":[{"title":"List fee policies","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/pricing/fee-policies","href":"/api-reference/pricing/list-fee-policies"},{"title":"Create a new fee policy","deprecated":null,"version":null,"openapi":"/api-spec.yaml post /v1/pricing/fee-policies","href":"/api-reference/pricing/create-a-new-fee-policy"},{"title":"Update a fee policy","deprecated":null,"version":null,"openapi":"/api-spec.yaml patch /v1/pricing/fee-policies/{id}","href":"/api-reference/pricing/update-a-fee-policy"},{"title":"Replace a fee policy","deprecated":null,"version":null,"openapi":"/api-spec.yaml put /v1/pricing/fee-policies/{id}","href":"/api-reference/pricing/replace-a-fee-policy"},{"title":"List cost policies","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/pricing/cost-policies","href":"/api-reference/pricing/list-cost-policies"}]}]},{"group":"Tap-on-Phone","pages":[{"title":"Mint a Tap-on-Phone access token","deprecated":null,"version":null,"openapi":"/api-spec.yaml post /v1/terminal/token","href":"/api-reference/tap-on-phone/mint-a-tap-on-phone-access-token"}]},{"group":"Webhooks","pages":[{"group":"Management","pages":[{"title":"Get webhook dashboard URL","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/webhooks/dashboard","href":"/api-reference/webhooks/get-webhook-dashboard-url"}]},{"group":"Events","pages":[{"title":"Affiliation created","version":null,"deprecated":null,"openapi":"/api-spec.yaml webhook affiliation.created","href":"/api-reference/events/affiliation-created"},{"title":"Affiliation status changed","version":null,"deprecated":null,"openapi":"/api-spec.yaml webhook affiliation.status-changed","href":"/api-reference/events/affiliation-status-changed"},{"title":"Affiliation requirements changed","version":null,"deprecated":null,"openapi":"/api-spec.yaml webhook affiliation.requirements-changed","href":"/api-reference/events/affiliation-requirements-changed"},{"title":"Affiliation bank account operational status changed","version":null,"deprecated":null,"openapi":"/api-spec.yaml webhook affiliation-bank-account.operational-status-changed","href":"/api-reference/events/affiliation-bank-account-operational-status-changed"},{"title":"Biometric verification status changed","version":null,"deprecated":null,"openapi":"/api-spec.yaml webhook biometric-verification.status-changed","href":"/api-reference/events/biometric-verification-status-changed"},{"title":"Cashout created","version":null,"deprecated":null,"openapi":"/api-spec.yaml webhook cashout.created","href":"/api-reference/events/cashout-created"},{"title":"Cashout status changed","version":null,"deprecated":null,"openapi":"/api-spec.yaml webhook cashout.status-changed","href":"/api-reference/events/cashout-status-changed"},{"title":"Company created","version":null,"deprecated":null,"openapi":"/api-spec.yaml webhook company.created","href":"/api-reference/events/company-created"},{"title":"Company status changed","version":null,"deprecated":null,"openapi":"/api-spec.yaml webhook company.status-changed","href":"/api-reference/events/company-status-changed"},{"title":"Dispute created","version":null,"deprecated":null,"openapi":"/api-spec.yaml webhook dispute.created","href":"/api-reference/events/dispute-created"},{"title":"Dispute funds held","version":null,"deprecated":null,"openapi":"/api-spec.yaml webhook dispute.funds-held","href":"/api-reference/events/dispute-funds-held"},{"title":"Dispute funds released","version":null,"deprecated":null,"openapi":"/api-spec.yaml webhook dispute.funds-released","href":"/api-reference/events/dispute-funds-released"},{"title":"Dispute funds returned","version":null,"deprecated":null,"openapi":"/api-spec.yaml webhook dispute.funds-returned","href":"/api-reference/events/dispute-funds-returned"},{"title":"Dispute status changed","version":null,"deprecated":null,"openapi":"/api-spec.yaml webhook dispute.status-changed","href":"/api-reference/events/dispute-status-changed"},{"title":"Internal transfer created","version":null,"deprecated":null,"openapi":"/api-spec.yaml webhook internal-transfer.created","href":"/api-reference/events/internal-transfer-created"},{"title":"Internal transfer status changed","version":null,"deprecated":null,"openapi":"/api-spec.yaml webhook internal-transfer.status-changed","href":"/api-reference/events/internal-transfer-status-changed"},{"title":"Judicial blockage created","version":null,"deprecated":null,"openapi":"/api-spec.yaml webhook judicial-blockage.created","href":"/api-reference/events/judicial-blockage-created"},{"title":"Kyc completed","version":null,"deprecated":null,"openapi":"/api-spec.yaml webhook kyc.completed","href":"/api-reference/events/kyc-completed"},{"title":"Ledger entry settled","version":null,"deprecated":null,"openapi":"/api-spec.yaml webhook ledger-entry.settled","href":"/api-reference/events/ledger-entry-settled"},{"title":"Pix key created","version":null,"deprecated":null,"openapi":"/api-spec.yaml webhook pix-key.created","href":"/api-reference/events/pix-key-created"},{"title":"Pix key status changed","version":null,"deprecated":null,"openapi":"/api-spec.yaml webhook pix-key.status-changed","href":"/api-reference/events/pix-key-status-changed"},{"title":"Onboarding document status changed","version":null,"deprecated":null,"openapi":"/api-spec.yaml webhook onboarding-document.status-changed","href":"/api-reference/events/onboarding-document-status-changed"},{"title":"3ds session status changed","version":null,"deprecated":null,"openapi":"/api-spec.yaml webhook three-d-secure-session.status-changed","href":"/api-reference/events/3ds-session-status-changed"},{"title":"Transaction created","version":null,"deprecated":null,"openapi":"/api-spec.yaml webhook transaction.created","href":"/api-reference/events/transaction-created"},{"title":"Transaction status changed","version":null,"deprecated":null,"openapi":"/api-spec.yaml webhook transaction.status-changed","href":"/api-reference/events/transaction-status-changed"}]}]},{"group":"Organization Management","pages":[{"group":"Companies","pages":[{"title":"Get authenticated company information","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/companies/me","href":"/api-reference/companies/get-authenticated-company-information"},{"title":"Update authenticated company","deprecated":null,"version":null,"openapi":"/api-spec.yaml patch /v1/companies/me","href":"/api-reference/companies/update-authenticated-company"},{"title":"List all MCCs","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/companies/mccs","href":"/api-reference/companies/list-all-mccs"}]},{"group":"Company Affiliations","pages":[{"title":"List affiliations","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/affiliations","href":"/api-reference/company-affiliations/list-affiliations"},{"title":"Create new affiliation","deprecated":null,"version":null,"openapi":"/api-spec.yaml post /v1/affiliations","href":"/api-reference/company-affiliations/create-new-affiliation"},{"title":"Get a specific affiliation","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/affiliations/{id}","href":"/api-reference/company-affiliations/get-a-specific-affiliation"},{"title":"Update affiliation anticipation configuration","deprecated":null,"version":null,"openapi":"/api-spec.yaml patch /v1/affiliations/{id}","href":"/api-reference/company-affiliations/update-affiliation-anticipation-configuration"},{"title":"Cancel an affiliation that is waiting for documents","deprecated":null,"version":null,"openapi":"/api-spec.yaml post /v1/affiliations/{id}/cancel","href":"/api-reference/company-affiliations/cancel-an-affiliation-that-is-waiting-for-documents"},{"title":"Reissue the onboarding link","deprecated":null,"version":null,"openapi":"/api-spec.yaml post /v1/affiliations/{id}/onboarding-link","href":"/api-reference/company-affiliations/reissue-the-onboarding-link"},{"title":"Get onboarding document with download URL","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/affiliations/{affiliationId}/onboarding-documents/{documentId}","href":"/api-reference/company-affiliations/get-onboarding-document-with-download-url"},{"title":"Request settlement bank account update","deprecated":null,"version":null,"openapi":"/api-spec.yaml post /v1/affiliations/{affiliationId}/settlement-bank-account","href":"/api-reference/company-affiliations/request-settlement-bank-account-update"}]},{"group":"Onboarding Requirements","pages":[{"title":"List onboarding requirements","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/onboarding-requirements","href":"/api-reference/company-onboarding-requirements/list-onboarding-requirements"},{"title":"Answer an onboarding requirement","deprecated":null,"version":null,"openapi":"/api-spec.yaml post /v1/onboarding-requirements/{id}/answer","href":"/api-reference/company-onboarding-requirements/answer-an-onboarding-requirement"}]},{"group":"Onboarding Documents","pages":[{"title":"Open an onboarding document upload","deprecated":null,"version":null,"openapi":"/api-spec.yaml post /v1/onboarding-documents","href":"/api-reference/company-onboarding-documents/open-an-onboarding-document-upload"},{"title":"Complete an onboarding document upload","deprecated":null,"version":null,"openapi":"/api-spec.yaml post /v1/onboarding-documents/{id}/complete","href":"/api-reference/company-onboarding-documents/complete-an-onboarding-document-upload"},{"title":"List onboarding documents","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/onboarding-documents","href":"/api-reference/company-onboarding-documents/list-onboarding-documents"},{"title":"Get an onboarding document","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/onboarding-documents/{id}","href":"/api-reference/company-onboarding-documents/get-an-onboarding-document"}]},{"group":"Company Biometric Verifications","pages":[{"title":"Start a biometric verification","deprecated":null,"version":null,"openapi":"/api-spec.yaml post /v1/biometric-verifications","href":"/api-reference/company-biometric-verifications/start-a-biometric-verification"},{"title":"List biometric verifications","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/biometric-verifications","href":"/api-reference/company-biometric-verifications/list-biometric-verifications"},{"title":"Get a biometric verification","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/biometric-verifications/{id}","href":"/api-reference/company-biometric-verifications/get-a-biometric-verification"}]},{"group":"Company Transactions","pages":[{"title":"Get transactions","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/transactions","href":"/api-reference/company-transactions/get-transactions"},{"title":"Create a new transaction","deprecated":null,"version":null,"openapi":"/api-spec.yaml post /v1/transactions","href":"/api-reference/company-transactions/create-a-new-transaction"},{"title":"Create a 3D Secure session","deprecated":null,"version":null,"openapi":"/api-spec.yaml post /v1/3ds-sessions","href":"/api-reference/3d-secure/create-a-3d-secure-session"},{"title":"Get a 3D Secure session","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/3ds-sessions/{id}","href":"/api-reference/3d-secure/get-a-3d-secure-session"},{"title":"Authenticate a transaction with 3D Secure","deprecated":null,"version":null,"openapi":"/api-spec.yaml post /v1/transactions/{transactionId}/authenticate","href":"/api-reference/3d-secure/authenticate-a-transaction-with-3d-secure"},{"title":"Get transaction by ID","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/transactions/{id}","href":"/api-reference/company-transactions/get-transaction-by-id"},{"title":"Get transaction receipts","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/transactions/{id}/receipt","href":"/api-reference/company-transactions/get-transaction-receipts"},{"title":"Refund a transaction","deprecated":null,"version":null,"openapi":"/api-spec.yaml post /v1/transactions/{id}/refunds","href":"/api-reference/company-transactions/refund-a-transaction"},{"title":"Cancel existing pending refund for a transaction by ID","deprecated":null,"version":null,"openapi":"/api-spec.yaml patch /v1/transactions/{id}/refunds/cancel","href":"/api-reference/company-transactions/cancel-existing-pending-refund-for-a-transaction-by-id"},{"title":"Cancel a BOLEPIX transaction","deprecated":null,"version":null,"openapi":"/api-spec.yaml post /v1/transactions/{id}/cancel","href":"/api-reference/transactions/cancel-a-bolepix-transaction"},{"title":"Get company transactions overview","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/transactions/overview","href":"/api-reference/company-transactions/get-company-transactions-overview"},{"title":"Pay organization's own PIX or BOLEPIX transaction via QR code (Sandbox Only)","deprecated":null,"version":null,"openapi":"/api-spec.yaml post /v1/transactions/{transactionId}/pay","href":"/api-reference/transactions/pay-organizations-own-pix-or-bolepix-transaction-via-qr-code-sandbox-only"}]},{"group":"Company Cards","pages":[{"title":"Store a card","deprecated":null,"version":null,"openapi":"/api-spec.yaml post /v1/cards","href":"/api-reference/cards/store-a-card"},{"title":"List stored cards","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/cards","href":"/api-reference/cards/list-stored-cards"},{"title":"Get a stored card","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/cards/{cardId}","href":"/api-reference/cards/get-a-stored-card"},{"title":"Delete a stored card","deprecated":null,"version":null,"openapi":"/api-spec.yaml delete /v1/cards/{cardId}","href":"/api-reference/cards/delete-a-stored-card"}]},{"group":"Company Banking","pages":[{"title":"Get account balance for a company","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/banking/balance","href":"/api-reference/company-banking/get-account-balance-for-a-company"},{"title":"Add balance to organization bank account (Sandbox Only)","deprecated":null,"version":null,"openapi":"/api-spec.yaml post /v1/banking/balance","href":"/api-reference/banking/add-balance-to-organization-bank-account-sandbox-only"},{"title":"Get account statement (movements) for a company","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/banking/statement","href":"/api-reference/company-banking/get-account-statement-movements-for-a-company"},{"title":"List all PIX keys","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/pix/keys","href":"/api-reference/company-pix/list-all-pix-keys"},{"title":"Create a new PIX key","deprecated":null,"version":null,"openapi":"/api-spec.yaml post /v1/pix/keys","href":"/api-reference/company-pix/create-a-new-pix-key"},{"title":"Delete a PIX key","deprecated":null,"version":null,"openapi":"/api-spec.yaml delete /v1/pix/keys","href":"/api-reference/company-pix/delete-a-pix-key"},{"title":"Get a specific PIX key by ID","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/pix/keys/{id}","href":"/api-reference/company-pix/get-a-specific-pix-key-by-id"},{"title":"List judicial blockages","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/banking/judicial-blockages","href":"/api-reference/company-banking/list-judicial-blockages"}]},{"group":"Company Cashouts","pages":[{"group":"External PIX Keys","pages":[{"title":"List all company PIX keys","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/companies/me/pix-keys","href":"/api-reference/companies/list-all-company-pix-keys"},{"title":"Create a company PIX key","deprecated":null,"version":null,"openapi":"/api-spec.yaml post /v1/companies/me/pix-keys","href":"/api-reference/companies/create-a-company-pix-key"},{"title":"Get a company PIX key","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/companies/me/pix-keys/{id}","href":"/api-reference/companies/get-a-company-pix-key"},{"title":"Update a company PIX key","deprecated":null,"version":null,"openapi":"/api-spec.yaml patch /v1/companies/me/pix-keys/{id}","href":"/api-reference/companies/update-a-company-pix-key"},{"title":"Delete a company PIX key","deprecated":null,"version":null,"openapi":"/api-spec.yaml delete /v1/companies/me/pix-keys/{id}","href":"/api-reference/companies/delete-a-company-pix-key"}]},{"group":"External Bank Accounts","pages":[{"title":"List all bank accounts","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/companies/me/bank-accounts","href":"/api-reference/companies/list-all-bank-accounts"},{"title":"Registers a new bank account","deprecated":null,"version":null,"openapi":"/api-spec.yaml post /v1/companies/me/bank-accounts","href":"/api-reference/companies/registers-a-new-bank-account"},{"title":"Get specific bank account details","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/companies/me/bank-accounts/{id}","href":"/api-reference/companies/get-specific-bank-account-details"},{"title":"Update bank account information","deprecated":null,"version":null,"openapi":"/api-spec.yaml patch /v1/companies/me/bank-accounts/{id}","href":"/api-reference/companies/update-bank-account-information"},{"title":"Soft delete bank account","deprecated":null,"version":null,"openapi":"/api-spec.yaml delete /v1/companies/me/bank-accounts/{id}","href":"/api-reference/companies/soft-delete-bank-account"}]},{"title":"Create a new cashout request","deprecated":null,"version":null,"openapi":"/api-spec.yaml post /v1/banking/cashouts","href":"/api-reference/company-banking/create-a-new-cashout-request"},{"title":"List cashouts","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/banking/cashouts","href":"/api-reference/company-banking/list-cashouts"},{"title":"Get a specific cashout by ID","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/banking/cashouts/{id}","href":"/api-reference/company-banking/get-a-specific-cashout-by-id"},{"title":"Get cashout receipt","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/banking/cashouts/{id}/receipt","href":"/api-reference/company-banking/get-cashout-receipt"}]},{"group":"Company Ledger","pages":[{"title":"Get ledger entries","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/ledger-entries","href":"/api-reference/company-ledger/get-ledger-entries"},{"title":"Get a single ledger entry by ID","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/ledger-entries/{ledgerEntryId}","href":"/api-reference/company-ledger/get-a-single-ledger-entry-by-id"}]},{"group":"Company Receivables","pages":[{"title":"List contract effects on your receivables","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/receivables/contract-effects","href":"/api-reference/company-receivables/list-contract-effects-on-your-receivables"}]},{"group":"Company Disputes","pages":[{"title":"Get disputes","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/disputes","href":"/api-reference/company-disputes/get-disputes"},{"title":"Get a single dispute by ID","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/disputes/{id}","href":"/api-reference/company-disputes/get-a-single-dispute-by-id"}]}]},{"group":"User Management","pages":[{"group":"Authentication","pages":[{"title":"User login with password","deprecated":null,"version":null,"openapi":"/api-spec.yaml post /v1/auth/login","href":"/api-reference/authentication/user-login-with-password"},{"title":"Select company context","deprecated":null,"version":null,"openapi":"/api-spec.yaml post /v1/auth/select-company","href":"/api-reference/authentication/select-company-context"},{"title":"Get current user information","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/auth/me","href":"/api-reference/authentication/get-current-user-information"},{"title":"User logout","deprecated":null,"version":null,"openapi":"/api-spec.yaml post /v1/auth/logout","href":"/api-reference/authentication/user-logout"},{"title":"Change current password","deprecated":null,"version":null,"openapi":"/api-spec.yaml post /v1/auth/change-password","href":"/api-reference/authentication/change-current-password"}]},{"group":"Users","pages":[{"title":"List users","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/users","href":"/api-reference/users/list-users"},{"title":"Create a new user","deprecated":null,"version":null,"openapi":"/api-spec.yaml post /v1/users","href":"/api-reference/users/create-a-new-user"},{"title":"Get user by ID","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/users/{userId}","href":"/api-reference/users/get-user-by-id"},{"title":"Update user information","deprecated":null,"version":null,"openapi":"/api-spec.yaml patch /v1/users/{userId}","href":"/api-reference/users/update-user-information"},{"title":"Suspend user","deprecated":null,"version":null,"openapi":"/api-spec.yaml post /v1/users/{userId}/suspend","href":"/api-reference/users/suspend-user"},{"title":"Activate user","deprecated":null,"version":null,"openapi":"/api-spec.yaml post /v1/users/{userId}/activate","href":"/api-reference/users/activate-user"},{"title":"Assign role to user","deprecated":null,"version":null,"openapi":"/api-spec.yaml post /v1/users/{userId}/roles","href":"/api-reference/users/assign-role-to-user"}]},{"group":"Roles \u0026 Permissions","pages":[{"title":"List roles","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/roles","href":"/api-reference/roles/list-roles"},{"title":"Create a new role","deprecated":null,"version":null,"openapi":"/api-spec.yaml post /v1/roles","href":"/api-reference/roles/create-a-new-role"},{"title":"Get role by ID","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/roles/{id}","href":"/api-reference/roles/get-role-by-id"},{"title":"Update role","deprecated":null,"version":null,"openapi":"/api-spec.yaml put /v1/roles/{id}","href":"/api-reference/roles/update-role"},{"title":"Delete role","deprecated":null,"version":null,"openapi":"/api-spec.yaml delete /v1/roles/{id}","href":"/api-reference/roles/delete-role"},{"title":"Get all available permissions","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/permissions","href":"/api-reference/permissions/get-all-available-permissions"}]},{"group":"API Keys","pages":[{"title":"Create an API key","deprecated":null,"version":null,"openapi":"/api-spec.yaml post /v1/api-keys","href":"/api-reference/api-keys/create-an-api-key"},{"title":"List API keys","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/api-keys","href":"/api-reference/api-keys/list-api-keys"},{"title":"Revoke an API key","deprecated":null,"version":null,"openapi":"/api-spec.yaml delete /v1/api-keys/{apiKeyId}","href":"/api-reference/api-keys/revoke-an-api-key"},{"title":"Create an API key for a merchant","deprecated":null,"version":null,"openapi":"/api-spec.yaml post /v1/merchants/{merchantId}/api-keys","href":"/api-reference/api-keys/create-an-api-key-for-a-merchant"},{"title":"List API keys of a merchant","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/merchants/{merchantId}/api-keys","href":"/api-reference/api-keys/list-api-keys-of-a-merchant"},{"title":"Revoke an API key of a merchant","deprecated":null,"version":null,"openapi":"/api-spec.yaml delete /v1/merchants/{merchantId}/api-keys/{apiKeyId}","href":"/api-reference/api-keys/revoke-an-api-key-of-a-merchant"}]}]},{"group":"System","pages":[{"title":"API health status","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /health","href":"/api-reference/system/api-health-status"},{"title":"Get zipcode information","deprecated":null,"version":null,"openapi":"/api-spec.yaml get /v1/zipcodes/{id}","href":"/api-reference/zipcode/get-zipcode-information"}]}]}]},"basePath":"","title":"Rinne API Documentation","buildId":"dpl_596ePT575z4qnAFksq1biRW97aLY","deploymentId":"dpl_596ePT575z4qnAFksq1biRW97aLY","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-C9Wu0MeN.js","utils-jWgu-6Qf.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DBD8f9qn.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-BGuX1ui5.js","snippetPresets-Evy63nQB.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BQHO1lnV.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-B6C8m-t_.js","shallow-BG4cT0fH.js","getApiPlaygroundDisplay-CgEPrE-D.js","CodeSnippet-CU8JyZ9N.js","CodeSnippets-BnxHU32T.js","Page-D6S0Yh6q.js","getPastedJson-CwiYOonh.js","icon-DYDpWmDf.js","MethodPill-C-J-l7_c.js","DuplicateIcon-B6ARwg9w.js","createIcon-Dsv4MtDq.js","DynamicMarkdown-CtasenyM.js","SectionHeading-YNcgYwjB.js","axios-vUo_bRtp.js","Markdown-CwLx6PAg.js","clsx-C3kuh_dz.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CmKHfscc.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-U3mI6Ljh.js"]}