Páginas filhas
  • API Order Mesa - Payment

Versões comparadas

Chave

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

CONTEÚDO

...

02. ENDPOINT
Âncora
endpoint
endpoint


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


...

03. EXEMPLO DE UTILIZAÇÃO

013. Corpo 1 - Envio da requisição solicitação de envio de novo pedidos inteiro: Âncoratodos_statustodos_statusprocessamento de um pagamento:

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
linenumbers
Bloco de código
titleCorpo da requisição no JSON
linenumberstrue
{
    "integrationHubServiceId": "efdd6093-5539-4ac4-ad84-7423a8078dde",
    "orderKeyType": "TABLE",
    "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 após o para verificação do processamento do pedido do 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
Âncora
detalhes_pedido_especificodetalhes_pedido_especifico

Bloco de código
titleJSON Para retornar o status de um pedido específico
linenumberstrue
{
	"errors": [
		{
			"key": "orderKeyType_orderKey",
			"message": "Order Payment request already exists: TABLE-2"
		}
	]
}
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.

Informações
titleNota:

Este JSON é utilizado para enviar informações de pagamento de um pedido através de um serviço de integração. Ele contém detalhes sobre o pedido, o método de pagamento utilizado e outras informações relevantes para o processamento do pagamento.

Campos:

  • integrationHubServiceId (string, obrigatório)

    • Descrição: Chave de identificação da integração.
    • Exemplo: "5ffec6b8-1c55-4a7d-985f-12d13685b553"
  • orderKeyType (string, obrigatório)

    • Descrição: Tipo da chave do pedido. Pode assumir os valores "TABLE", "CARD" ou "ORDER_ID".
    • Exemplo: "TABLE"
  • orderKey (string, obrigatório)

    • Descrição: Chave do pedido específica. Deve ser fornecida de acordo com o tipo de chave especificado em orderKeyType.
    • Exemplo: "2"
  • paymentObject (object, obrigatório)

    • Descrição: Objeto que contém as informações de pagamento do pedido.

    • Campos do paymentObject:

      • printOrderAtPos (boolean, obrigatório)

        • Descrição: Indica se o pedido deve ser impresso no POS.
        • Valores:
          • true: O pedido será impresso no POS.
          • false: O pedido não será impresso no POS.
        • Exemplo: true
      • generateInvoice (boolean, obrigatório)

        • Descrição: Indica se a fatura deve ser gerada no POS.
        • Valores:
          • true: A fatura será gerada no POS.
          • false: A fatura não será gerada no POS (a integração gerará a fatura).
        • Exemplo: true
      • printInvoiceAtPos (boolean, obrigatório)

        • Descrição: Indica se a fatura deve ser impressa no POS.
        • Valores:
          • true: A fatura será impressa no POS.
          • false: A fatura não será impressa no POS.
        • Exemplo: true
      • sendInvoiceEmail (boolean)

        • Descrição: Indica se a fatura será enviada por e-mail.
        • Valores:
          • true: A fatura será enviada por e-mail.
          • false: A fatura não será enviada por e-mail.
        • Exemplo: false
      • summaryExtract (boolean)

        • Descrição: Indica se um resumo deve ser incluído no retorno da solicitação.
        • Valores:
          • true: O resumo será retornado.
          • false: O resumo não será retornado.
        • Exemplo: false
      • customerDocument (string)

        • Descrição: Documento do cliente, necessário quando documentInReceipt é true.
        • Exemplo: null
      • documentInReceipt (boolean, obrigatório)

        • Descrição: Indica se o documento do cliente deve aparecer na fatura.
        • Valores:
          • true: O documento do cliente aparecerá na fatura.
          • false: O documento do cliente não aparecerá na fatura.
        • Exemplo: false
      • numberPersons (number)

        • Descrição: Informa o número de pessoas quando o pedido é fechado.
        • Exemplo: 1
      • removeServiceFee (boolean, obrigatório)

        • Descrição: Indica se a taxa de serviço deve ser removida do valor total da conta.
        • Valores:
          • true: A taxa de serviço será removida.
          • false: A taxa de serviço não será removida.
        • Exemplo: false
      • methods (array de objetos, obrigatório)

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

        • Campos do methods:

          • value (number, obrigatório)

            • Descrição: Valor do pagamento.
            • Exemplo: 67.10
          • currency (string, obrigatório)

            • Descrição: Código da moeda no formato ISO 4217.
            • Exemplo: "BRL"
          • type (string, obrigatório)

            • Descrição: Tipo de método de pagamento. Pode ser "OFFLINE" ou "ONLINE".
            • Exemplo: "OFFLINE"
          • 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".
            • Exemplo: "CREDIT"
          • methodInfo (string)

            • Descrição: Informações adicionais sobre o método de pagamento, como o nome da bandeira do cartão ou número de autorização.
            • Exemplo: "VISA"
      • orderAmount (number, obrigatório)

        • Descrição: Valor final do pedido (total + taxas - descontos).
        • Exemplo: 61.0
      • 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: 6.10
      • total (number, obrigatório)

        • Descrição: Valor total do pedido antes de descontos e taxas.
        • Exemplo: 67.10
Informações
titleInformação:

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

orderKey: é o código do pedido

...


...


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.

Âncora
pgto_retorno
pgto_retorno

Bloco de código
titleJSON da resposta do processamento
linenumberstrue
{
	"integrationHubServiceId": "4bac08db-2c6e-4663-a285-d7acfdce579c",
	"success": true,
	"orderKeyType": "TABLE",
	"orderKey": "50",
	"paymentObject": {
		"printOrderAtPos": true,
		"generateInvoice": true,
		"printInvoiceAtPos": true,
		"sendInvoiceEmail": false,
		"summaryExtract": false,
		"customerDocument": null,
		"documentInReceipt": false,
		"numberPersons": 1,
		"removeServiceFee": false,
		"methods": [
			{
				"value": 67.1,
				"currency": "BRL",
				"type": "ONLINE",
				"method": "CREDIT",
				"methodInfo": "VISA"
			}
		],
		"orderAmount": 61,
		"discounts": 0,
		"fees": 6.1,
		"total": 67.1
	},
	"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=\"NFe35240882373077000171650010004112441194594623\">
			<ide>
				<cUF>35</cUF>
				<cNF>19459462</cNF>
				<natOp>VENDA</natOp>
				<mod>65</mod>
				<serie>1</serie>
				<nNF>411244</nNF>
				<dhEmi>2024-08-16T15:17:35-03:00</dhEmi>
				<tpNF>1</tpNF>
				<idDest>1</idDest>
				<cMunFG>3539806</cMunFG>
				<tpImp>4</tpImp>
				<tpEmis>1</tpEmis>
				<cDV>3</cDV>
				<tpAmb>2</tpAmb>
				<finNFe>1</finNFe>
				<indFinal>1</indFinal>
				<indPres>1</indPres>
				<procEmi>0</procEmi>
				<verProc>03.2408.</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>3539806</cMun>
					<xMun>POA</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>058</cProd>
					<cEAN>SEM GTIN</cEAN>
					<xProd>NOTA FISCAL EMITIDA EM AMBIENTE DE HOMOLOGACAO - SEM VALOR FISCAL</xProd>
					<NCM>22021000</NCM>
					<cBenef>PR810000</cBenef>
					<CFOP>5101</CFOP>
					<uCom>UN</uCom>
					<qCom>1.0000</qCom>
					<vUnCom>61.0000</vUnCom>
					<vProd>61.00</vProd>
					<cEANTrib>SEM GTIN</cEANTrib>
					<uTrib>UN</uTrib>
					<qTrib>1.0000</qTrib>
					<vUnTrib>61.0000</vUnTrib>
					<indTot>1</indTot>
				</prod>
				<imposto>
					<vTotTrib>19.45</vTotTrib>
					<ICMS>
						<ICMS20>
							<orig>0</orig>
							<CST>20</CST>
							<modBC>3</modBC>
							<pRedBC>12.0000</pRedBC>
							<vBC>53.68</vBC>
							<pICMS>18.0000</pICMS>
							<vICMS>9.66</vICMS>
						</ICMS20>
					</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.1000</qCom>
					<vUnCom>1.0000</vUnCom>
					<vProd>6.10</vProd>
					<cEANTrib>SEM GTIN</cEANTrib>
					<uTrib>UN</uTrib>
					<qTrib>6.1000</qTrib>
					<vUnTrib>1.0000</vUnTrib>
					<indTot>1</indTot>
				</prod>
				<imposto>
					<vTotTrib>1.95</vTotTrib>
					<ICMS>
						<ICMS00>
							<orig>0</orig>
							<CST>00</CST>
							<modBC>3</modBC>
							<vBC>6.10</vBC>
							<pICMS>3.0000</pICMS>
							<vICMS>0.18</vICMS>
						</ICMS00>
					</ICMS>
					<PIS>
						<PISNT>
							<CST>07</CST>
						</PISNT>
					</PIS>
					<COFINS>
						<COFINSNT>
							<CST>07</CST>
						</COFINSNT>
					</COFINS>
				</imposto>
			</det>
			<total>
				<ICMSTot>
					<vBC>59.78</vBC>
					<vICMS>9.84</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>67.10</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>67.10</vNF>
					<vTotTrib>21.40</vTotTrib>
				</ICMSTot>
			</total>
			<transp>
				<modFrete>9</modFrete>
			</transp>
			<pag>
				<detPag>
					<indPag>0</indPag>
					<tPag>03</tPag>
					<vPag>67.10</vPag>
					<card>
						<tpIntegra>2</tpIntegra>
					</card>
				</detPag>
				<vTroco>0.00</vTroco>
			</pag>
			<infAdic>
				<infCpl>Mesa: 50 Pedido:48 TOTVS CHEF  Aplicativo: TOTVS Chef 03.2408. Serie: 96736041 Valor aproximado dos tributos deste cupom: Federal: R$ 9.32 Estadual: R$ 12.08 Municipal: R$ 0.00 Fonte IBPT/empresometro.com.br SP B047CD</infCpl>
				<obsCont xCampo=\"Series\">
					<xTexto>MDAxMDAwNDExMjQ0MDAxMDAwNDExMjQ0</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=35240882373077000171650010004112441194594623|2|2|3|8D40911388AD28F90084AE3719A34693E143BFC3]]>
			</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=\"#NFe35240882373077000171650010004112441194594623\">
					<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>MXavema7a33mkklhtGM9J06sZG0=</DigestValue>
				</Reference>
			</SignedInfo>
			<SignatureValue>E231EM9ovdpJzgrXNoM0cNxnmrJ11uvRJqlWHtIEZPqYFoCE89vQ/H9ZI2+XjBsaqFzjBzM/Q0MaeACVb8/6pboktVvUc51dFlsc43ZE29btX7USJveK17XOUvZB/vQ3ig7nEnPbiQUI/fJHwUaTyhZx4IUNyOKBp9mHoMIyKcrsMkVcsOBRvz1TW3w5deoLVpcYk3hiqeNzax00wGZqhJqE0kGEyayCmN6By5WkzBvOuJd388R6ZX28a2ABekUVOwv7XlkVon7QhqXm47umON7sR5ksvQ2Op+OKxL8NlzKeTjb4AG6SwRitAJ6XHCMuN9pl3ZTOTmGHdF8e7jB77Q==</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>35240882373077000171650010004112441194594623</chNFe>
			<dhRecbto>2024-08-16T15:17:38-03:00</dhRecbto>
			<nProt>135240002154737</nProt>
			<digVal>MXavema7a33mkklhtGM9J06sZG0=</digVal>
			<cStat>100</cStat>
			<xMotivo>Autorizado o uso da NF-e</xMotivo>
		</infProt>
	</protNFe>
