Debt Recovery EMV - MTT/KFT


AmbienteMétodoEndpoint
SandboxPOSThttps://apisandbox.cieloecommerce.cielo.com.br/1/physicalSales/
HomologaçãoPOSThttps://apisandbox.cieloecommerce.cielo.com.br/1/physicalSales/
ProduçãoPOSThttps://api.cieloecommerce.cielo.com.br/1/physicalSales/

Requisição

{
  "MerchantOrderId": "1596226820548",
  "Payment": {
    "SubordinatedMerchantId" : "SubordinatedMerchantId",
    "Type": "PhysicalCreditCard",
    "SoftDescriptor": "Description",
    "PaymentDateTime": "2020-07-31T20:20:20.548Z",
    "Amount": 300,
    "Installments": 1,
    "Interest": "ByMerchant",
    "Capture": true,
    "ProductId": 1,
    "CreditCard": {
      "InputMode": "ContactlessEmv",
      "BrandId": 1,
      "IssuerId": 401,
      "TruncateCardNumberWhenPrinting": true,
      "ExpirationDate": "12/2020",
      "PanSequenceNumber": 1,
      "EmvData": "112233445566778899011AABBC012D3456789E0123FF45678AB901234C5D112233445566778800",
      "TrackOneData": "A1234567890123456^FULANO OLIVEIRA SA ^12345678901234567890123",
      "TrackTwoData": "0123456789012345=012345678901234",
      "AuthenticationMethod": "OnlineAuthentication",
      "PinBlock": {
        "EncryptedPinBlock": "2280F6BDFD0C038D",
        "EncryptionType": "Dukpt3Des",
        "KsnIdentification": "fffff9999900522000d6"
      }
    },
    "PinPadInformation": {
      "TerminalId": "12345678",
      "SerialNumber": "6C651996",
      "PhysicalCharacteristics": "PinPadWithChipReaderWithSamModuleAndContactless",
      "ReturnDataInfo": "00"
    },
    "MassTransit": {
      "IsDebtRecovery": true,
      "IsKnownValue": true,
      "FirstTravelDate": "2018-01-01 04:12"
    }
  }
}

PropriedadeTipoTamanhoObrigatórioDescrição
MerchantOrderIdString15SimNúmero utilizado para identificação da transação. Aceita apenas valores numéricos de 1 a 15 dígitos e não pode ser duplicado.
Payment.SubordinatedMerchantIdString—SimCódigo identificador da loja.
Payment.TypeString—SimValue: PhysicalCreditCard / Tipo da Transação
Payment.SoftDescriptorString13—Identificação do estabelecimento na fatura.
Payment.PaymentDateTimeStringdate-timeSimData e hora da captura da transação
Payment.AmountInteger(int64)—SimValor da transação (1079 = R$10,79)
Payment.InstallmentsInteger——Default: 1. Parcelas de 2 a 99 conforme regras da productTable
Payment.InterestString——

Default: ByMerchant. Enum: ByMerchant, ByIssuer
Tipo de Parcelamento:

Se o bit 6 do atributo confParamOp05, presente nas tabelas issuerTable e binTable e bit 6 do atributo confParamOp03 da tabela productTable estiverem todos habilitados indica que o tipo de parcelamento sem juros pode ser efetuado.

Se o bit 7 do atributo confParamOp05, presente nas tabelas issuerTable e binTable e bit 7 do atributo confParamOp03 da tabela productTable estiverem todos habilitados indica que o tipo de parcelamento com juros pode ser efetuado. Sem juros = “ByMerchant”; Com juros = “ByIssuer”.

Payment.CaptureBooleano——Default: false. Booleano que identifica que a autorização deve ser com captura automática. A autorização sem captura automática é conhecida também como pré-autorização.
Payment.ProductIdInteger—SimCódigo do produto identificado pelo BIN
CreditCard.ExpirationDateStringMM/yyyySimData de validade do cartão.
Dado obtido através do comando PP_GetCard na BC no momento da captura da transação.
CreditCard.BrandIdInteger—SimBandeira (PRODUCT TABLE)
CreditCard.IssuerIdInteger—SimCódigo do Emissor (BIN TABLE)
CreditCard.InputModeString—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.

CreditCard.AuthenticationMethodString—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”.

CreditCard.EmvDataString——Dados EMV obtidos via PP_GoOnChip
PinBlock.EncryptedPinBlockString—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().
Somente obrigatório nos casos de captura de senha online.

PinBlock.EncryptionTypeString—SimTipo de Criptografia
Enum:
“DukptDes”
“Dukpt3Des”
“MasterKey”
Somente obrigatório nos casos de captura de senha online.
PinBlock.KsnIdentificationString—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().
Somente obrigatório nos casos de captura de senha online.

