Inyo

Cartões

Um payout de cartão envia fundos para o cartão do destinatário. O cartão em si nunca aparece na requisição — você envia um cardTokenId, uma referência opaca que substitui o número.

CampoTipoObrigatórioDescrição
typestringSim"CARD"
countryCodestringSimISO alpha-3
cardTokenIdstringSimIdentificador do cartão tokenizado — veja Obtendo um cardTokenId

O Uzbequistão (UZB) é o único país cujo schema é exclusivo de cartão. Para outros destinos, o push para cartão é validado contra o schema genérico de push, e não contra um schema de país.

Obtendo um cardTokenId

Nunca envie o número do cartão para o seu próprio servidor. Isso coloca seu backend no escopo do PCI DSS, e de todo modo o gateway não aceita PAN no POST /v2/payment — o único identificador de cartão que o endpoint de pagamento recebe é um token.

A tokenização acontece no navegador do destinatário, antes que seu backend veja qualquer coisa:

sequenceDiagram
    participant U as Navegador do destinatário
    participant J as inyo.js
    participant T as Tokenizador Inyo
    participant Y as Seu backend
    participant G as Inyo Gateway

    U->>J: digita os dados do cartão
    J->>T: dados do cartão (nunca tocam seu servidor)
    T-->>J: cardTokenId
    J-->>U: cardTokenId
    U->>Y: apenas o cardTokenId
    Y->>G: POST /v2/payment<br/>paymentMethod.cardTokenId

Os dados do cartão vão do navegador direto ao tokenizador. Seu backend recebe apenas o token, que é o que você coloca em recipient.paymentMethod.cardTokenId.

Veja Tokenizando cartões para a configuração do inyo.js, a URL do script por ambiente e o fluxo completo no cliente.

Duas coisas costumam derrubar integrações:

  • A resposta do tokenizador chama o campo de additionalData.token, não cardTokenId. Esse UUID é o valor que a requisição de pagamento espera em paymentMethod.cardTokenId — os nomes diferem entre as duas chamadas.
  • A origem que carrega o inyo.js precisa ser registrada na Inyo antes. Requisições de tokenização vindas de uma página não registrada são barradas por CORS, tanto em sandbox quanto em produção. Envie à Inyo a origem completa (ex.: https://checkout.seusite.com) de toda página que for chamar o tokenizador, antes de ir ao ar.

O inyo.js é publicado como um build por ambiente, carregado de uma URL diferente em sandbox e em produção — então mantenha o token, o script e as credenciais de API no mesmo ambiente do começo ao fim.

Exemplo

"recipient": {
  "firstName": "Jane",
  "lastName": "Doe",
  "paymentMethod": {
    "type": "CARD",
    "countryCode": "UZB",
    "cardTokenId": "778303bb-1441-4378-b923-77ecf414cffd"
  }
}

Próximos passos