| Ambiente | Método | Endpoint |
|---|---|---|
| Sandbox | POST | https://apisandbox.cieloecommerce.cielo.com.br/1/physicalSales/ |
| Homologação | POST | https://apisandbox.cieloecommerce.cielo.com.br/1/physicalSales/ |
| Produção | POST | https://api.cieloecommerce.cielo.com.br/1/physicalSales/ |
Requisição
{
"MerchantOrderId": "123456789123456",
"Payment": {
"SubordinatedMerchantId": "",
"Type": "PhysicalDebitCard",
"SoftDescriptor": "Teste API",
"PaymentDateTime": "2024-06-17T19:11:08.633Z",
"Amount": 100,
"Installments": 1,
"Interest": "ByMerchant",
"Capture": true,
"ProductId": 81,
"DebitCard": {
"InputMode": "ContactlessEmv",
"BrandId": 2,
"IssuerId": 2580,
"TruncateCardNumberWhenPrinting": true,
"ExpirationDate": "12/2024",
"PanSequenceNumber": 1,
"SaveCard": true,
"EmvData": "9F02060000000001009F1A020076950542404010005F2A0209869A03210326820258009F360200679F10120110A50009040400000000000000000000FF9F2608CE1ED9360CB156559F2701805F340101",
"TrackTwoData": "330E071786E911D011292DC23218F5B588D5B0D42802D374",
"EncryptedCardData": {
"EncryptionType": "Dukpt3DesCBC",
"InitializationVector": "0000000000000000",
"TrackTwoDataKSN": "FFFFF99995C18C800078"
},
"AuthenticationMethod": "OfflineAuthentication",
"PinBlock": {
"EncryptedPinBlock": "7CB144F68A450B07",
"EncryptionType": "Dukpt3Des",
"KsnIdentification": "FFFFF99999C19FC00051"
}
},
"PinPadInformation": {
"TerminalId": "00000001",
"SerialNumber": "6C651996",
"PhysicalCharacteristics": "PinPadWithChipReaderWithSamModuleAndContactless",
"ReturnDataInfo": "00"
}
}
}| Propriedade | Tipo | Tamanho | Obrigatório | Descrição |
|---|---|---|---|---|
| MerchantOrderId | String | 15 | Sim | Número utilizado para identificação da transação e que deve ser gerado pela aplicação integrada com o Conecta. Aceita apenas valores numéricos de 1 a 15 dígitos e não pode ser duplicado. |
| Payment.SubordinatedMerchantId | String | — | Sim | Código identificador da loja. |
| Payment.Type | String | — | Sim | Value: PhysicalCreditCard / Tipo da Transação |
| Payment.SoftDescriptor | String | 13 | — | Identificação do estabelecimento (nome reduzido) a ser impresso e identificado na fatura. |
| Payment.PaymentDateTime | String | date-time | Sim | Data e Hora da captura da transação |
| Payment.Amount | Integer(int64) | — | Sim | Valor da transação (1079 = R$10,79) |
| Payment.ProductId | Integer | — | Sim | Código do produto identificado através do bin do cartão. |
| DebitCard.ExpirationDate | String | MM/yyyy | Sim | Data de validade do cartão. Dado obtido através do comando PP_GetCard na BC no momento da captura da transação. |
| DebitCard.BrandId | Integer | — | Sim | Identificação da bandeira obtida através do campo BrandId da PRODUCT TABLE. |
| DebitCard.IssuerId | Integer | — | Sim | Código do emissor obtido através do campo IssuerId da BIN TABLE. |
| DebitCard.InputMode | String | — | Sim | Enum: Typed MagStripe Emv Identificação do modo de captura do cartão na transação. Essa informação deve ser obtida através do retorno da função PP_GetCard da BC. “00” – Magnético “01” - Moedeiro VISA Cash sobre TIBC v1 “02” - Moedeiro VISA Cash sobre TIBC v3 “03” – EMV com contato “04” - Easy-Entry sobre TIBC v1 “05” - Chip sem contato simulando tarja “06” - EMV sem contato. |
| DebitCard.AuthenticationMethod | String | — | Sim | Enum: NoPassword OnlineAuthentication OfflineAuthentication Método de autenticação - Se o cartão foi lido a partir da digitação verificar o bit 3 do atributo confParamOp04 das tabelas binTable, parameterTable e issuerTable. Se todos estiverem habilitados, a senha deve ser capturada e o authenticationMethod assume valor 2. Caso contrário, assume valor 1; - Se o cartão foi lido a partir da trilha verificar o bit 3 do atributo confParamOp04 das tabelas binTable, parameterTable e issuerTable. Se todos estiverem habilitados, deve ser verificado o bit 2 do mesmo campo. Se este estiver com valor 1 deve ser capturada a senha. Se estiver com valor 0 a captura da senha vai depender do último dígito do service code; - Se o cartão foi lido através do chip EMV, o authenticationMethod será preenchido com base no retorno da função PP_GoOnChip(). No resultado PP_GoOnChip(), onde se o campo da posição 003 do retorno da PP_GoOnChip() estiver com valor 1 indica que o pin foi validado off-line, o authenticationMethod será 3. Se o campo da posição 003 e o campo da posição 006 do retorno da PP_GoOnChip() estiverem com valor 0, o authenticationMethod será 1. Se o campo da posição 003 e o campo da posição 006 do retorno da PP_GoOnChip() estiverem com valores 0 e 1 respectivamente, o authenticationMethod será 2. 1 - Sem senha = “NoPassword”; 2 - Senha online = “Online Authentication”; 3 - Senha off-line = “Offline Authentication”. |
| DebitCard.EmvData | String | — | — | O conteúdo de tags enviado no EMVData deve corresponder ao conjunto indicado no TagsFirst na tabela de EMV. Dados obtidos através do comando PP_GoOnChip na BC |
| PinBlock.EncryptedPinBlock | String | — | Sim | PINBlock Criptografado - Para transações EMV, esse campo é obtido através do retorno da função PP_GoOnChip(), mais especificamente das posições 007 até a posição 022; - Para transações digitadas e com tarja magnética, verificar as posições 001 até 016 do retorno da função PP_GetPin(). |
| PinBlock.EncryptionType | String | — | Sim | Tipo de Criptografia Enum: “DukptDes” “Dukpt3Des” “MasterKey” |
| PinBlock.KsnIdentification | String | — | Sim | Identificação do KSN - Para transações EMV esse campo é obtido através do retorno da função PP_GoOnChip() nas posições 023 até 042; - Para transações digitadas e com tarja magnética, verificar as posições 017 até 036 do retorno da função PP_GetPin(). |
| DebitCard.PanSequenceNumber | Number | — | — | Número sequencial do cartão, utilizado para identificar a conta corrente do cartão adicional. Mandatório para transações com cartões Chip EMV e que possuam PAN Sequence Number (Tag 5F34). |
| DebitrCard.SaveCard | Booleano | — | — | Identifica se vai salvar/tokenizar o cartão. |
| DebitCard.IsFallback | Booleano | — | — | Identifica se é uma transação de fallback. |
| Payment.DebitCard.EncryptedCardData.EncryptionType | String | — | Sim | Tipo de encriptação utilizada Enum: “DukptDes” = 1, “MasterKey” = 2 “Dukpt3Des” = 3, “Dukpt3DesCBC = 4 |
| Payment.DebitCard.EncryptedCardData.CardNumberKSN | String | — | Sim | Identificador KSN da criptografia do número do cartão |
| Payment.DebitCard.EncryptedCardData.IsDataInTLVFormat | Bool | — | Não | Identifica se os dados criptografados estão no formato TLV (tag / length / value). |
| Payment.DebitCard.EncryptedCardData.InitializationVector | String | — | Sim | Vetor de inicialização da encriptação |
| PinPadInformation.TerminalId | String | — | Sim | Número Lógico definido no Concentrador Cielo. |
| PinPadInformation.SerialNumber | String | 20 | Sim | Número de Série do Equipamento. |
| PinPadInformation.PhysicalCharacteristics | String | — | Sim | Enum: WithoutPinPad PinPadWithoutChipReader PinPadWithChipReaderWithoutSamModule PinPadWithChipReaderWithSamModule NotCertifiedPinPad PinPadWithChipReaderWithoutSamAndContactless PinPadWithChipReaderWithSamModuleAndContactless Sem PIN-pad = WithoutPinPad; PIN-pad sem leitor de Chip = PinpadWithoutChipReader; PIN-pad com leitor de Chip sem módulo SAM = PinPadWithChipReaderWithoutSamModule; PIN-pad com leitor de Chip com módulo SAM = PinPadWithChipReaderWithSamModule; PIN-pad não homologado = NotCertifiedPinPad; PIN-pad com leitor de Chip sem SAM e Cartão Sem Contato = PinpadWithChipReaderWithoutSamAndContactless; PIN-pad com leitor de Chip com SAM e Cartão Sem Contato = PinpadWithChipReaderWithSamModuleAndContactless. Obs. Caso a aplicação não consiga informar os dados acima, deve obter tais informações através do retorno da função PP_GetInfo() da BC. |
| PinPadInformation.ReturnDataInfo | String | — | Sim | Retorno da função PP_GetInfo() da biblioteca compartilhada |
Resposta
{
"MerchantOrderId": "123456789123456",
"Customer": {
"Name": "[Guest]"
},
"Payment": {
"DebitCard": {
"ExpirationDate": "12/2024",
"BrandId": 2,
"IssuerId": 2580,
"TruncateCardNumberWhenPrinting": true,
"PanSequenceNumber": 1,
"InputMode": "ContactlessEmv",
"AuthenticationMethod": "OfflineAuthentication",
"TrackTwoData": "************************************************",
"EmvData": "****************************************************************************************************************************************************************",
"IsFallback": false,
"PinBlock": {
"EncryptedPinBlock": "7CB144F68A450B07",
"EncryptionType": "Dukpt3Des",
"KsnIdentification": "FFFFF99999C19FC00051"
},
"BrandInformation": {
"Type": "VENDA A DEBITO",
"Name": "MASTERCARD"
},
"SaveCard": true,
"CardToken": "001be7bc-4c45-421e-8467-51d641d4dfe2",
"EncryptedCardData": {
"EncryptionType": 4,
"TrackTwoDataKSN": "FFFFF99995C18C800078",
"InitializationVector": "0000000000000000",
"IsDataInTLVFormat": false
}
},
"Amount": 100,
"ReceivedDate": "2024-06-17T19:24:45Z",
"CapturedAmount": 100,
"CapturedDate": "2024-06-17T19:24:47Z",
"Provider": "Cielo",
"Status": 2,
"PhysicalTransactionStatus": 2,
"IsSplitted": false,
"ReturnMessage": "APROVADA 692557",
"ReturnCode": "000",
"PaymentId": "3771025e-b1fe-410f-9456-830a07d24c20",
"Type": "PhysicalDebitCard",
"Currency": "BRL",
"Country": "BRA",
"Links": [
{
"Method": "GET",
"Rel": "self",
"Href": "https://apiquerysandbox.cieloecommerce.cielo.com.br/1/physicalSales/3771025e-b1fe-410f-9456-830a07d24c20"
},
{
"Method": "PUT",
"Rel": "confirm",
"Href": "https://apisandbox.cieloecommerce.cielo.com.br/1/physicalSales/3771025e-b1fe-410f-9456-830a07d24c20/confirmation"
},
{
"Method": "DELETE",
"Rel": "reverse",
"Href": "https://apisandbox.cieloecommerce.cielo.com.br/1/physicalSales/3771025e-b1fe-410f-9456-830a07d24c20"
}
],
"PaymentDateTime": "2024-06-17T16:24:47.228Z",
"ServiceTaxAmount": 0,
"SoftDescriptor": "Description",
"ProductId": 81,
"PinPadInformation": {
"TerminalId": "00000001",
"SerialNumber": "6C651996",
"PhysicalCharacteristics": "PinPadWithChipReaderWithSamModuleAndContactless",
"ReturnDataInfo": "00"
},
"PrintMessage": [],
"ReceiptInformation": [
{
"Field": "MERCHANT_NAME",
"Label": "NOME DO ESTABELECIMENTO",
"Content": "Loja Teste"
},
{
"Field": "MERCHANT_ADDRESS",
"Label": "ENDEREÇO DO ESTABELECIMENTO",
"Content": "Alameda Xingu, 512"
},
{
"Field": "MERCHANT_CITY",
"Label": "CIDADE DO ESTABELECIMENTO",
"Content": "BARUERI"
},
{
"Field": "MERCHANT_STATE",
"Label": "ESTADO DO ESTABELECIMENTO",
"Content": "SP"
},
{
"Field": "MERCHANT_CODE",
"Label": "COD.ESTAB.",
"Content": "0023137897509300"
},
{
"Field": "TERMINAL",
"Label": "POS",
"Content": "41789750"
},
{
"Field": "NSU",
"Label": "DOC",
"Content": "466603"
},
{
"Field": "DATE",
"Label": "DATA",
"Content": "17/06/24"
},
{
"Field": "HOUR",
"Label": "HORA",
"Content": "16:24"
},
{
"Field": "ISSUER_NAME",
"Label": "EMISSOR",
"Content": "CIELO#MAESTRO"
},
{
"Field": "CARD_NUMBER",
"Label": "CARTÃO",
"Content": "679999-0675"
},
{
"Field": "BRAND",
"Label": "BANDEIRA",
"Content": "MASTERCARD"
},
{
"Field": "TRANSACTION_TYPE",
"Label": "TIPO DE TRANSAÇÃO",
"Content": "VENDA A DEBITO"
},
{
"Field": "AUTHORIZATION_CODE",
"Label": "AUTORIZAÇÃO",
"Content": "692557"
},
{
"Field": "TRANSACTION_MODE",
"Label": "MODO DA TRANSAÇÃO",
"Content": "ONL"
},
{
"Field": "INPUT_METHOD",
"Label": "MODO DE ENTRADA",
"Content": "L"
},
{
"Field": "CPF_CNPJ",
"Label": "CPF OU CNPJ",
"Content": "39086000000191"
},
{
"Field": "VALUE",
"Label": "VALOR",
"Content": "1,00"
},
{
"Field": "SOFT_DESCRIPTOR",
"Label": "SOFT DESCRIPTOR",
"Content": "Teste API"
}
],
"Receipt": {
"MerchantName": "Loja Teste",
"MerchantAddress": "Alameda Xingu, 512",
"MerchantCity": "BARUERI",
"MerchantState": "SP",
"MerchantCode": "0023137897509300",
"Terminal": "41789750",
"Nsu": "466603",
"Date": "17/06/24",
"Hour": "16:24",
"IssuerName": "CIELO#MAESTRO",
"CardNumber": "679999-0675",
"Brand": "MASTERCARD",
"TransactionType": "VENDA A DEBITO",
"AuthorizationCode": "692557",
"TransactionMode": "ONL",
"InputMethod": "L",
"CpfCnpj": "39086000000191",
"Value": "1,00",
"SoftDescriptor": "Teste API"
},
"AuthorizationCode": "692557",
"ProofOfSale": "466603",
"InitializationVersion": 1706281922101,
"ConfirmationStatus": 0,
"EmvResponseData": "910a06914947a83851710012",
"SubordinatedMerchantId": "76b17b15-cd71-4226-a60b-0d95397e929a",
"OfflinePaymentType": "Online",
"MerchantAcquirerId": "0023137897509300",
"TerminalAcquirerId": "41789750"
}
}| Propriedade | Tipo | Tamanho | Obrigatório | Descrição |
|---|---|---|---|---|
| MerchantOrderId | String | 15 | Sim | Número utilizado para identificação da transação e que deve ser gerado pela aplicação integrada com o Conecta. Aceita apenas valores numéricos de 1 a 15 dígitos e não pode ser duplicado. |
| Payment.SubordinatedMerchantId | String | — | Sim | Código identificador da loja. |
| Payment.Type | String | — | Sim | Value: PhysicalCreditCard / Tipo da Transação |
| Payment.SoftDescriptor | String | 13 | — | Identificação do estabelecimento (nome reduzido) a ser impresso e identificado na fatura. |
| Payment.PaymentDateTime | String | date-time | Sim | Data e Hora da captura da transação |
| Payment.Amount | Integer(int64) | — | Sim | Valor da transação (1079 = R$10,79) |
| Payment.ProductId | Integer | — | Sim | Código do produto identificado através do bin do cartão. |
| DebitCard.ExpirationDate | String | MM/yyyy | Sim | Data de validade do cartão. Dado obtido através do comando PP_GetCard na BC no momento da captura da transação. |
| DebitCard.BrandId | Integer | — | Sim | Identificação da bandeira obtida através do campo BrandId da PRODUCT TABLE. |
| DebitCard.IssuerId | Integer | — | Sim | Código do emissor obtido através do campo IssuerId da BIN TABLE. |
| DebitCard.InputMode | String | — | Sim | Enum: Typed MagStripe Emv Identificação do modo de captura do cartão na transação. Essa informação deve ser obtida através do retorno da função PP_GetCard da BC. “00” – Magnético “01” - Moedeiro VISA Cash sobre TIBC v1 “02” - Moedeiro VISA Cash sobre TIBC v3 “03” – EMV com contato “04” - Easy-Entry sobre TIBC v1 “05” - Chip sem contato simulando tarja “06” - EMV sem contato. |
| DebitCard.AuthenticationMethod | String | — | Sim | Enum: NoPassword OnlineAuthentication OfflineAuthentication Método de autenticação - Se o cartão foi lido a partir da digitação verificar o bit 3 do atributo confParamOp04 das tabelas binTable, parameterTable e issuerTable. Se todos estiverem habilitados, a senha deve ser capturada e o authenticationMethod assume valor 2. Caso contrário, assume valor 1; - Se o cartão foi lido a partir da trilha verificar o bit 3 do atributo confParamOp04 das tabelas binTable, parameterTable e issuerTable. Se todos estiverem habilitados, deve ser verificado o bit 2 do mesmo campo. Se este estiver com valor 1 deve ser capturada a senha. Se estiver com valor 0 a captura da senha vai depender do último dígito do service code; - Se o cartão foi lido através do chip EMV, o authenticationMethod será preenchido com base no retorno da função PP_GoOnChip(). No resultado PP_GoOnChip(), onde se o campo da posição 003 do retorno da PP_GoOnChip() estiver com valor 1 indica que o pin foi validado off-line, o authenticationMethod será 3. Se o campo da posição 003 e o campo da posição 006 do retorno da PP_GoOnChip() estiverem com valor 0, o authenticationMethod será 1. Se o campo da posição 003 e o campo da posição 006 do retorno da PP_GoOnChip() estiverem com valores 0 e 1 respectivamente, o authenticationMethod será 2. 1 - Sem senha = “NoPassword”; 2 - Senha online = “Online Authentication”; 3 - Senha off-line = “Offline Authentication”. |
| DebitCard.EmvData | String | — | — | O conteúdo de tags enviado no EMVData deve corresponder ao conjunto indicado no TagsFirst na tabela de EMV. Dados obtidos através do comando PP_GoOnChip na BC |
| PinBlock.EncryptedPinBlock | String | — | Sim | PINBlock Criptografado - Para transações EMV, esse campo é obtido através do retorno da função PP_GoOnChip(), mais especificamente das posições 007 até a posição 022; - Para transações digitadas e com tarja magnética, verificar as posições 001 até 016 do retorno da função PP_GetPin(). |
| PinBlock.EncryptionType | String | — | Sim | Tipo de Criptografia Enum: “DukptDes” “Dukpt3Des” “MasterKey” |
| PinBlock.KsnIdentification | String | — | Sim | Identificação do KSN - Para transações EMV esse campo é obtido através do retorno da função PP_GoOnChip() nas posições 023 até 042; - Para transações digitadas e com tarja magnética, verificar as posições 017 até 036 do retorno da função PP_GetPin(). |
| DebitCard.PanSequenceNumber | Number | — | — | Número sequencial do cartão, utilizado para identificar a conta corrente do cartão adicional. Mandatório para transações com cartões Chip EMV e que possuam PAN Sequence Number (Tag 5F34). |
| DebitrCard.SaveCard | Booleano | — | — | Identifica se vai salvar/tokenizar o cartão. |
| DebitCard.IsFallback | Booleano | — | — | Identifica se é uma transação de fallback. |
| Payment.DebitCard.EncryptedCardData.EncryptionType | String | — | Sim | Tipo de encriptação utilizada Enum: “DukptDes” = 1, “MasterKey” = 2 “Dukpt3Des” = 3, “Dukpt3DesCBC = 4 |
| Payment.DebitCard.EncryptedCardData.CardNumberKSN | String | — | Sim | Identificador KSN da criptografia do número do cartão |
| Payment.DebitCard.EncryptedCardData.IsDataInTLVFormat | Bool | — | Não | Identifica se os dados criptografados estão no formato TLV (tag / length / value). |
| Payment.DebitCard.EncryptedCardData.InitializationVector | String | — | Sim | Vetor de inicialização da encriptação |
| PinPadInformation.TerminalId | String | — | Sim | Número Lógico definido no Concentrador Cielo. |
| PinPadInformation.SerialNumber | String | 20 | Sim | Número de Série do Equipamento. |
| PinPadInformation.PhysicalCharacteristics | String | — | Sim | Enum: WithoutPinPad PinPadWithoutChipReader PinPadWithChipReaderWithoutSamModule PinPadWithChipReaderWithSamModule NotCertifiedPinPad PinPadWithChipReaderWithoutSamAndContactless PinPadWithChipReaderWithSamModuleAndContactless Sem PIN-pad = WithoutPinPad; PIN-pad sem leitor de Chip = PinpadWithoutChipReader; PIN-pad com leitor de Chip sem módulo SAM = PinPadWithChipReaderWithoutSamModule; PIN-pad com leitor de Chip com módulo SAM = PinPadWithChipReaderWithSamModule; PIN-pad não homologado = NotCertifiedPinPad; PIN-pad com leitor de Chip sem SAM e Cartão Sem Contato = PinpadWithChipReaderWithoutSamAndContactless; PIN-pad com leitor de Chip com SAM e Cartão Sem Contato = PinpadWithChipReaderWithSamModuleAndContactless. Obs. Caso a aplicação não consiga informar os dados acima, deve obter tais informações através do retorno da função PP_GetInfo() da BC. |
| PinPadInformation.ReturnDataInfo | String | — | Sim | Retorno da função PP_GetInfo() da biblioteca compartilhada |