</nfeProc>",
		"invoiceKey": "35240882373077000171650010004112441194594623",
		"qrCode": "https://www.homologacao.nfce.fazenda.sp.gov.br/qrcode?p=35240882373077000171650010004112441194594623|2|2|3|8D40911388AD28F90084AE3719A34693E143BFC3"
	},
	"error": null
}



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

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 *booleanControla se a fatura deve ser gerada no POS
printInvoiceAtPos  *booleanControla se a fatura deve ser impressa no POS
sendInvoiceEmail *booleanControla se a fatura será enviada por e-mail
summaryExtract *boolean

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

customerDocument stringDocumento do cliente. Necessário quando documentInReceipt é true
documentInReceipt  *boolean

Indica se o documento do cliente deve aparecer na fatura

numberPersons numberIndica o número de pessoas associado ao pedido no momento do fechamento
removeServiceFee *booleanIndica se a taxa de serviço deve ser removida do total da conta
methods *arrayLista de métodos de pagamento utilizados para o pedido


  • Estrutura Payment - paymentObject  (dentro de methods):
CampoValorDescrição
currency *stringCódigo da moeda no formato ISO 4217
type *enumTipo 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:

...

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 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": "02990348-9d85-416d-a573-6dc83eee52e7",
    "orderKeyType": "TABLE",
    "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"
		}
	]
}


