Páginas filhas
  • API Order Cartão - Payment

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

02. ENDPOINT
Âncora
endpoint
endpoint


MétodoURLAmbiente
POSThttps://api-barramento.meuelevestage.com/order/paymentHomologação
POSThttps://api-barramento.meueleve.com/order/paymentProdução


...

03. EXEMPLO DE UTILIZAÇÃO
Âncora
utilizar
utilizar

013. Corpo 1 - Envio da requisição solicitação de envio do processamento de um pagamento: Âncorapgtopgto

Na primeira requisição, o pagamento é enviado ao sistema e colocado na fila de processamento. Esse é o ponto inicial onde o sistema apenas confirma o recebimento da solicitação e inicia os preparativos para validar e processar o pagamento. A resposta indicará que o pagamento foi registrado e está aguardando processamento.

Âncora
pgto
pgto

Bloco de código
titleCorpo da requisição no JSON
linenumberstrue
{
    "integrationHubServiceId": "03a93e31-1196-454b-b66f-55b7b636433
Bloco de código
titleCorpo da requisição no JSON
linenumberstrue
{
    "integrationHubServiceId": "03a93e31-1196-454b-b66f-55b7b636433",
    "orderKeyType": "CARD",
    "orderKeyType": "CARD",
    "orderKey": "2",
    "paymentObject": {
        "printOrderAtPos": true,
        "generateInvoice": true,
        "printInvoiceAtPos": true,
        "sendInvoiceEmail": false,
        "summaryExtract": false,
        "customerDocument": null,
        "documentInReceipt": false,
        "numberPersons": 1,
        "removeServiceFee": false,
        "methods": [
            {
                "value": 67.10,
                "currency": "BRL",
                "type": "OFFLINE",
                "method": "CREDIT",
                "methodInfo": "VISA"
            }
        
        ],
        "orderAmount": 61.0,
        "discounts": 0.00,
        "fees": 6.10,
        "total": 67.10
    }
}
Nota
titleNota: HTTP Status Code = 202 Accepted

O seu pedido foi aceite, mas ainda não foi processado, aguarde alguns instantes e contacte o mesmo endereço para obter o resultado do pagamento da encomenda solicitada.


...


023. Retorno 2 - Reenvio da requisição para verificação do processamento do pagamento:pagamento

Na segunda requisição, o pagamento já entrou na fase de processamento ativo. O sistema estará validando os dados da transação e realizando a autorização junto às instituições financeiras. O status retornado confirmará que o pagamento está sendo processado, mas ainda não foi concluído.

Âncora
pgto_processamento
pgto_processamento

...

Nota
titleNota: HTTP Status Code = 208 Already Reported

Sua solicitação foi aceita mas ainda não processada, aguarde alguns instantes e procure o status.


...


3.3 - Reenvio final da requisição com o retorno do processamento e emissão da NFC-e

Ao reenviar a requisição, o pagamento terá sido processado com sucesso. O sistema retornará a NFC-e (Nota Fiscal de Consumidor Eletrônica) como comprovante fiscal, confirmando que a transação foi finalizada e concluída com êxito.03. Retorno da requisição após realização do processamento do pagamento e emissão da NFCe:

Âncora
pgto_retorno
pgto_retorno

JSON de Pagamento de Pedido

Este JSON é utilizado para enviar informações de pagamento relacionadas a um pedido por meio de um serviço de integração. Ele inclui informações sobre a chave de identificação da integração, tipo e chave do pedido, além de um objeto de pagamento detalhado.

Campos:

  • integrationHubServiceId (string, obrigatório)

    • Descrição: Chave de identificação da integração. Este campo é essencial para identificar de forma única a integração em questão.
    • Exemplo: "string"
  • orderKeyType (string, obrigatório)

    • Descrição: Tipo de chave do pedido. Define como o pedido é identificado e pode assumir os valores "TABLE", "CARD" ou "ORDER_ID".
    • Valores possíveis: "TABLE", "CARD", "ORDER_ID"
    • Exemplo: "TABLE"
  • orderKey (string, obrigatório)

    • Descrição: Chave específica do pedido. Este campo deve conter o identificador do pedido de acordo com o tipo especificado em orderKeyType.
    • Exemplo: "string"
  • paymentObject (object, obrigatório)

    Descrição:
    Bloco de código
    titleJSON da resposta do processamento
    linenumberstrue
    {
    	"integrationHubServiceId": "03a93e31-1196-454b-b66f-55b7b636433",
    	"success": true,
    	"orderKeyType": "CARD",
    	"orderKey": "2",
    	"paymentObject": {
    		"printOrderAtPos": true,
    		"generateInvoice": true,
    		"printInvoiceAtPos": true,
    		"sendInvoiceEmail": false,
    		"summaryExtract": false,
    		"customerDocument": null,
    		"documentInReceipt": false,
    		"numberPersons": 1,
    		"removeServiceFee": false,
    		"methods": [
    			{
    				"value": 76.89,
    				"currency": "BRL",
    				"type": "OFFLINE",
    				"method": "CREDIT",
    				"methodInfo": "VISA"
    			}
    		],
    		"orderAmount": 69.9,
    		"discounts": 0,
    		"fees": 6.99,
    		"total": 76.89
    	},
    	"invoiceDetails": {
    		"orderXML": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><nfeProc versao=\"4.00\" xmlns=\"http://www.portalfiscal.inf.br/nfe\" ><NFe><infNFe versao=\"4.00\" Id=\"NFe35240982373077000171650010004112671177509557\"><ide><cUF>35</cUF><cNF>17750955</cNF><natOp>VENDA</natOp><mod>65</mod><serie>1</serie><nNF>411267</nNF><dhEmi>2024-09-10T12:02:09-03:00</dhEmi><tpNF>1</tpNF><idDest>1</idDest><cMunFG>3525904</cMunFG><tpImp>4</tpImp><tpEmis>1</tpEmis><cDV>7</cDV><tpAmb>2</tpAmb><finNFe>1</finNFe><indFinal>1</indFinal><indPres>1</indPres><procEmi>0</procEmi><verProc>03.2411.</verProc></ide><emit><CNPJ>82373077000171</CNPJ><xNome>ALBINO LTDA</xNome><xFant>BOTECO DO ALBINO</xFant><enderEmit><xLgr>AMELIA LATURRE</xLgr><nro>100</nro><xBairro>CENTRO</xBairro><cMun>3525904</cMun><xMun>JUNDIAI</xMun><UF>SP</UF><CEP>13211815</CEP><cPais>1058</cPais><xPais>BRASIL</xPais><fone>4145838800</fone></enderEmit><IE>128571670117</IE><IM>65656565</IM><CRT>3</CRT></emit><det nItem=\"1\"><prod><cProd>001</cProd><cEAN>SEM GTIN</cEAN><xProd>NOTA FISCAL EMITIDA EM AMBIENTE DE HOMOLOGACAO - SEM VALOR FISCAL</xProd><NCM>22021000</NCM><CEST>0300600</CEST><indEscala>S</indEscala><CFOP>5405</CFOP><uCom>UN</uCom><qCom>1.0000</qCom><vUnCom>69.9000</vUnCom><vProd>69.90</vProd><cEANTrib>SEM GTIN</cEANTrib><uTrib>UN</uTrib><qTrib>1.0000</qTrib><vUnTrib>69.9000</vUnTrib><indTot>1</indTot></prod><imposto><vTotTrib>25.50</vTotTrib><ICMS><ICMS60><orig>0</orig><CST>60</CST></ICMS60></ICMS><PIS><PISNT><CST>07</CST></PISNT></PIS><COFINS><COFINSNT><CST>07</CST></COFINSNT></COFINS></imposto></det><det nItem=\"2\"><prod><cProd>999</cProd><cEAN>SEM GTIN</cEAN><xProd>TAXA SERVICO</xProd><NCM>22021000</NCM><CFOP>5102</CFOP><uCom>UN</uCom><qCom>6.9900</qCom><vUnCom>1.0000</vUnCom><vProd>6.99</vProd><cEANTrib>SEM GTIN</cEANTrib><uTrib>UN</uTrib><qTrib>6.9900</qTrib><vUnTrib>1.0000</vUnTrib><indTot>1</indTot></prod><imposto><vTotTrib>2.23</vTotTrib><ICMS><ICMS00><orig>0</orig><CST>00</CST><modBC>3</modBC><vBC>6.99</vBC><pICMS>3.0000</pICMS><vICMS>0.21</vICMS></ICMS00></ICMS><PIS><PISNT><CST>07</CST></PISNT></PIS><COFINS><COFINSNT><CST>07</CST></COFINSNT></COFINS></imposto></det><total><ICMSTot><vBC>6.99</vBC><vICMS>0.21</vICMS><vICMSDeson>0.00</vICMSDeson><vFCP>0.00</vFCP><vBCST>0.00</vBCST><vST>0.00</vST><vFCPST>0.00</vFCPST><vFCPSTRet>0.00</vFCPSTRet><vProd>76.89</vProd><vFrete>0.00</vFrete><vSeg>0.00</vSeg><vDesc>0.00</vDesc><vII>0.00</vII><vIPI>0.00</vIPI><vIPIDevol>0.00</vIPIDevol><vPIS>0.00</vPIS><vCOFINS>0.00</vCOFINS><vOutro>0.00</vOutro><vNF>76.89</vNF><vTotTrib>27.73</vTotTrib></ICMSTot></total><transp><modFrete>9</modFrete></transp><pag><detPag><indPag>0</indPag><tPag>03</tPag><vPag>76.89</vPag><card><tpIntegra>2</tpIntegra></card></detPag><vTroco>0.00</vTroco></pag><infAdic><infCpl>Cartao: 382 Pedido:130 TOTVS CHEF  Aplicativo: TOTVS Chef 03.2411. Serie: 96736041 Valor aproximado dos tributos deste cupom: Federal: R$ 13.89 Estadual: R$ 13.84 Municipal: R$ 0.00 Fonte IBPT/empresometro.com.br SP 19CB11</infCpl><obsCont xCampo=\"Series\"><xTexto>MDAxMDAwNDExMjY3MDAxMDAwNDExMjY3</xTexto></obsCont></infAdic><infRespTec><CNPJ>82373077000171</CNPJ><xContato>Renato Alves</xContato><email>[email protected]</email><fone>1120997271</fone></infRespTec></infNFe><infNFeSupl><qrCode><![CDATA[https://www.homologacao.nfce.fazenda.sp.gov.br/qrcode?p=35240982373077000171650010004112671177509557|2|2|3|18D0E6CEA01007DA59D0C5B087141254ACB2AC88]]></qrCode><urlChave>https://www.homologacao.nfce.fazenda.sp.gov.br/consulta</urlChave></infNFeSupl><Signature xmlns=\"http://www.w3.org/2000/09/xmldsig#\"><SignedInfo><CanonicalizationMethod Algorithm=\"http://www.w3.org/TR/2001/REC-xml-c14n-20010315\"/><SignatureMethod Algorithm=\"http://www.w3.org/2000/09/xmldsig#rsa-sha1\"/><Reference URI=\"#NFe35240982373077000171650010004112671177509557\"><Transforms><Transform Algorithm=\"http://www.w3.org/2000/09/xmldsig#enveloped-signature\"/><Transform Algorithm=\"http://www.w3.org/TR/2001/REC-xml-c14n-20010315\"/></Transforms><DigestMethod Algorithm=\"http://www.w3.org/2000/09/xmldsig#sha1\"/><DigestValue>IT5qHUAbxCoarZBHtQ0QrRzlysc=</DigestValue></Reference></SignedInfo><SignatureValue>Ow2g9BwM1Xza7ycVR6dhtObwTHMxEaVT3eJgyHJEjln1z1Jarv/k7EBJG87bad+94YXGM72NYC1d7mZt+zMGtPI/z/891RU5RhdydA3lm1a09TQao3+IK6+zngzhyFEWbykGnawGbrbPtuOWZY4ThAeJ+Ck3BtyYtE0SWCdUgvS+xVb0SFPvsMIU9GO8NTAD4HBZm97RPU1e/Fo2dJKFdILJSA0OqeHZHXMddibzAb0S20Ty+PgpENbaqAQuciI9qpuuLxAgmhEQcBIt+kS/pw96JOUA4HSXLZ45JoUkEuSfjKrdDvkNt+pqa1Zfmt0mwp28DSTEX/braxfQiqX5cw==</SignatureValue><KeyInfo><X509Data><X509Certificate>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</X509Certificate></X509Data></KeyInfo></Signature></NFe><protNFe versao=\"4.00\"><infProt><tpAmb>2</tpAmb><verAplic>SP_NFCE_PL_009_V400</verAplic><chNFe>35240982373077000171650010004112671177509557</chNFe><dhRecbto>2024-09-10T12:02:12-03:00</dhRecbto><nProt>135240002240081</nProt><digVal>IT5qHUAbxCoarZBHtQ0QrRzlysc=</digVal><cStat>100</cStat><xMotivo>Autorizado o uso da NF-e</xMotivo></infProt></protNFe></nfeProc>",
    		"invoiceKey": "35240982373077000171650010004112671177509557",
    		"qrCode": "https://www.homologacao.nfce.fazenda.sp.gov.br/qrcode?p=35240982373077000171650010004112671177509557|2|2|3|18D0E6CEA01007DA59D0C5B087141254ACB2AC88"
    	},
    	"error": null
    }
    Informações
    titleNota:


    Dicionário da Request

    Este endpoint processa pagamentos e emite a NFC-e, gerenciando o envio e acompanhamento do status de pagamento até sua conclusão e emissão da nota fiscal.


    • Estrutura Payment:

    Campo

    Valor

    Descrição

    integrationHubServiceId *stringIdentificador único da integração
    orderKeyType *enum Tipo de chave do pedido (veja na tabela orderKeyType)
    orderKey *arrayChave do pedido correspondente 

    paymentObject *

    arrayObjeto que contém todas as informações necessárias para o processamento do pagamento do pedido

    ...

    Campos do paymentObject:

    ...

    printOrderAtPos (boolean, obrigatório)

    • Descrição: Controla se o pedido deve ser impresso no ponto de venda (POS).
    • Valores:
      • true: O pedido será impresso no POS.
      • false: O pedido não será impresso no POS.
    • Exemplo: true

    generateInvoice (boolean, obrigatório)

    orderAmount *

    numberValor final do pedido (total + taxas - descontos)

    discounts 

    numberValor total de descontos aplicados ao pedido

    fees *

    numberValor total das taxas aplicadas ao pedido

    total *

    numberValor total do pedido (soma dos itens).


    • Estrutura Payment (dentro de paymentObject):

    ...

    CampoValorDescrição
    printOrderAtPos * boolean

    Controla se o pedido deve ser impresso no ponto de venda (POS).

    generateInvoice *boolean
    Controla se a fatura deve ser gerada no POS

    ...

    printInvoiceAtPos (boolean, obrigatório)

    ...

    ...

    • true: A fatura será gerada no POS.
    • false: A fatura não será gerada no POS (a integração gerará a fatura).

    ...

    printInvoiceAtPos  *boolean
    Controla se a fatura deve ser impressa no POS

    ...

    • true: A fatura será impressa no POS.
    • false: A fatura não será impressa no POS.

    ...

    sendInvoiceEmail (boolean, obrigatório)

    ...

    sendInvoiceEmail *boolean
    Controla se a fatura será enviada por e-mail

    ...

    • true: A fatura será enviada por e-mail.
    • false: A fatura não será enviada por e-mail.

    ...

    summaryExtract (boolean, obrigatório)

    ...

    summaryExtract *boolean

    customerDocument (string)

    ...

    Indica se um resumo deve ser incluído na resposta da solicitação

    ...

    • true: O resumo será incluído.
    • false: O resumo não será incluído.

    ...

    customerDocument string
    Documento do cliente. Necessário quando documentInReceipt é true

    ...

    documentInReceipt (boolean, obrigatório)

    ...

    documentInReceipt  *boolean

    numberPersons (number)

    ...

    Indica se o documento do cliente deve aparecer na fatura

    ...

    • true: O documento do cliente aparecerá na fatura.
    • false: O documento do cliente não aparecerá na fatura.

    ...

    numberPersons number
    Indica o número de pessoas associado ao pedido no momento do fechamento

    ...

    ...

    removeServiceFee (boolean, obrigatório)

    ...

    removeServiceFee *boolean
    Indica se a taxa de serviço deve ser removida do total da conta

    ...

    • true: A taxa de serviço será removida.
    • false: A taxa de serviço não será removida.

    ...

    methods *arrayLista de métodos de pagamento utilizados para o pedido


    • Estrutura Payment - paymentObject  (dentro de methods):

    methods (array de objetos, obrigatório)

    ...

    Descrição: Lista de métodos de pagamento utilizados para o pedido.

    Campos do methods:

    ...

    value (number, obrigatório)

    • Descrição: Valor do pagamento para o método específico. Aceita até 4 casas decimais.
    • Exemplo: 0.00

    currency (string, obrigatório)

    ...

    CampoValorDescrição
    currency *string
    Código da moeda no formato ISO 4217

    ...

    type (string, obrigatório)

    ...

    type *enum
    Tipo de método de pagamento. Pode ser "OFFLINE" ou "ONLINE".

    ...

    method *enumMétodo de pagamento utilizado. (veja a tabela method)
    brand enum

    Marca do cartão selecionado no campo method (veja a tabela brand)

    methodInfostringInformações adicionais sobre o método de pagamento
    changeFor numberIndica o valor total que será pago em dinheiro pelo cliente e que deve ser considerado para o cálculo do troco. Obrigatório apenas quando method for "CASH"



    Tabela de auxiliares e enumerações

    • Estrutura Enumeração orderKeyType
      Âncora
      table_orderKeyType
      table_orderKeyType

    Enum

    Valor

    Descrição

    TABLETABLEIdentifica o pedido pelo número da mesa
    CARDCARDIdentifica o pedido pelo número do cartão
    ORDER_IDORDER_IDIdentifica o pedido por um ID exclusivo


    • Estrutura Payment - methods (dentro de type):

    Enum

    Valor

    Descrição

    OFFLINEOFFLINEPagamento será realizado OFFILINE
    ONLINE ONLINE Pagamento será realizado ONLINE


    • Estrutura Payment - methods (dentro de type):

    Enum

    Valor

    Descrição

    CREDITCREDITForma de pagmendo crédito
    DEBITDEBITForma de pagmendo débito
    MEAL_VOUCHERMEAL_VOUCHERForma de pagmendo vale refeição
    FOOD_VOUCHERFOOD_VOUCHERForma de pagmendo vale
    DIGITAL_WALLETDIGITAL_WALLETForma de pagmendo alimentação
    PIXPIXForma de pagmendo PIX
    CASHCASHForma de pagmendo dinheiro
    CREDIT_DEBITCREDIT_DEBITForma de pagmendo crédito em débito
    COUPONCOUPONForma de pagmendo cupom
    REDEEMREDEEMForma de pagmendo resgater
    PREPAID_REDEEMPREPAID_REDEEMForma de pagmendo resgater pré-pago
    OTHEROTHERForma de pagmendo outro


    ...

    04. ERROS
    Âncora
    erros
    erros

    A seguir, alguns dos erros comuns que podem ser apresentados ao lidar com requisições HTTP e suas respectivas respostas:

    • HTTP Status Code - 400 - Bad Request
      Âncora
      status_code_400
      status_code_400

    O código de status HTTP 400, conhecido como "Bad Request" (Requisição Inválida), indica que o servidor não pôde processar a requisição do cliente devido a uma sintaxe inválida, estrutura malformada ou dados inválidos presentes na requisição.


    4.1 - Formato inválido do JSON esperado:

    A requisição foi enviada com um JSON malformado ou inválido, o que impede o sistema de interpretá-la corretamente. Isso ocorre quando a estrutura JSON contém erros de sintaxe, como chaves ou colchetes incorretos.

    Bloco de código
    titleJSON Inválido
    linenumberstrue
    {
        "integrationHubServiceId": "03a93e31-1196-454b-b66f-55b7b636433",
        "orderKeyType": "CARD",
        "orderKey": 2,
        "paymentObject": {
            "printOrderAtPos": true,
            "generateInvoice": true,
            "printInvoiceAtPos": true,
            "sendInvoiceEmail": false,
            "summaryExtract": false,
            "customerDocument": null,
            "documentInReceipt": false,
            "numberPersons": 1,
            "removeServiceFee": false,
            "methods": [
                {
                    "value": 67.10,
                    "currency": "BRL",
                    "type": "OFFLINE",
                    "method": "CREDIT",
                    "methodInfo": "VISA"
                }
            
            ],
            "orderAmount": 61.0,
            "discounts": 0.00,
            "fees": 6.10,
            "total": 67.10
        }
    }
    Bloco de código
    titleJSON Resposta
    linenumberstrue
    {
    	"errors": [
    		{
    			"key": "orderKey",
    			"message": "body.orderKey must be a string"
    		}
    	]
    }


    ...


    4.2 - JSON enviado com a ausência de um ou mais campos obrigatórios:

    Se a requisição estiver faltando um ou mais campos obrigatórios, o servidor responderá com um erro 400. Cada campo requerido deve estar presente para que a operação seja processada corretamente

    ...

    method (string, obrigatório)

    • Descrição: Método de pagamento utilizado. Pode ser um dos seguintes valores: "CREDIT", "DEBIT", "MEAL_VOUCHER", "FOOD_VOUCHER", "DIGITAL_WALLET", "PIX", "CASH", "CREDIT_DEBIT", "COUPON", "REDEEM", "PREPAID_REDEEM", "OTHER".
    • Valores possíveis: "CREDIT", "DEBIT", "MEAL_VOUCHER", "FOOD_VOUCHER", "DIGITAL_WALLET", "PIX", "CASH", "CREDIT_DEBIT", "COUPON", "REDEEM", "PREPAID_REDEEM", "OTHER"
    • Exemplo: "CREDIT"

    ...

    brand (string)

    • Descrição: Marca do cartão selecionado no campo method. Deve ser preenchido somente se method for "CREDIT", "DEBIT", "CREDIT_DEBIT", "MEAL_VOUCHER" ou "FOOD_VOUCHER".
    • Valores possíveis: "VISA", "MASTERCARD", "DINERS", "AMEX", "HIPERCARD", "ELO", "AURA", "DISCOVER", "VR_BENEFICIOS", "SODEXO", "TICKET", "GOOD_CARD", "BANESCARD", "SOROCARD", "POLICARD", "VALECARD", "AGICARD", "JCB", "CREDSYSTEM", "CABAL", "GREEN_CARD", "VEROCHEQUE", "AVISTA", "OTHER"
    • Exemplo: "VISA"

    ...

    methodInfo (string)

    • Descrição: Informações adicionais sobre o método de pagamento. Pode ser usado para indicar o nome da carteira digital ou número de autorização.
    • Exemplo: "string"

    ...

    changeFor (number)

    • Descrição: Indica o valor total que será pago em dinheiro pelo cliente e que deve ser considerado para o cálculo do troco. Obrigatório apenas quando method for "CASH".
    • Exemplo: 0.00

    ...

    orderAmount (number, obrigatório)

    • Descrição: Valor final do pedido (total + taxas - descontos).
    • Exemplo: 0.00

    ...

    discounts (number)

    • Descrição: Valor total de descontos aplicados ao pedido.
    • Exemplo: 0.00

    ...

    fees (number, obrigatório)

    • Descrição: Valor total das taxas aplicadas ao pedido.
    • Exemplo: 0.00

    ...

    total (number, obrigatório)

    • Descrição: Valor total do pedido (soma dos itens).
    • Exemplo: 0.00
    Informações
    titleInformação:

    integrationHubServiceId: é um código da integração da loja com o Integration Hub

    orderKey: é o código do pedido

    ...

    A seguir, alguns dos erros comuns que podem ser apresentados ao lidar com requisições HTTP e suas respectivas respostas:

    ...

    O código de status HTTP 400, conhecido como "Bad Request" (Requisição Inválida), indica que o servidor não pôde processar a requisição do cliente devido a uma sintaxe inválida, estrutura malformada ou dados inválidos presentes na requisição.

    01. Formando inválido do JSON esperado.

    Bloco de código
    titleJSON Inválido
    linenumberstrue
    {
        "integrationHubServiceId": "03a93e31-1196-454b-b66f-55b7b636433",
        "orderKeyTypeorderKey": "CARD2",
        "orderKey": 2,
        "paymentObject": {
            "printOrderAtPos": true,
            "generateInvoice": true,
            "printInvoiceAtPos": true,
            "sendInvoiceEmail": false,
            "summaryExtract": false,
            "customerDocument": null,
            "documentInReceipt": false,
            "numberPersons": 1,
            "removeServiceFee": false,
            "methods": [
                {
                    "value": 67.10,
                    "currency": "BRL",
                    "type": "OFFLINE",
                    "method": "CREDIT",
                    "methodInfo": "VISA"
                }
            
            ],
            "orderAmount": 61.0,
            "discounts": 0.00,
            "fees": 6.10,
            "total": 67.10
        }
    }
    Bloco de código
    titleJSON Resposta
    linenumberstrue
    {
    	"errors": [
    		{
    			"key": "orderKeyorderKeyType",
    			"message": "body.orderKeyorderKeyType must be a stringis required"
    		}
    	]
    }


    ...


    4.3 -  GUID incorreto:

    O GUID (Identificador Globalmente Único) enviado na requisição está incorreto ou malformado, o que pode resultar em um erro. Um GUID é uma sequência específica que deve seguir o padrão correto02. JSON enviando faltando um ou mais campos.

    Bloco de código
    titleJSON Inválidocom o GUID inválido
    linenumberstrue
    {
        "integrationHubServiceId": "03a93e31-1196-454b-b66f-55b7b63643355b7b63643A",
        "orderKey": "2",
        "paymentObject": {
            "printOrderAtPos": true,
            "generateInvoice": true,
            "printInvoiceAtPos": true,
            "sendInvoiceEmail": false,
            "summaryExtract": false,
            "customerDocument": null,
            "documentInReceipt": false,
            "numberPersons": 1,
            "removeServiceFee": false,
            "methods": [
                {
                    "value": 67.10,
                    "currency": "BRL",
                    "type": "OFFLINE",
                    "method": "CREDIT",
                    "methodInfo": "VISA"
                }
            
            ],
            "orderAmount": 61.0,
            "discounts": 0.00,
            "fees": 6.10,
            "total": 67.10
        }
    }
    Bloco de código
    titleJSON Resposta Inválido GUID incorreto
    linenumberstrue
    {
    	"errors": [
    		{
    			"key": "orderKeyTypeintegrationHubServiceId",
    			"message": "body.orderKeyType is requiredintegrationHubServiceId must be a valid GUID"
    		}
    	]
    }

    03. GUID incorreto 

    Nota
    titleNota: HTTP Status Code = 400 Bad Request

    A solicitação é inválida e não pôde ser processada devido a erros na entrada fornecida. Verifique os dados enviados e tente novamente.


    ...


    4.4 - Requisição enviada sem informar o orderKey corretamente:

    Caso a requisição seja enviada sem o campo orderKey ou com o valor incorreto, o sistema não conseguirá identificar o pedido, resultando em um erro 400. O orderKey deve estar corretamente preenchido e de acordo com o orderKeyType informado.

    Bloco de código
    titleJSON com sem informar o código da orderKey
    linenumberstrue
    {
        "integrationHubServiceId": "02990348-9d85-416d-a573-6dc83eee52e7",
        "orderKey": 2,
        "paymentObject": 
    Bloco de código
    titleJSON com o GUID inválido
    linenumberstrue
    {
        "integrationHubServiceId": "03a93e31-1196-454b-b66f-55b7b63643A",
        "orderKey": "2",
        "paymentObject": {
            "printOrderAtPos": true,
            "generateInvoice": true,
            "printInvoiceAtPos": true,
            "sendInvoiceEmail": false,
            "summaryExtract": false,
            "customerDocument": null,
            "documentInReceipt": false,
            "numberPersons": 1,
            "removeServiceFee": false,
            "methods": [
                {
                    "value"printOrderAtPos": 67.10true,
                    "currency": "BRL",
          generateInvoice": true,
              "typeprintInvoiceAtPos": "OFFLINE"true,
            "sendInvoiceEmail": false,
            "methodsummaryExtract": "CREDIT"false,
            "customerDocument": null,
            "methodInfodocumentInReceipt": "VISA"false,
            "numberPersons": 1,
       }
         "removeServiceFee": false,
      
          "methods":  [],
            "orderAmount": 61.0,
            "discounts": 0.00,
            "fees": 6.10,
            "total": 67.10
        }
    }
    Bloco de código
    titleJSON Inválido GUID incorretoResponse
    linenumberstrue
    {
    	"errors": [
    		{
    			"key": "integrationHubServiceIdmethods",
    			"message": "body.integrationHubServiceIdpaymentObject.methods must becontain at aleast valid1 GUIDitems"
    		}
    	]
    }
    Nota
    titleNota: HTTP Status Code = 400 Bad Request

    A solicitação é inválida e não pôde ser processada devido a erros na entrada fornecida. Verifique os dados enviados e tente novamente.

    ...