CreditCard.PanSequenceNumberNumber——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).
CreditCard.SaveCardBooleano——Indica tokenização
CreditCard.IsFallbackBooleano——Indica fallback
PinPadInformation.TerminalIdString—SimNúmero lógico Cielo
PinPadInformation.SerialNumberString20SimNúmero de série
PinPadInformation.PhysicalCharacteristicsString—SimEnum: WithoutPinPad PinPadWithoutChipReader PinPadWithChipReaderWithoutSamModule PinPadWithChipReaderWithSamModule NotCertifiedPinPad PinPadWithChipReaderWithoutSamAndContactless PinPadWithChipReaderWithSamModuleAndContactless
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.ReturnDataInfoString—SimRetorno do PP_GetInfo
MassTransit.FirstTravelDateStringdate-timeSimData da primeira viagem
MassTransit.IsKnownValueBooleano—SimIndica valor conhecido
MassTransit.PaymentIdString—SimIdentificador do pagamento
MassTransit.IsDebtRecoveryBooleano—SimIndica recuperação de pagamento

Resposta

{
  "MerchantOrderId": "1593196287377",
  "Customer": {
    "Name": "[Guest]"
  },
  "Payment": {
    "Installments": 1,
    "Interest": "ByMerchant",
    "Capture": true,
    "CreditCard": {
      "ExpirationDate": "12/2021",
      "BrandId": 1,
      "IssuerId": 401,
      "TruncateCardNumberWhenPrinting": true,
      "InputMode": "ContactlessEmv",
      "AuthenticationMethod": "OnlineAuthentication",
      "TrackOneData": "B3764 361234 56006^NOME NOME NOME NOME NOME N^0905060640431",
      "TrackTwoData": "1111222233334444=09050606404312376450",
      "EmvData": "",
      "IsFallback": false,
      "PinBlock": {
        "EncryptedPinBlock": "2280F6BDFD0C038D",
        "EncryptionType": "Dukpt3Des",
        "KsnIdentification": "fffff9999900522000d6"
      },
      "BrandInformation": {
        "Type": "c?s?jue?qz",
        "Name": "h?mbs{zxcc",
        "Description": "aleegncacoiqxl?qyc"
      },
      "SaveCard": false
    },
    "Amount": 300,
    "ReceivedDate": "2020-06-26T18:31:27Z",
    "CapturedAmount": 300,
    "CapturedDate": "2020-06-26T18:31:27Z",
    "Provider": "Cielo",
    "Status": 2,
    "IsSplitted": false,
    "ReturnMessage": "APROVADA 382242",
    "ReturnCode": "000",
    "PaymentId": "6a9e8136-3d63-4f60-8a23-394782c485e3",
    "Type": "PhysicalCreditCard",
    "Currency": "BRL",
    "Country": "BRA",
    "Links": [
      {
        "Method": "GET",
        "Rel": "self",
        "Href": "https://apiquerysandbox.cieloecommerce.cielo.com.br/1/physicalSales/6a9e8136-3d63-4f60-8a23-394782c485e3"
      },
      {
        "Method": "PUT",
        "Rel": "confirm",
        "Href": "https://apisandbox.cieloecommerce.cielo.com.br/1/physicalSales/6a9e8136-3d63-4f60-8a23-394782c485e3/confirmation"
      },
      {
        "Method": "DELETE",
        "Rel": "reverse",
        "Href": "https://apisandbox.cieloecommerce.cielo.com.br/1/physicalSales/6a9e8136-3d63-4f60-8a23-394782c485e3"
      }
    ],
    "PaymentDateTime": "2020-06-26T18:31:27.377Z",
    "ServiceTaxAmount": 0,
    "SoftDescriptor": "Description",
    "ProductId": 1,
    "PinPadInformation": {
      "TerminalId": "42004558",
      "SerialNumber": "6C651996",
      "PhysicalCharacteristics": "PinPadWithChipReaderWithSamModuleAndContactless",
      "ReturnDataInfo": "00"
    },
    "PrintMessage": [
      {
        "Position": "Top",
        "Message": "f??nzfbgks"
      },
      {
        "Position": "Middle",
        "Message": "s?kn?fcemf"
      },
      {
        "Position": "Bottom",
        "Message": "}zk}zet|?l"
      }
    ],
    "ReceiptInformation": [
      {
        "Field": "MERCHANT_NAME",
        "Label": "NOME DO ESTABELECIMENTO",
        "Content": "gtevvj~a?otlubavsxm"
      },
      {
        "Field": "MERCHANT_CITY",
        "Label": "CIDADE DO ESTABELECIMENTO",
        "Content": "??dors|yk?elu"
      },
      {
        "Field": "INPUT_METHOD",
        "Label": "MODO DE ENTRADA",
        "Content": "?uhtrrrc~pe?rudlt?l}c?|w?phds|v"
      },
      {
        "Field": "TERMINAL",
        "Label": "POS",
        "Content": "54206393"
      },
      {
        "Field": "ISSUER_NAME",
        "Label": "EMISSOR",
        "Content": "qpqm?pf{kpefzfu{"
      },
      {
        "Field": "NSU",
        "Label": "DOC",
        "Content": "729860"
      },
      {
        "Field": "MERCHANT_CODE",
        "Label": "COD.ESTAB.",
        "Content": "03388928143200"
      },
      {
        "Field": "MERCHANT_ADDRESS",
        "Label": "ENDEREÇO DO ESTABELECIMENTO",
        "Content": "hqqdy|fxb?ltdakwm{c?vjj??w?nxwo?nltm"
      },
      {
        "Field": "AUTHORIZATION_CODE",
        "Label": "AUTORIZAÇÃO",
        "Content": "76715"
      },
      {
        "Field": "CARD_HOLDER",
        "Label": "NOME DO CLIENTE",
        "Content": "~zm?wfk|ecbn?~cdb{xyvba?g?mankfa?"
      },
      {
        "Field": "TRANSACTION_TYPE",
        "Label": "TIPO DE TRANSAÇÃO",
        "Content": "?kx|uh?p??cohiakmvgcm??cmucjl"
      },
      {
        "Field": "MERCHANT_STATE",
        "Label": "ESTADO DO ESTABELECIMENTO",
        "Content": "xo"
      },
      {
        "Field": "DATE",
        "Label": "DATA",
        "Content": "6/26/2020"
      },
      {
        "Field": "HOUR",
        "Label": "HORA",
        "Content": "3:31 PM"
      },
      {
        "Field": "VALUE",
        "Label": "VALOR",
        "Content": "300"
      },
      {
        "Field": "TRANSACTION_MODE",
        "Label": "MODO DA TRANSAÇÃO",
        "Content": "prt"
      },
      {
        "Field": "CARD_NUMBER",
        "Label": "CARTÃO"
      }
    ],
    "Receipt": {
      "MerchantName": "gtevvj~a?otlubavsxmhxmfetnpcct?k?m",
      "MerchantCity": "??dors|yk?eluwv{?h",
      "InputMethod": "?uhtrrrc~pe?rudlt?l}c?|w?phds|vyv{nj?wrpe",
      "Terminal": "54206393",
      "IssuerName": "qpqm?pf{kpefzfu??u~ftpssck|o??a|??b",
      "Nsu": "729860",
      "MerchantCode": "03388928143200",
      "MerchantAddress": "hqqdy|fxb?ltdakwm{c?vjj??w?nxwo?nltm|?g?",
      "AuthorizationCode": "76715",
      "CardHolder": "~zm?wfk|ecbn?~cdb{xyvba?g?mankfa??{|~?",
      "TransactionType": "?kx|uh?p??cohiakmvgcm??cmucjlcg{xmyrwvjyecefi?",
      "MerchantState": "xo",
      "Date": "6/26/2020",
      "Hour": "3:31 PM",
      "Value": "300",
      "TransactionMode": "prt",
      "CardNumber": null
    },
    "AuthorizationCode": "382242",
    "ProofOfSale": "876502",
    "InitializationVersion": 1593196200000,
    "ConfirmationStatus": 0,
    "EmvResponseData": "290293329",
    "SubordinatedMerchantId": "b99a463f-88db-442a-b5fa-982187b68f5c",
    "MassTransit": {
      "IsDebtRecovery": true,
      "IsKnownValue": true,
      "FirstTravelDate": "2018-01-01T04:12:00"
    },
    "OfflinePaymentType": "Online"
  }
}