...


024. JSON enviando 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.

Bloco de código
titleJSON Inválido
linenumberstrue
{
    "integrationHubServiceId": "02990348-9d85-416d-a573-6dc83eee52e7",
    "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": "orderKeyType",
			"message": "body.orderKeyType is 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 correto.03. GUID incorreto 

Bloco de código
titleJSON com o GUID inválido
linenumberstrue
{
    "integrationHubServiceId": "02990348-9d85-416d-a573-6dc83eee52eA",
    "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 Inválido GUID incorreto
linenumberstrue
{
	"errors": [
		{
			"key": "integrationHubServiceId",
			"message": "body.integrationHubServiceId must be a valid GUID"
		}
	]
}


...


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.04. Enviando uma requisição sem informar o código da orderKey corretamente

Bloco de código
titleJSON com sem informar o código da orderKey
linenumberstrue
{
    "integrationHubServiceId": "02990348-9d85-416d-a573-6dc83eee52e7",
    "orderKey": 2,
    "paymentObject": {
        "printOrderAtPos": true,
        "generateInvoice": true,
        "printInvoiceAtPos": true,
        "sendInvoiceEmail": false,
        "summaryExtract": false,
        "customerDocument": null,
        "documentInReceipt": false,
        "numberPersons": 1,
        "removeServiceFee": false,
        "methods": [],
        "orderAmount": 61.0,
        "discounts": 0.00,
        "fees": 6.10,
        "total": 67.10
    }
}

...

Nota
titleNota: HTTP Status Code = 429 - Too Many Requests

Alguma regra para atender ao seu pedido não foi cumprida; analise o corpo da resposta para descobrir as razões.

...




Templatedocumentos