Document the 1-25 character merchant descriptor limit - #958
Conversation
|
Preview deployment for your docs. Learn more about Mintlify Previews.
|
|
The latest updates on your projects. Learn more about Vercel for GitHub. 2 Skipped Deployments
|
The card network's acceptor-name field is 25 characters wide, and the sandbox simulate endpoints reject a longer merchant.descriptor. The spec promised no limit, so integrators only discovered it from a 400. Co-Authored-By: aaryamanbhute <aaryamanbhute@users.noreply.github.com>
c2fbca2 to
f9bef0c
Compare
✱ Stainless preview builds for gridThis PR will update the cli go kotlin openapi php python ruby typescript Edit this comment to update them. They will appear in their respective SDK's changelogs. ✅ grid-typescript studio · code · diff
✅ grid-openapi studio · code · diff
✅ grid-ruby studio · code · diff
✅ grid-kotlin studio · code · diff
✅ grid-go studio · code · diff
✅ grid-python studio · code · diff
✅ grid-php studio · code · diff
✅ grid-cli studio · code · diff
This comment is auto-generated by GitHub Actions and is automatically kept up to date as you push. |
|
@greptile review |
|

Summary
merchant.descriptoron the sandbox card-simulate endpoints must be 1–25 characters — the width of the card network's acceptor-name field (ISO 8583 DE43). The spec promised no limit, so integrators only discovered it as a400from a simulate call.What changed
CardMerchant.descriptor— describes the 1–25 character bound, scoped to the sandbox simulate endpoints where the field is supplied rather than reported.SandboxCardAuthorizationRequest— states the limit alongside the suffix table it already documents.POST /sandbox/cards/{id}/simulate/authorization— states the limit and that a longer descriptor is a400 INVALID_INPUT.sandbox-testingandquickstartcard snippets carry the same rule, so the prose doesn't contradict the spec.openapi.yamlandmintlify/openapi.yamlviamake build.CardMerchantis shared between requests and responses, and a descriptor reported back by a provider can exceed 25 characters — so this is a described bound on the simulate request rather than amaxLengthon the shared schema, which would be a promise the read paths don't keep.Testing
make buildthenmake lint-openapi: 2 warnings, 14 explicitly-ignored problems — identical to the pre-change baseline, so no new lint findings.Requested by @AaryamanBhute