PropriedadeTipoTamanhoObrigatórioDescrição
MerchantOrderIdString15SimNúmero utilizado para identificação da transação e 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. Caso não seja informada uma data via parâmetro, o sistema irá considerar automaticamente a data atual.
Customer.NameString———
Customer.Identity————
Customer.IdentityType————
Customer.Email————
Customer.Birthday————
Address.StreetString———
Address.NumberString———
Address.ComplementString———
Address.ZipCodeString———
Address.CityString———
Address.StateString———
Address.CountryString———
DeliveryAddress.StreetString———
DeliveryAddress.NumberString———
DeliveryAddress.ComplementString———
DeliveryAddress.ZipCodeString———
DeliveryAddress.CityString———
DeliveryAddress.StateString———
DeliveryAddress.CountryString———
Payment.InstallmentsInteger——Default: 1 / Quantidade de Parcelas: Varia de 2 a 99 para transação de financiamento. Deve ser verificado os atributos maxOfPayments1, maxOfPayments2, maxOfPayments3 e minValOfPayments da tabela productTable.
Payment.InterestString——Default: ByMerchant
Enum: ByMerchant ByIssuer
Tipo de Parcelamento:
Se o bit 6 do atributo confParamOp05, presente nas tabelas issuerTable e binTable e bit 6 do atributo confParamOp03 da tabela productTable estiverem todos habilitados indica que o tipo de parcelamento sem juros pode ser efetuado.
Se o bit 7 do atributo confParamOp05, presente nas tabelas issuerTable e binTable e bit 7 do atributo confParamOp03 da tabela productTable estiverem todos habilitados indica que o tipo de parcelamento com juros pode ser efetuado.
Sem juros = “ByMerchant”;
Com juros = “ByIssuer”.
Payment.CaptureBooleano——Default: false / Define captura automática ou pré-autorização
CreditCard.ExpirationDateStringMM/yyyySimData de validade do cartão obtida via PP_GetCard
CreditCard.BrandIdInteger—SimIdentificação da bandeira (PRODUCT TABLE)
CreditCard.IssuerIdInteger—SimCódigo do emissor (BIN TABLE)
CreditCard.TruncateCardNumberWhenPrintingBooleano——Indica truncamento do cartão na impressão conforme configurações
CreditCard.InputModeString—SimEnum: 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.
CreditCard.AuthenticationMethodString—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”.

