Firma HMAC-SHA256 y headers obligatorios para cada petición.
Vita Wallet usa HMAC-SHA256 para autenticar cada petición. La firma garantiza que el mensaje proviene del emisor correcto y que su contenido no fue alterado en tránsito.
En la sección Integraciones de tu cuenta Vita Wallet encontrarás un botón para solicitar las credenciales de acceso. Se enviarán por email con instrucciones.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Vita Wallet Business API","description":"Vita Wallet Business API: cobra payins locales, envía payouts a bancos en LatAm y el mundo, convierte entre fiat y cripto, y recibe webhooks en tiempo real.","colors":{"primary":"#5B5FEF","light":"#8B8EFF","dark":"#3C40C6"},"logo":{"light":"https://mintcdn.com/vitawallet-c171bb38/vMumz4ZiVie8rd9w/logo/light.svg?fit=max\u0026auto=format\u0026n=vMumz4ZiVie8rd9w\u0026q=85\u0026s=5751d0e2481554fef6d0a02e8a4d1d57","dark":"https://mintcdn.com/vitawallet-c171bb38/vMumz4ZiVie8rd9w/logo/dark.svg?fit=max\u0026auto=format\u0026n=vMumz4ZiVie8rd9w\u0026q=85\u0026s=4d680be2fb91b6cd7597c77ab2f928dc"},"favicon":"https://mintcdn.com/vitawallet-c171bb38/laOtlSB7RJQcReqL/favicon.svg?fit=max\u0026auto=format\u0026n=laOtlSB7RJQcReqL\u0026q=85\u0026s=669e1d6dee42c6274fbbab876cf567c9","navbar":{"primary":{"type":"button","label":"Contactar ventas","href":"mailto:empresas@vitawallet.io"}},"footer":{"socials":{"website":"https://vitawallet.io"}},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Vita Wallet","icon":"globe","href":"https://vitawallet.io"},{"anchor":"Soporte","icon":"envelope","href":"mailto:empresas@vitawallet.io"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"vitawallet-c171bb38","hasAudioNarration":false,"actualSubdomain":"vitawallet-c171bb38","customDomains":["docs.vitawallet.io"],"gitSource":{"type":"gitlab","owner":"vita-wallet-grupo1","repo":"vita-doc","deployBranch":"main","contentDirectory":"","isPrivate":true,"projectId":87361119,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ad79304c0a35ea1942ebcd8","collectionId":"1b6db036-f8f8-49b4-ae0b-418fc131ae5b","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ad79304c0a35ea1942ebcd8"},"feedback":{"thumbs":false,"agentFeedback":true},"entitlements":{},"buildId":"6ad79304c0a35ea1942ebcd8","clientVersion":"0.0.4067","searchFilterCounts":[{"language":"default","tag":"API Reference","count":41},{"language":"default","tag":"Guía","count":22},{"language":"default","tag":"Soporte y herramientas","count":14},{"language":"default","tag":"Payouts","count":12},{"language":"default","tag":"Casos de uso","count":12},{"language":"default","tag":"Payins","count":9},{"language":"default","tag":"Users","count":9},{"language":"default","tag":"Direct Payment","count":7},{"language":"default","tag":"Bank Payouts","count":6},{"language":"default","tag":"Transactions","count":4}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","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":"vite-origin","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":"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}],"privacy":{"consentBanner":{"enabled":true}},"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"authentication","slug":"/authentication","pageMetadata":{"title":"Autenticación","description":"Firma HMAC-SHA256 y headers obligatorios para cada petición.","href":"/authentication"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Firma HMAC-SHA256 y headers obligatorios para cada petició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,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={code:`code`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,..._provideComponents(),...props.components},{CodeBlock,CodeGroup,Heading,Note,Table,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!CodeGroup)_missingMdxReference(`CodeGroup`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Vita Wallet usa `,_jsx(_components.strong,{children:`HMAC-SHA256`}),` para autenticar cada petición. La firma garantiza que el mensaje proviene del emisor correcto y que su contenido no fue alterado en tránsito.`]}),`\n`,_jsx(Heading,{level:`2`,id:`headers-obligatorios`,children:`Headers obligatorios`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Header`}),_jsx(_components.th,{children:`Tipo`}),_jsx(_components.th,{children:`Descripción`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`x-date`})}),_jsx(_components.td,{children:`String`}),_jsxs(_components.td,{children:[`Datetime ISO8601 con timezone (ej. `,_jsx(_components.code,{children:`2018-07-12T13:46:28.629Z`}),`)`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`x-login`})}),_jsx(_components.td,{children:`String`}),_jsx(_components.td,{children:`xLogin del business`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`x-trans-key`})}),_jsx(_components.td,{children:`String`}),_jsx(_components.td,{children:`xTransKey del business`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`Content-Type`})}),_jsx(_components.td,{children:`String`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`application/json`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`Authorization`})}),_jsx(_components.td,{children:`String`}),_jsxs(_components.td,{children:[`Formato: `,_jsx(_components.code,{children:`V2-HMAC-SHA256, Signature: \u003chash>`})]})]})]})]}),`\n`,_jsxs(Heading,{level:`3`,id:`ejemplo-de-header-authorization`,children:[`Ejemplo de header `,_jsx(_components.code,{children:`Authorization`})]}),`\n`,_jsx(CodeBlock,{numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Authorization: V2-HMAC-SHA256, Signature: 80ebe700c5db952bd4c60ae53fe1971ec6e4fe84dc0922b67eca6b3e18707260`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsx(Heading,{level:`2`,id:`cómo-generar-la-firma`,children:`Cómo generar la firma`}),`\n`,_jsx(_components.p,{children:`El hash se calcula uniendo:`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`x-login`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`x-date`})}),`\n`,_jsx(_components.li,{children:`El body de la petición ordenado alfabéticamente y concatenado sin separadores (ver detalle abajo).`}),`\n`]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`Si el body es `,_jsx(_components.code,{children:`null`}),`, la firma se calcula `,_jsx(_components.strong,{children:`sin`}),` el body.`]})}),`\n`,_jsx(Heading,{level:`3`,id:`formato-del-body-ordenado`,children:`Formato del body ordenado`}),`\n`,_jsx(_components.p,{children:`Para un body como:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{ `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"order\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"xyz\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"amount\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`400`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"statuses\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"deposit\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"payment\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`] }`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`El `,_jsx(_components.code,{children:`sorted_request_body`}),` resultante es:`]}),`\n`,_jsx(CodeBlock,{numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`amount400orderxyzstatusesdeposit,payment`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`Cuando un valor es un array, los elementos se separan con `,_jsx(_components.code,{children:`,`}),` (coma). Las claves se ordenan alfabéticamente y se concatenan sin separadores.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`implementaciones-por-lenguaje`,children:`Implementaciones por lenguaje`}),`\n`,_jsxs(CodeGroup,{children:[_jsx(CodeBlock,{filename:`Python`,numberOfLines:`7`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`7`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` hmac, hashlib`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`signature `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` hmac.new(`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` secret_key.encode(),`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (x_login `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`+`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` x_date `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`+`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` sorted_request_body).encode(),`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` hashlib.sha256`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`).hexdigest()`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`Ruby`,numberOfLines:`7`,language:`ruby`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`ruby`,children:_jsxs(_components.code,{language:`ruby`,numberOfLines:`7`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`require`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'openssl'`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`signature`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:` OpenSSL`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#4EC9B0`},children:`::`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:`HMAC`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`hexdigest`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'sha256'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` secret_key,`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`#{`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#D4D4D4`},children:`x_login`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`}#{`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#D4D4D4`},children:`x_date`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`}#{`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#D4D4D4`},children:`sorted_request_body`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`}`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`PHP`,numberOfLines:`5`,language:`php`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`php`,children:_jsxs(_components.code,{language:`php`,numberOfLines:`5`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$signature`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` hash_hmac`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"sha256\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$xLogin$xDate$sortedRequestBody`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` $secretKey`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`Node.js`,numberOfLines:`6`,language:`javascript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`javascript`,children:_jsxs(_components.code,{language:`javascript`,numberOfLines:`6`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` crypto`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` require`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'crypto'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` signature`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` crypto`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` .`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`createHmac`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'sha256'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`secretKey`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` .`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`update`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:\"`\"}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#569CD6`},children:\"${\"}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`xLogin`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#569CD6`},children:\"}${\"}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`xDate`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#569CD6`},children:\"}${\"}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`sortedRequestBody`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#569CD6`},children:`}`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:\"`\"}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` .`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`digest`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'hex'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`]})})})]}),`\n`,_jsx(Heading,{level:`2`,id:`cómo-obtener-credenciales`,children:`Cómo obtener credenciales`}),`\n`,_jsxs(_components.p,{children:[`En la sección `,_jsx(_components.strong,{children:`Integraciones`}),` de tu cuenta Vita Wallet encontrarás un botón para solicitar las credenciales de acceso. Se enviarán por email con instrucciones.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Autenticación","description":"Firma HMAC-SHA256 y headers obligatorios para cada petición.","href":"/authentication"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Headers obligatorios","slug":"headers-obligatorios","depth":2,"children":[{"title":"Ejemplo de header Authorization","slug":"ejemplo-de-header-authorization","depth":3,"children":[]}]},{"title":"Cómo generar la firma","slug":"cómo-generar-la-firma","depth":2,"children":[{"title":"Formato del body ordenado","slug":"formato-del-body-ordenado","depth":3,"children":[]}]},{"title":"Implementaciones por lenguaje","slug":"implementaciones-por-lenguaje","depth":2,"children":[]},{"title":"Cómo obtener credenciales","slug":"cómo-obtener-credenciales","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/vitawallet-c171bb38/e9ac59879e295a0b/scripts/add-operation-ids.js","/_mintlify/custom/vitawallet-c171bb38/aa5fcf2697e6519e/scripts/add-security.js","/_mintlify/custom/vitawallet-c171bb38/2663cb80d9d7f0f4/scripts/normalize-openapi.js","/_mintlify/custom/vitawallet-c171bb38/6c52b1403bd8f246/scripts/normalize-descriptions.js"],"subdomain":"vitawallet-c171bb38","siteName":"Vita Wallet Business API","title":"Autenticación - Vita Wallet Business API","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-13T03:24:25.830Z","originalFileLocation":"authentication.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=\"Firma HMAC-SHA256 y headers obligatorios para cada petición.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Vita Wallet Business 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/vitawallet-c171bb38/hV9fKA37FYr7hHE5/_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/vitawallet-c171bb38/hV9fKA37FYr7hHE5/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/vitawallet-c171bb38/hV9fKA37FYr7hHE5/_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/vitawallet-c171bb38/hV9fKA37FYr7hHE5/_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/vitawallet-c171bb38/hV9fKA37FYr7hHE5/_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/vitawallet-c171bb38/hV9fKA37FYr7hHE5/_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/vitawallet-c171bb38/hV9fKA37FYr7hHE5/_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/vitawallet-c171bb38/hV9fKA37FYr7hHE5/_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/vitawallet-c171bb38/hV9fKA37FYr7hHE5/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Autenticación - Vita Wallet Business API\">\u003cmeta data-mint-head property=\"og:description\" content=\"Firma HMAC-SHA256 y headers obligatorios para cada petición.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Vita Wallet Business API\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.vitawallet.io/authentication\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://vitawallet-c171bb38.mintlify.app/_mintlify/api/og/v2?division=Seguridad\u0026amp;title=Autenticaci%C3%B3n\u0026amp;description=Firma+HMAC-SHA256+y+headers+obligatorios+para+cada+petici%C3%B3n.\u0026amp;theme=6d3d51793461ea21ad06f782\u0026amp;signature=6219ba6a77b745b0c417f215f5e887489f0dc41a688edaa55c91027adf24946e\">\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=\"Autenticación - Vita Wallet Business API\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Firma HMAC-SHA256 y headers obligatorios para cada petición.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://vitawallet-c171bb38.mintlify.app/_mintlify/api/og/v2?division=Seguridad\u0026amp;title=Autenticaci%C3%B3n\u0026amp;description=Firma+HMAC-SHA256+y+headers+obligatorios+para+cada+petici%C3%B3n.\u0026amp;theme=6d3d51793461ea21ad06f782\u0026amp;signature=6219ba6a77b745b0c417f215f5e887489f0dc41a688edaa55c91027adf24946e\">\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/vitawallet-c171bb38/hV9fKA37FYr7hHE5/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Vita Wallet Business API\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#5B5FEF\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.vitawallet.io/authentication\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/authentication.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.vitawallet.io/#organization\",\"name\":\"Vita Wallet Business API\",\"url\":\"https://docs.vitawallet.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/vitawallet-c171bb38/vMumz4ZiVie8rd9w/logo/light.svg?fit=max\u0026auto=format\u0026n=vMumz4ZiVie8rd9w\u0026q=85\u0026s=5751d0e2481554fef6d0a02e8a4d1d57\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.vitawallet.io#website\",\"name\":\"Vita Wallet Business API\",\"url\":\"https://docs.vitawallet.io\",\"publisher\":{\"@id\":\"https://docs.vitawallet.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.vitawallet.io/authentication#webpage\",\"url\":\"https://docs.vitawallet.io/authentication\",\"name\":\"Autenticación\",\"description\":\"Firma HMAC-SHA256 y headers obligatorios para cada petición.\",\"dateModified\":\"2026-10-13T03:24:25.830Z\",\"isPartOf\":{\"@id\":\"https://docs.vitawallet.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.vitawallet.io/authentication#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.vitawallet.io/authentication#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Vita Wallet Business API\",\"item\":\"https://docs.vitawallet.io\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Autenticación\",\"item\":\"https://docs.vitawallet.io/authentication\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.vitawallet.io/authentication#article\",\"headline\":\"Autenticación\",\"name\":\"Autenticación\",\"description\":\"Firma HMAC-SHA256 y headers obligatorios para cada petición.\",\"url\":\"https://docs.vitawallet.io/authentication\",\"mainEntityOfPage\":{\"@id\":\"https://docs.vitawallet.io/authentication#webpage\"},\"dateModified\":\"2026-10-13T03:24:25.830Z\",\"publisher\":{\"@id\":\"https://docs.vitawallet.io/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.vitawallet.io#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Vita Wallet Business API\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Vita Wallet Business API","nav":{"global":{"anchors":[{"anchor":"Vita Wallet","icon":"globe","href":"https://vitawallet.io"},{"anchor":"Soporte","icon":"envelope","href":"mailto:empresas@vitawallet.io"}]},"tabs":[{"tab":"Guía","groups":[{"group":"Introducción","pages":[{"title":"Introducción","href":"/introduction"},{"title":"Primeros pasos","href":"/getting-started"},{"title":"Ambientes","href":"/environments"}]},{"group":"Modelo e integración","pages":[{"title":"Modelo de balances","icon":"wallet","href":"/money-model"},{"title":"Sandbox y pruebas","icon":"flask","href":"/sandbox-testing"},{"title":"Idempotencia y reintentos","description":"Patrones seguros para reintentar operaciones sin duplicar transacciones.","icon":"rotate-right","href":"/idempotency-retries"}]},{"group":"Seguridad","pages":[{"title":"Autenticación","href":"/authentication"},{"title":"Códigos de error","description":"Formato de errores y referencia completa de códigos.","href":"/errors"}]},{"group":"Soporte y herramientas","pages":[{"title":"Colección Postman","icon":"box-archive","href":"/postman"},{"group":"Casos de uso","pages":[{"title":"Casos de uso","icon":"lightbulb","href":"/use-cases/overview"},{"title":"Marketplaces y plataformas","icon":"store","href":"/use-cases/marketplaces"},{"title":"Remesas internacionales","icon":"money-bill-transfer","href":"/use-cases/remittances"},{"title":"Agencias de viaje y turismo","icon":"plane","href":"/use-cases/travel"},{"title":"Creadores, freelancers y equipos remotos","icon":"users","href":"/use-cases/creators-freelancers"},{"title":"On-ramp y off-ramp","icon":"arrow-right-arrow-left","href":"/use-cases/on-off-ramp"},{"title":"Billeteras digitales y neobancos","icon":"wallet","href":"/use-cases/wallets-neobanks"},{"title":"Pagos embebidos en ERP y software de gestión","icon":"briefcase","href":"/use-cases/erp-embedded"},{"title":"PSP, agregadores y white label","icon":"code-branch","href":"/use-cases/psp-aggregators"},{"title":"Comercio exterior y tesorería B2B","icon":"building-columns","href":"/use-cases/b2b-treasury"},{"title":"Cuentas virtuales por cliente","icon":"layer-group","href":"/use-cases/virtual-accounts"},{"title":"Conciliación y reportes automáticos","icon":"list-check","href":"/use-cases/reconciliation"}]},{"title":"Preguntas frecuentes","icon":"circle-question","href":"/faq"}]}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/api-reference/payins/overview"}]}]},"basePath":"","title":"Autenticación - Vita Wallet Business API","buildId":"dpl_9VVk5y1P8k1ATeJguVngy9Q3cmbD","deploymentId":"dpl_9VVk5y1P8k1ATeJguVngy9Q3cmbD","dynamics":[],"chunks":[]}