<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom"><title>UP Gateways changelog</title>
<link href="https://www.upgateways.com/changelog/feed.xml" rel="self"/><link href="https://www.upgateways.com/changelog/"/>
<id>https://www.upgateways.com/changelog/</id><updated>2026-10-20T00:00:00Z</updated><author><name>Universal Processing</name></author>
<entry><title>UP Gateways Release 2026.10.808</title><link href="https://www.upgateways.com/changelog/2026.10.808.html"/><id>https://www.upgateways.com/changelog/2026.10.808.html</id>
<updated>2026-10-20T00:00:00Z</updated><summary>8 areas updated, 11 breaking changes</summary>
<content type="html">&lt;div class=&quot;rn-breaking-box&quot;&gt;&lt;div class=&quot;rn-bc-head&quot;&gt;&lt;span class=&quot;rn-flag&quot;&gt;⚠ Breaking changes&lt;/span&gt;&lt;b&gt;11 changes may need action on your side&lt;/b&gt;&lt;/div&gt;&lt;ol&gt;&lt;li&gt;&lt;a href=&quot;#bc-authcapture-ids-and-follow-up-errors-have-changed&quot;&gt;AuthCapture IDs and follow-up errors have changed&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#bc-batch-file-access-now-needs-specific-permissions&quot;&gt;Batch file access now needs specific permissions&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#bc-merchant-contact-details-now-reject-invalid-email-and-phone-&quot;&gt;Merchant contact details now reject invalid email and phone formats&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#bc-user-lists-now-show-only-your-own-scope&quot;&gt;User lists now show only your own scope&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#bc-user-lookup-and-changes-now-respect-account-scope&quot;&gt;User lookup and changes now respect account scope&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#bc-merchant-credentials-can-no-longer-read-other-merchants-name&quot;&gt;Merchant credentials can no longer read other merchants&#x27; names&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#bc-user-creation-and-updates-now-enforce-role-and-reseller-chec&quot;&gt;User creation and updates now enforce role and reseller checks&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#bc-wallet-registration-reads-are-now-access-limited&quot;&gt;Wallet registration reads are now access-limited&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#bc-settlement-run-state-now-requires-merchantid-and-runid&quot;&gt;Settlement run-state now requires MerchantId and RunId&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#bc-wallets-no-longer-collect-shipping-addresses-in-locked-sessi&quot;&gt;Wallets no longer collect shipping addresses in locked sessions&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#bc-api-reference-now-shows-the-correct-response-content-types&quot;&gt;API reference now shows the correct response content types&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;
&lt;nav class=&quot;rn-toc&quot;&gt;&lt;b&gt;In this release&lt;/b&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;#hosted-payment-page&quot;&gt;Hosted payment page&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#virtual-terminal&quot;&gt;Virtual Terminal&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#fraud-controls-and-security&quot;&gt;Fraud controls and security&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#transaction-operations-and-settlement&quot;&gt;Transaction operations and settlement&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#back-office-reporting-and-workflows&quot;&gt;Back-office reporting and workflows&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#admin-ui-and-dashboards&quot;&gt;Admin UI and dashboards&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#developer-portal-and-api-reference&quot;&gt;Developer portal and API reference&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#access-controls-and-data-handling&quot;&gt;Access controls and data handling&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#breaking-changes&quot; class=&quot;rn-bc-link&quot;&gt;Breaking changes&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/nav&gt;
&lt;h2&gt;New in this release&lt;/h2&gt;
&lt;section class=&quot;rn-sub&quot; id=&quot;hosted-payment-page&quot;&gt;&lt;h3&gt;Hosted payment page&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;The Hosted Payment Page now supports shopper-selected carrier shipping rates, and wallet-based shipping flows are more accurate when shipping is locked or already chosen.&lt;/li&gt;&lt;li&gt;Hosted payment sessions now carry enhanced invoice and Level 3 data more consistently, including through cloned payment links, helping merchants send richer order details with payments.&lt;/li&gt;&lt;li&gt;The Hosted Payment Page has several usability and security fixes, including better wallet button sizing, correct 3-D Secure challenge behavior, safer host/origin handling, and tighter access checks when reading hosted payment sessions.&lt;/li&gt;&lt;/ul&gt;&lt;/section&gt;
&lt;section class=&quot;rn-sub&quot; id=&quot;virtual-terminal&quot;&gt;&lt;h3&gt;Virtual Terminal&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;The Virtual Terminal now supports more transaction details, including register selection, duplicate-check waiver, soft descriptor, notes, and tags.&lt;/li&gt;&lt;li&gt;Virtual Terminal workflows are faster for assisted payments, with split tenders planned up front, quick-fill from recent transactions, and support for charging a vaulted card using its CVV alias.&lt;/li&gt;&lt;li&gt;The Virtual Terminal experience has been polished with clearer inline errors, better keyboard and tablet support, accessibility improvements, BIN badges, and more reliable focus behavior.&lt;/li&gt;&lt;/ul&gt;&lt;/section&gt;
&lt;section class=&quot;rn-sub&quot; id=&quot;fraud-controls-and-security&quot;&gt;&lt;h3&gt;Fraud controls and security&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;Transaction screening now supports more rule types, including per-card, per-device, IP, email, decline-rate, country, and time-of-day checks, with local holds and better handling of retry and repeat declines.&lt;/li&gt;&lt;li&gt;Merchants can now test proposed screening rules against recent transactions before saving them, and settings errors are clearer when a rule prevents a save.&lt;/li&gt;&lt;li&gt;The platform adds stronger protection for sensitive data and suspicious activity, including card-testing attack detection with merchant alerts, encrypted handling for uploaded batch card data, and clearing sensitive card authentication data from outbound responses.&lt;/li&gt;&lt;/ul&gt;&lt;/section&gt;
&lt;section class=&quot;rn-sub&quot; id=&quot;transaction-operations-and-settlement&quot;&gt;&lt;h3&gt;Transaction operations and settlement&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;Transaction Explorer now gives a fuller view of settlement and approval activity, including partial approvals, all settlement statuses in filters, and a settlement remediation queue for retrying affected batches.&lt;/li&gt;&lt;li&gt;Split-tender and ACH follow-up handling is more complete, including recording ACH returns that leave a completed split-tender group short.&lt;/li&gt;&lt;li&gt;The v1 API facade now handles AuthCapture and follow-up transactions more cleanly, returning clearer validation errors instead of retry-style failures when a void, reversal, refund, or capture is not allowed.&lt;/li&gt;&lt;/ul&gt;&lt;/section&gt;
&lt;section class=&quot;rn-sub&quot; id=&quot;back-office-reporting-and-workflows&quot;&gt;&lt;h3&gt;Back-office reporting and workflows&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;Contract management now supports bulk operations, CSV import, and change history, making large contract updates easier to manage.&lt;/li&gt;&lt;li&gt;Report exports now download over standard HTTP instead of relying on a live admin session, improving reliability for larger exports.&lt;/li&gt;&lt;li&gt;Batch file and contract workflows received reliability improvements, including clearer batch failure reasons, a working contract import file picker, and support for an optional example row during import.&lt;/li&gt;&lt;/ul&gt;&lt;/section&gt;
&lt;section class=&quot;rn-sub&quot; id=&quot;admin-ui-and-dashboards&quot;&gt;&lt;h3&gt;Admin UI and dashboards&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;Grids across the admin UI now have a more capable filtering experience, with an All filters drawer, collapsible filter cards, better range controls, clearer validation, and improved handling of saved or refused filters.&lt;/li&gt;&lt;li&gt;Transaction and dashboard views now include optional stat panels and threshold indicators, helping users spot trends and breaches more quickly.&lt;/li&gt;&lt;li&gt;The admin experience also includes a range of usability fixes, including clearer settings save messages, better dark-mode behavior, improved responsive grids, more readable technical error details, and IP geolocation shown where IP addresses appear.&lt;/li&gt;&lt;/ul&gt;&lt;/section&gt;
&lt;section class=&quot;rn-sub&quot; id=&quot;developer-portal-and-api-reference&quot;&gt;&lt;h3&gt;Developer portal and API reference&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;The API reference now shows richer operation details, including accurate response media types, examples, enum members, nested fields, model pages, required scopes, and published request examples on operation pages.&lt;/li&gt;&lt;li&gt;The Try-It and playground tools are more useful for sandbox testing, with selectable outcomes, operation-aware outcome choices, a hosted page playground, and an embed SDK playground in the developer portal.&lt;/li&gt;&lt;li&gt;Request logging and webhook troubleshooting are easier, with better request-log filtering, the ability to open a request in the console and copy it as code, a webhook event page, and event-based filtering in delivery history.&lt;/li&gt;&lt;/ul&gt;&lt;/section&gt;
&lt;section class=&quot;rn-sub&quot; id=&quot;access-controls-and-data-handling&quot;&gt;&lt;h3&gt;Access controls and data handling&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;Several merchant, user, wallet, and hosted-session reads are now more tightly scoped so users only see records they are allowed to access.&lt;/li&gt;&lt;li&gt;Sensitive configuration values are better protected in admin responses, including hidden login client secrets and hidden encrypted DNS provider credentials.&lt;/li&gt;&lt;li&gt;Contact and company details now validate more consistently, including merchant contact email, phone, and fax fields, plus normalized company website URLs across merchants, customers, and resellers.&lt;/li&gt;&lt;/ul&gt;&lt;/section&gt;
&lt;h2 id=&quot;breaking-changes&quot; class=&quot;rn-bc-title&quot;&gt;&lt;span class=&quot;rn-flag&quot;&gt;⚠&lt;/span&gt; Breaking changes&lt;/h2&gt;&lt;p&gt;The changes below may need action on your side.&lt;/p&gt;
&lt;article class=&quot;rn-bc&quot; id=&quot;bc-authcapture-ids-and-follow-up-errors-have-changed&quot;&gt;&lt;h3&gt;&lt;span class=&quot;rn-flag&quot;&gt;Breaking&lt;/span&gt; AuthCapture IDs and follow-up errors have changed&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;What changed:&lt;/strong&gt; &lt;code&gt;AuthCapture&lt;/code&gt; now returns the original authorization&#x27;s &lt;code&gt;TransactionId&lt;/code&gt;, and its &lt;code&gt;TransactionType&lt;/code&gt; is &lt;code&gt;AuthCapture&lt;/code&gt;. An &lt;code&gt;AuthCapture&lt;/code&gt; with a &lt;code&gt;TotalAmount&lt;/code&gt; different from the authorized amount is now refused with HTTP 400 and RC 1007, with nothing captured; a &lt;code&gt;Void&lt;/code&gt;, &lt;code&gt;Reversal&lt;/code&gt;, or linked &lt;code&gt;Refund&lt;/code&gt; that the original transaction no longer allows now returns HTTP 400 and RC 1005 instead of HTTP 500 and RC 1000.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Who is affected:&lt;/strong&gt; This affects anyone who uses &lt;code&gt;AuthCapture&lt;/code&gt; or sends &lt;code&gt;Void&lt;/code&gt;, &lt;code&gt;Reversal&lt;/code&gt;, or linked &lt;code&gt;Refund&lt;/code&gt; requests against earlier transactions. It is especially relevant if your integration stores transaction IDs, checks transaction types, matches on response codes, or retries failed follow-up requests.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What you need to do:&lt;/strong&gt; Read the &lt;code&gt;AuthCapture&lt;/code&gt; ID as the captured authorization&#x27;s &lt;code&gt;TransactionId&lt;/code&gt;, and send the authorized amount as &lt;code&gt;TotalAmount&lt;/code&gt;. Update your error handling to treat RC 1005 as final and do not retry it; handle RC 1007 for &lt;code&gt;AuthCapture&lt;/code&gt; amount mismatches.&lt;/p&gt;&lt;/article&gt;
&lt;article class=&quot;rn-bc&quot; id=&quot;bc-batch-file-access-now-needs-specific-permissions&quot;&gt;&lt;h3&gt;&lt;span class=&quot;rn-flag&quot;&gt;Breaking&lt;/span&gt; Batch file access now needs specific permissions&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;What changed:&lt;/strong&gt; Batch file endpoints now require &lt;code&gt;Transactions.BatchFiles&lt;/code&gt; permissions for viewing, uploading, processing, downloading, and deleting. Batch file responses and results exports now mask card numbers to the last four digits, &lt;code&gt;Transactions[].RawData&lt;/code&gt; is always &lt;code&gt;null&lt;/code&gt;, and &lt;code&gt;GET /api/transactions/batch-file/{id}/download&lt;/code&gt; now returns stored CSV lines (&lt;code&gt;TransactionType,Amount,CardNumber,CustomerName&lt;/code&gt;) instead of the original uploaded file.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Who is affected:&lt;/strong&gt; This affects anyone using batch file routes, especially users, API keys, or custom roles that do not already have the required batch file permissions. It also affects integrations that read full card numbers, use &lt;code&gt;Transactions[].RawData&lt;/code&gt;, download the original uploaded file, or upload for merchants outside the caller&#x27;s scope.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What you need to do:&lt;/strong&gt; Grant the needed &lt;code&gt;Transactions.BatchFiles&lt;/code&gt; permissions if you use custom roles, per-user grants, or API keys tied to custom roles. If your integration processes batch file data, update it to use masked card numbers, read the row fields, match rows by line number, keep your own copy of files you may need to resubmit, and upload under a principal scoped to the target merchant.&lt;/p&gt;&lt;/article&gt;
&lt;article class=&quot;rn-bc&quot; id=&quot;bc-merchant-contact-details-now-reject-invalid-email-and-phone-&quot;&gt;&lt;h3&gt;&lt;span class=&quot;rn-flag&quot;&gt;Breaking&lt;/span&gt; Merchant contact details now reject invalid email and phone formats&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;What changed:&lt;/strong&gt; Merchant create and update now return HTTP 400 if contact email, phone, or fax is malformed. This applies in the native API, the portal, and the v1 API facade; blank values are still accepted.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Who is affected:&lt;/strong&gt; Anyone who creates or updates merchants through the API or portal is affected. Existing merchants with invalid stored contact email, phone, or fax cannot be saved again until those values are corrected or cleared.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What you need to do:&lt;/strong&gt; Send a valid email address, phone number, or fax number, or leave the field blank. Correct or clear any existing invalid merchant contact email, phone, or fax before saving those merchants again.&lt;/p&gt;&lt;/article&gt;
&lt;article class=&quot;rn-bc&quot; id=&quot;bc-user-lists-now-show-only-your-own-scope&quot;&gt;&lt;h3&gt;&lt;span class=&quot;rn-flag&quot;&gt;Breaking&lt;/span&gt; User lists now show only your own scope&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;What changed:&lt;/strong&gt; When merchant and reseller users list users through &lt;code&gt;GET /api/identity/users&lt;/code&gt;, or export the user list to Excel or CSV, they now receive only users within their own scope. The list &lt;code&gt;totalCount&lt;/code&gt; and the users grid&#x27;s approximate count now reflect that same scoped set.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Who is affected:&lt;/strong&gt; Merchant users and reseller users are affected. Administrator results are unchanged.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What you need to do:&lt;/strong&gt; If your integration used a merchant or reseller credential to list users outside that scope, use an administrator credential instead.&lt;/p&gt;&lt;/article&gt;
&lt;article class=&quot;rn-bc&quot; id=&quot;bc-user-lookup-and-changes-now-respect-account-scope&quot;&gt;&lt;h3&gt;&lt;span class=&quot;rn-flag&quot;&gt;Breaking&lt;/span&gt; User lookup and changes now respect account scope&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;What changed:&lt;/strong&gt; Identity user routes that target a user by ID, username, or email now only work for users within the caller&#x27;s own merchant or reseller scope. If a merchant- or reseller-scoped user or API key targets a user outside that scope, the API now returns &lt;code&gt;404 Not Found&lt;/code&gt; for reads and leaves writes unchanged; &lt;code&gt;GET /api/identity/users/{id}/access&lt;/code&gt; returns &lt;code&gt;false&lt;/code&gt;, and &lt;code&gt;POST /api/identity/users/{id}/restore&lt;/code&gt; returns &lt;code&gt;false&lt;/code&gt; and restores nothing.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Who is affected:&lt;/strong&gt; Merchants, resellers, and integrators using these identity user routes with merchant- or reseller-scoped credentials are affected if they read or change users outside their own scope. Callers whose roles have no ladder rung are also affected, because all of these routes are now refused for them.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What you need to do:&lt;/strong&gt; If your integration works across merchants or resellers, use an administrator-scoped credential. If your roles have no ladder rung, give the role a role type or use an administrator credential.&lt;/p&gt;&lt;/article&gt;
&lt;article class=&quot;rn-bc&quot; id=&quot;bc-merchant-credentials-can-no-longer-read-other-merchants-name&quot;&gt;&lt;h3&gt;&lt;span class=&quot;rn-flag&quot;&gt;Breaking&lt;/span&gt; Merchant credentials can no longer read other merchants&#x27; names&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;What changed:&lt;/strong&gt; &lt;code&gt;GET /api/merchants/{id}/name&lt;/code&gt; now returns an empty string when a merchant credential requests the name of a merchant it is not assigned to. The route, status code, and response format are unchanged.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Who is affected:&lt;/strong&gt; This affects merchant credentials, including merchant users, MERCHANT (REPORT ONLY) users, and merchant API keys. Admin and reseller credentials are not affected.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What you need to do:&lt;/strong&gt; If your integration uses a merchant credential, treat an empty name as &quot;not found or not visible to this credential&quot;. If you need names for merchants that credential is not assigned to, use a reseller or administrator credential.&lt;/p&gt;&lt;/article&gt;
&lt;article class=&quot;rn-bc&quot; id=&quot;bc-user-creation-and-updates-now-enforce-role-and-reseller-chec&quot;&gt;&lt;h3&gt;&lt;span class=&quot;rn-flag&quot;&gt;Breaking&lt;/span&gt; User creation and updates now enforce role and reseller checks&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;What changed:&lt;/strong&gt; User create and update requests now reject invalid role, merchant, and reseller combinations before any user is written. Requests can now return 403 for unauthorized user type or merchant access, and 400 for an unknown &lt;code&gt;resellerId&lt;/code&gt;, unknown &lt;code&gt;RoleNames&lt;/code&gt;, or unknown &lt;code&gt;OrganizationUnitIds&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Who is affected:&lt;/strong&gt; Merchant users, API keys owned by merchant users, and callers using custom roles are affected when creating or updating users. This also affects callers who manage roles or organization units and send unknown values.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What you need to do:&lt;/strong&gt; If you create reseller or administrator users, use reseller or administrator credentials. Update your integration to handle 403 and 400 responses for these cases, including &lt;code&gt;ResellerId&lt;/code&gt;, &lt;code&gt;RoleNames&lt;/code&gt;, and &lt;code&gt;OrganizationUnitIds&lt;/code&gt;.&lt;/p&gt;&lt;/article&gt;
&lt;article class=&quot;rn-bc&quot; id=&quot;bc-wallet-registration-reads-are-now-access-limited&quot;&gt;&lt;h3&gt;&lt;span class=&quot;rn-flag&quot;&gt;Breaking&lt;/span&gt; Wallet registration reads are now access-limited&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;What changed:&lt;/strong&gt; For reseller and merchant users, and their API keys, wallet provider registration read endpoints now follow the same access rules as write endpoints. They now return only merchant-level registrations the caller is authorized to access; platform-level and other merchants&#x27; registrations are no longer available through the existing read routes, and some requests now return &lt;code&gt;403&lt;/code&gt; or an empty string.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Who is affected:&lt;/strong&gt; This affects non-administrator integrations that read platform-level wallet registrations or registrations belonging to other merchants. Administrators are not affected.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What you need to do:&lt;/strong&gt; If your non-administrator integration needs to choose a platform registration to bind a merchant to, use &lt;code&gt;GET /api/payment-tokenization/wallet-providers/platform/{providerType}/options&lt;/code&gt;. Also update your integration to handle the new behavior on existing read routes, including &lt;code&gt;403&lt;/code&gt; responses and empty-string name responses.&lt;/p&gt;&lt;/article&gt;
&lt;article class=&quot;rn-bc&quot; id=&quot;bc-settlement-run-state-now-requires-merchantid-and-runid&quot;&gt;&lt;h3&gt;&lt;span class=&quot;rn-flag&quot;&gt;Breaking&lt;/span&gt; Settlement run-state now requires MerchantId and RunId&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;What changed:&lt;/strong&gt; The &lt;code&gt;GET /api/transactions/settlements/run-state&lt;/code&gt; endpoint now requires both &lt;code&gt;MerchantId&lt;/code&gt; and &lt;code&gt;RunId&lt;/code&gt; query parameters. If either is missing, the endpoint returns &lt;code&gt;400&lt;/code&gt; with a validation error that names the missing parameter.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Who is affected:&lt;/strong&gt; This affects anyone calling the settlement run-state endpoint directly or through regenerated client libraries. It applies when your integration checks the status of a settlement run.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What you need to do:&lt;/strong&gt; Always send both the merchant ID and the &lt;code&gt;runId&lt;/code&gt; returned by the settlement trigger when calling &lt;code&gt;GET /api/transactions/settlements/run-state&lt;/code&gt;.&lt;/p&gt;&lt;/article&gt;
&lt;article class=&quot;rn-bc&quot; id=&quot;bc-wallets-no-longer-collect-shipping-addresses-in-locked-sessi&quot;&gt;&lt;h3&gt;&lt;span class=&quot;rn-flag&quot;&gt;Breaking&lt;/span&gt; Wallets no longer collect shipping addresses in locked sessions&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;What changed:&lt;/strong&gt; In hosted-payment sessions with a locked shipping amount, Apple Pay, Google Pay, and Paze no longer ask the customer for a delivery address. The order uses the shipping address already on the page or one you prefilled, and the wallet&#x27;s address screens no longer appear.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Who is affected:&lt;/strong&gt; This affects merchants and integrators using hosted-payment sessions with a locked shipping amount and offering Apple Pay, Google Pay, or Paze. It also affects pages that require a shipping address before the wallet button opens.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What you need to do:&lt;/strong&gt; If you want the wallet to supply the shipping address, do not lock the shipping amount on the session. If your page requires a shipping address, make sure the customer enters it on the page before opening the wallet, or prefill it.&lt;/p&gt;&lt;/article&gt;
&lt;article class=&quot;rn-bc&quot; id=&quot;bc-api-reference-now-shows-the-correct-response-content-types&quot;&gt;&lt;h3&gt;&lt;span class=&quot;rn-flag&quot;&gt;Breaking&lt;/span&gt; API reference now shows the correct response content types&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;What changed:&lt;/strong&gt; The published API reference now lists &lt;code&gt;application/json&lt;/code&gt; for JSON responses, instead of &lt;code&gt;text/plain&lt;/code&gt; or &lt;code&gt;text/json&lt;/code&gt;. For file downloads, it now lists the actual file type, such as &lt;code&gt;text/csv&lt;/code&gt;, the XLSX type, &lt;code&gt;application/pdf&lt;/code&gt;, &lt;code&gt;image/jpeg&lt;/code&gt;, or the CycloneDX type.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Who is affected:&lt;/strong&gt; This affects anyone who generates a client from the API reference or manually sets the &lt;code&gt;Accept&lt;/code&gt; header. Existing runtime behavior is unchanged, including status codes, headers, body content, and support for &lt;code&gt;text/json&lt;/code&gt; negotiation.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What you need to do:&lt;/strong&gt; If you generated a client from an earlier API document and it treats a JSON response as &lt;code&gt;text/plain&lt;/code&gt;, regenerate it from &lt;code&gt;/openapi/v1.json&lt;/code&gt;. If your client sets &lt;code&gt;Accept&lt;/code&gt; itself, send &lt;code&gt;application/json&lt;/code&gt; for JSON responses, or the file&#x27;s actual type for a download.&lt;/p&gt;&lt;/article&gt;</content></entry></feed>