CreditCard.EmvDataString——Dados da transação EMV obtidos via PP_GoOnChip
PinBlock.EncryptedPinBlock———
PinBlock.EncryptionTypeString——
PinBlock.KsnIdentificationString——
CreditCard.PanSequenceNumberNumber——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).
CreditCard.SaveCard————
CreditCard.IsFallback————
Payment.PaymentDateTimeStringdate-timeSimData e hora da captura da transação
Payment.ServiceTaxAmount————
Payment.SoftDescriptorString13—Identificação do estabelecimento com nome reduzido na fatura
Payment.ProductIdInteger—SimCódigo do produto via BIN
PinPadInformation.TerminalIdString—SimNúmero lógico Cielo
PinPadInformation.SerialNumberString20SimNúmero de série do equipamento
PinPadInformation.PhysicalCharacteristicsString—SimEnum: WithoutPinPad PinPadWithoutChipReader PinPadWithChipReaderWithoutSamModule PinPadWithChipReaderWithSamModule NotCertifiedPinPad PinPadWithChipReaderWithoutSamAndContactless 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.ReturnDataInfoString—SimRetorno da função PP_GetInfo
Payment.AmountInteger(int64)—SimValor da transação (ex: 1079 = R$10,79)
Payment.ReceivedDate————
Payment.CapturedAmount————
Payment.ProviderString———
Payment.ConfirmationStatus————
Payment.InitializationVersion————
Payment.EmvResponseData————
Payment.Status————
Payment.IsSplittedBooleano———
Payment.ReturnCode————
Payment.ReturnMessageString———
Payment.PaymentId————
Payment.TypeString—SimValue: PhysicalCreditCard
Payment.CurrencyString——Default: “BRL” / Value: “BRL” / Moeda (Preencher com “BRL”)
Payment.CountryString——Default: “BRA” / Value: “BRA” / País (Preencher com “BRA”)
Payment.Receipt.MerchantNameString255SimNome da loja
Payment.Receipt.MerchantAddressString255SimEndereço da loja
Payment.Receipt.MerchantCityString255SimCidade
Payment.Receipt.MerchantStateString2SimEstado
Payment.Receipt.MerchantCodeString16SimCódigo da loja
Payment.Receipt.TerminalString8SimTerminal
Payment.Receipt.NsuString6SimNúmero da transação
Payment.Receipt.DateStringdd/MM/yySimData
Payment.Receipt.HourStringHH:mmSimHora
Payment.Receipt.IssuerNameString255SimNome do emissor obtido através do campo IssuerId no objeto BinEntry.
Payment.Receipt.CardHolderString255NãoNome do titular
Payment.Receipt.CardNumberString19SimNúmero do cartão
Payment.Receipt.BrandString255SimBandeira
Payment.Receipt.TransactionTypeString255SimTipo
Payment.Receipt.AuthorizationCodeString6SimCódigo autorização
Payment.Receipt.TransactionModeString3SimModo
Payment.Receipt.InputMethodString1SimMétodo de entrada
Payment.Receipt.ValueString15SimValor
Payment.Receipt.SoftDescriptorString13NãoIdentificação do estabelecimento (nome reduzido) a ser impresso e identificado na fatura.
RecurrentPayment.RecurrentPaymentId————
RecurrentPayment.ReasonCode————
RecurrentPayment.ReasonMessage————
RecurrentPayment.NextRecurrency————
RecurrentPayment.EndDate————
RecurrentPayment.Interval————
SplitPayments.SubordinateMerchantId————
SplitPayments.Amount————
SplitPayments.Fares.Mdr————
SplitPayments.Fares.Fee————
SplitErrors.Code————
SplitErrors.Message————