Fast Shop - API Seller
Swagger API
  • Sobre a API
  • Guias da API
    • Primeiros passos
    • Autenticação e formato dos dados
    • Códigos de retorno (HTTP status)
    • Limite de requisições
    • Melhores práticas
  • Integração
    • Fluxo de integração
    • Ambientes de integração
    • Definição da URL e Siglas
    • Recursos (endpoint)
      • Catálogo de Produto
        • Notificação de catálogo
        • Registro de catálogo
        • Atualização de catálogo
        • Atualização de preço/estoque
      • Criação de Pedido
        • Cálculo de frete
        • Criação de pedido
      • Processar Pagamento
        • Bandeiras de cartão
        • Parcelamento no cartão
        • Processar transação de pagamento
          • Como criptografar as informações do pagamento
      • Gerenciamento do Pedido
        • Pedido Aprovado/Confirmado pelo Marketplace
        • Pedido Confirmado pelo Seller
        • Pedido Faturado ou Despachado
        • Pedido Entregue
        • Pedido Cancelado pelo Marketplace
        • Pedido Cancelado pelo Seller
        • Consultar Pedido
    • Status de Pedidos no Seller
Powered by GitBook
On this page
  • Endpoint
  • Process Payments
  • Preenchimento do Request:
  • Informações importantes do Response:

Was this helpful?

  1. Integração
  2. Recursos (endpoint)
  3. Processar Pagamento

Processar transação de pagamento

Nesta seção explicamos um pouco sobre os recursos disponível para processamento da transação de pagamento utilizando o Gateway da Fast Shop

Caso o Marketplace opte por processar o pagamento utilizando o Gateway da Fast Shop, deverá utilizar este endpoint parar realizar a operação

Inicialmente este endpoint esta aceitando apenas a opção de cartão de crédito ("credit_card")

Endpoint

Process Payments

POST https://{environmentSeller}/pvt/payments

Path Parameters

Name
Type
Description

{environmentSeller}*

string

URL da API do Seller

Headers

Name
Type
Description

X-VTEX-API-AppKey*

string

{{appKey}}

X-VTEX-API-AppToken*

string

{{appToken}}

Accept*

string

application/json

Content-Type*

string

application/json

Consulte o Swagger API
{
  "errorCode": "string",
  "message": "string"
}
{
  "errorCode": "string",
  "message": "string"
}

Exemplo do Request

{
  "payments": [
    {
      "paymentId": "credit_card",
      "paymentMethod": "Cartão de crédito",
      "value": 50000,
      "installments": 10,
      "cardData": "erefvcbnviefvnsncvimvunruvneuipvnewvbpurnevunuvnuietvbetnbuetnbuetobnetibuetbeuqdvqvctyqeviqctvqcetqovcuvctqtcvqoruqvqrbqovo",
      "bankBilletData": null,
      "pixData": null
    }
  ],
  "customerIpAddress": "127.0.0.1",
  "shippingData": {
    "selectedSla": "KAIVEHUB_Normal_33"
  }
}

Exemplo do Response (200 - OK)

[
  {
    "paymentId": "credit_card",
    "status": 1,
    "statusDescription": "1 - AUTHORIZED",
    "cardData": {
      "cardBrand": "VISA",
      "cardNumber": "42206121***9564",
      "transactionId": "b17fad53-e277-4f4a-8e0f-7760891f80af"
    },
    "bankBilletData": null,
    "pixData": null
  }
]

Descrições dos campos consulte o "Swagger API"

A API permite até 5 requisições por segundo, caso ultrapasse esse limite será retornado status 429: Too Many Request

Preenchimento do Request:

  • Apesar de o campo "payments" aceitar uma lista de pagamento, neste momento o pedido esta restrito apenas a um cartão de crédito, opção de pagamento "credit_card".

    • O campo "value" é exatamente o valor retornado na opção da simulação do parcelamento selecionado pelo cliente, campo "consultInstallments: installments: total".

    • O campo "installments" é exatamente o valor retornado na opção da simulação do parcelamento selecionado pelo cliente, campo "consultInstallments: installments: installmentNumber".

    • O campo "cardData" irá conter as informações do cartão criptografado que será explicado como realizar em "Como criptografar as informações do pagamento", e deverá conter o JSON abaixo.

      • O campo "cardBrand" é exatamente o valor retornado na opção da simulação do parcelamento selecionado pelo cliente, campo "consultInstallments: cardInfo: cardBrand".

{
    "cardBrand": "VISA",
    "cardNumber": "4111111111111111",
    "holderName": "Cliente Teste",
    "document": "28110974813",
    "securityCode": "123",
    "expirationMonth": 1,
    "expirationYear": 2033
}
  • O campo "customerIpAddress" deverá ser preenchido com o IP da Máquina do Cliente, mas caso não seja possível poderá informar o do Servidor de requisição. Esta informação será importante para a análise de fraude.

  • O campo "shippingData: selectedSla" é o ID a opção de frete seleciona na venda, ou seja, o campo "logisticsInfo: slas: id" do Cálculo de Frete.

Informações importantes do Response:

  • Será retornado HttpCode = 200 caso tenha todos os pagamentos aprovados ou HttpCode = 401 quando não for autorizado.

  • O "payments" será retornado as informações do cartão processado onde através do campo "cardNumber" conseguirá identificar o número do cartão.

  • O campo "status" poderá retornar:

    • 1 - AUTHORIZED - Significa que foi autorizado a pré-autorização e poderá seguir com a geração do pedido

    • 2 - UNAUTHORIZED - Significa que não foi autoriza a pré-autorização devido a alguma restrição, com isto não deverá seguir o a geração do pedido

    • 3 - FAILED - Significa que algo falhou durante o processamento da pré-autorização e poderá ser efetuado uma nova tentativa.

  • Se aprovado será retornado o “Token” da transação. Os campos "cardBrand" e "transactionId" deverão ser capturados pelo Marketplace e repassados na Criação do Pedido na condição de pagamento "credit_card":

    • payments: cardData: cardBrand ==> paymentData: payments: cardData: cardBrand

    • payments: cardData: transactionId ==> paymentData: payments: cardData: transactionId

PreviousParcelamento no cartãoNextComo criptografar as informações do pagamento

Last updated 1 year ago

Was this helpful?