The route for sending payment information via vtexvault.com has been updated. All integrations that have already adopted the route announced in the Mandatory migration to vtexvault.com for "Send Payments" request release note must be updated to use the new route format.
What has changed?
The previous release note introduced the vtexvault.com domain for sending payment information, using the account name as a query parameter:
https://api.vtexvault.com/api/payments/transactions/{transactionId}/payments?an={accountName}
The route has been updated so the account name is now part of the subdomain, as in the example:
https://{accountName}.vtexvault.com/api/payments/transactions/{transactionId}/payments
After September 1, 2026, if you send payment data to any route other than
http://{accountName}.vtexvault.com/api/payments/transactions/{transactionId}/payments, the system will block the request, return a404 - Not Foundstatus code, and interrupt the purchase order flow.
What needs to be done?
Update your payment integration to use the new route format before September 1, 2026:
| Method | From | To |
|---|---|---|
| POST | https://api.vtexvault.com/api/payments/transactions/{transactionId}/payments?an={accountName} | https:/{accountName}.vtexvault.com/api/payments/transactions/{transactionId}/payments |
If you have not yet migrated from the legacy routes (
myvtex.com,vtexcommercestable.com.br,vtexpayments.com.br), migrate directly to the routehttps:/{accountName}.vtexvault.com/api/payments/transactions/{transactionId}/paymentsbefore September 1, 2026. For the full list of deprecated routes, see the original release note.
The endpoint behavior remains the same: a successful request returns an empty body with status code
201 - Created. If your implementation relies on payment details in the response, call the Get payment details endpoint after sending the payment.