Pagamento - Rota transacional
Rota direcionada a autorização de pagamentos, deve ser chamada uma vez para cada transação realizada, juntamente do payload dedicado ao tipo de pagamento desejado.
Exemplo:
POST - localhost:8001/api/Pay
Exemplo de request:
{
"amount": 10, // number,
"hasAlcoholicDrink": false, // boolean,
"installment": {
"number": 0,//number
"type": 0 //number
},
"accountType":"debit" //string
}
{
"amount": 0, // number,
"hasAlcoholicDrink": false, // boolean,
"installment": {
"number": 1,//number
"type": 1 //number
},
"accountType":"credit" //string
}
{
"amount": 0, // number,
"hasAlcoholicDrink": false, // boolean,
"installment": {
"number": 2,//number
"type":2 //number
},
"accountType":"credit" //string
}
{
"amount": 0, // number,
"hasAlcoholicDrink": false, // boolean,
"installment": {
"number": 2,//number
"type":3 //number
},
"accountType":"credit" //string
}
Tags da Mensagem de request
Campo | Tipo | Observação |
---|---|---|
amount | float | Valor de captura do pagamento - Valor da Transação |
accountType | String | Undefined: - deixa a definição de tipo de transação para o usuário escolher no pinpad; Debit: define a transação para Débito/Voucher; Credit: define a transação para Crédito; |
installment | Object | Objeto que configura os valores de transações Parceladas. |
type | integer | Tipo do parcelamento: Sem Parcelamento: 1 Merchant : 2 - Parcelado lojista (Sem juros para o cliente) Issuer : 3 - Parcelado emissor (Com juros para o cliente) |
number | integer | Número de parcelas da transação para os casos de Merchant e Issuer .Credito é possível parcelas de 2 a 18 vezes. Debito = 0 Credito á vista = 1 OBS: Parcelado de 13 a 18x, tem valor mínimo por parcela de 10 reais |
hasAlcoholicDrink | integer | Tem como padrão o valor false . informe true em caso de bloqueio de produtos Alcoólicos ou Cigarros.Segundo o normativo PAT (Programa de Alimentação do Trabalhador) é vetado a venda de produtos alcoólicos ou cigarros com cartões Voucher (refeição, alimentação, cultura e etc..) |
Exemplo de response:
Exemplo de payload que retorna para os tipos de transação, com essas informações é possível montar o cupom de venda para impressão.
{
"acquirerTransactionKey": "33431075130192",
"aid": "A0000000041234",
"amount": 11,
"arqc": "9C835CC22C6216FA",
"availableBalance": null,
"brandName": "MASTER CREDITO ",
"cardholderName": " ",
"initiatorTransactionKey": "21082023215752",
"installmentType": 1,
"totalNumberOfPayments": 0,
"maskedPrimaryAccountNumber": "************1234",
"systemSpecifications": null,
"transactionDateTime": "2023-08-21T21:58:01",
"transactionType": 1,
"clientVia": " STONE ~ MASTER CREDITOd ~ ************1234 Via Cliente ~ ~ 21/08/2023 21:58:01 ~ Valor: R$ 11.00 ~ DOC: 21082023215752 ~ Stone Id: 33431075130192 ~",
"merchantVia": " STONE ~ MASTER CREDITO ~ ************1234 Via Estabelecimento ~ Data: 21/08/2023 21:58:01 ~ Valor: R$ 11.00 ~ DOC: 21082023215752 ~ Stone Id: 33431075130192 ~",
"cardReadingType": 8,
"cardNeedsPassword": false,
"authorisationCode": "130192",
"messageDisplay": "Aprovado",
"isVoucher": false,
"merchantDocument": "11.999.222/0001-22",
"merchantAddress": "Avenida Doutora Ruth, 1234",
"merchantCity": "São Paulo",
"merchantZipCode": "05425-070",
"totalAmountReversal": null,
"merchantName": "Integracao Partner Program",
"cne": null,
"retrievalReferenceNumber": null,
"productBrandCard": "MASTER ",
"stoneCode": "106199999"
}
{
"acquirerTransactionKey": "33431075130191",
"aid": "A0000000031010",
"amount": 10,
"arqc": "45385EA9886F6E37",
"availableBalance": null,
"brandName": "VISA CREDITO",
"cardholderName": " ",
"initiatorTransactionKey": "21082023215232",
"installmentType": 2,
"totalNumberOfPayments": 1,
"maskedPrimaryAccountNumber": "************8842",
"systemSpecifications": null,
"transactionDateTime": "2023-08-21T21:52:40",
"transactionType": 2,
"clientVia": " STONE ~ Credito Visa ~ ************2233 Via Cliente ~ ~ 21/08/2023 21:52:40 ~ Valor: R$ 10.00 ~ Parcelas: 1 ~ DOC: 21082023215232 ~ Stone Id: 33431075130191 ~",
"merchantVia": " STONE ~ Credito Visa ~ ************2242 Via Estabelecimento ~ Data: 21/08/2023 21:52:40 ~ Valor: R$ 10.00 ~ Parcelas: 1 ~ DOC: 21082023215232 ~ Stone Id: 33431075130191 ~",
"cardReadingType": 8,
"cardNeedsPassword": false,
"authorisationCode": "130191",
"messageDisplay": "Aprovado",
"isVoucher": false,
"merchantDocument": "11.999.222/0001-22",
"merchantAddress": "Avenida Doutora Ruth , 1111",
"merchantCity": "São Paulo",
"merchantZipCode": "05425-070",
"totalAmountReversal": null,
"merchantName": "Integracao Partner Program",
"cne": null,
"retrievalReferenceNumber": "111111111111111",
"productBrandCard": "VISA CREDITO ",
"stoneCode": "106199999"
}
{
"acquirerTransactionKey": "String",
"aid": "String",
"amount": Number ,
"arqc": "String",
"availableBalance": null,
"brandName": "string",
"cardholderName": "string",
"initiatorTransactionKey": "string",
"installmentType": number,
"totalNumberOfPayments": number,
"maskedPrimaryAccountNumber": String,
"systemSpecifications": String - null,
"transactionDateTime": "YYYY-MM-DDTHH:mm:SS",
"transactionType": number,
"clientVia": string,
"cardReadingType":Integer,
"cardNeedsPassword": boolean,
"authorisationCode": String,
"displayMessage": String,
"IsVoucher": boolean,
}
Tags da Mensagem de Response
Campo | Tipo | Observação |
---|---|---|
acquirerTransactionKey | String | Identificador único da transação ( Identificador gerado pelo autorizador, único para cada transação. Utiliza-se a mesma ATK entre os eventos; |
aid | String | Identificador da aplicação. Apenas para transações com chip/NFC/EMV; ( Código único gerado pelo AutoTEF para identificar e determinar a inicialização da transação. Deve ser formatado seguindo a seguinte regra: nnnnnnddmmyyyyHHMMSS sendo que nnnnnn=número sequencial gerado pelo AutoTEF.) |
amount | Integer | Valor da transação; |
arqc | String | criptograma ARQC para efetuar a transação em modo online; |
availableBalance | Decimal | Saldo disponível para transações de voucher; |
brandName | String | Marca e modalidade da bandeira, exemplo: “MASTER CREDITO” |
cardholderName | String | Nome do titular do cartão |
initiatorTransactionKey | String | ITK - ID único enviado pela SDK/Slim para o Autorizador Stone. |
Installmenttype | Integer | Tipo de parcela: Sem Parcelamento: 1 Merchant = 2 - Parcelado por decisão do estabelecimento comercial. Issuer = 3 - Parcelado com juros, decisão do emissor. |
totalNumberOfPayments | Integer | Número de parcelas |
maskedPrimaryAccountNumber | String | Dados do Pan do cartão mascarado. |
systemSpecifications | String | especificação do sistema. |
transactionDateTime | String | Data e hora da transação. |
transactionType | Integer | Indica o tipo da transação. Debit/Voucher = 1, Credit = 2 |
ClienteVia | String | Retorno para construção do cupom para o cliente . |
MerchantVia | String | Retorno para construção do cupom para estabelecimento. |
cardReadingType | Integer | Modo de entrada da transação/cartão; Segue modelos de entrada transação possíveis: Undefined = 0, MagneticStrip = 4, tarja magnética; Chip = 5, ICC Contactless = 7, NFC modo Tarja EMVProximityReader = 8, NFC |
cardNeedsPassword | Boolean | Cartão precisa de senha ou não. False = Não necessita de senha; True = Necessita de senha; |
AuthorisationCode | String | Código de autorização retornado pelo emissor do cartão |
messageDisplay | String | Mensagem do retorno do autorizador. |
IsVoucher | Boolean | Indica se o cartão é Voucher (Sodexo, VR, Ticket ou Alelo) que não é seu caso, já que usa apenas débito/crédito. False= Não é cartão voucher; True = Cartão Voucher. |
merchantName | String | Nome do estabelecimento |
merchantDocument | String | Cnpj do estabelecimento |
merchantAddress | String | Endereço do estabelecimento |
merchantCity | String | Cidade do estabelecimento |
merchantZipCode | String | CEP do estabelecimento |
totalNumberOfPayments | Integer | total de parcelas. |
totalAmountReversal | String | Valor de reversão do valor da bandeira Ticket. |
CNE | String | Cardholder Name Extended (Tag EMV 9F0B). Mandatório na via do estabelecimento em transação de autorização chip. |
retrievalReferenceNumber | String | RRN (RetrievalReferenceNumber): Retorna o conteúdo do campo. Mandatório em todas as vias, autorização/estorno, chip/tarja e cliente e EC. IssuerTransactionIdentification . |
productBrandCard | String | Produto da bandeira utilizada na transação. |
stoneCode | String | Código único de identificador do estabelecimento na Stone. |
Status:
Status 200 - OK
{
"code": "TECH",
"reason": "9109",
"displayMessage": "Erro no sistema"
}
{
"code": "DECL",
"reason": "1016",
"displayMessage": "Não autorizada"
}
{
"Code": String,
"Reason": String,
"DisplayMessage": String
}
Status 400 - Retorno do autorizador.
{
"Message": "First call the activate router or check connections in endpoint 'api/Healthcheck'.",
"StatusCode": 500
}
Status 500 - First call the activate router or check connections in endpoint 'api/Healthcheck'.
Cupom via Estabelecimento construído na prática para PDV:
**Resultado | **Presença |
---|---|
Dados de Merchant | Obrigatória |
Stone - Via Estabelecimento | Obrigatória |
Nome da Bandeira | Obrigatória |
Produto da bandeira | Obrigatória |
PAN Mascarado Data/Hora | Obrigatória |
SC:xxxxxxxxx AUT:000000 | Obrigatória |
StoneId: xxxxxxxxxxxx | Obrigatória |
PDV: [Parâmetro de responsabilidade do parceiro] { ] | Obrigatória |
DOC: [[NSUPARCEIRO]] XXX-YYY | Obrigatória |
AC:XXXXXXXXXXXXXXXX | Obrigatória |
AID: A000000003101005 | Obrigatória |
RRN:XXXXXXXXX CNE: XXXXXXXXXXXXXXXX | Condicional a bandeira Ticket. |
TOTAL R$ 9,999,999,999.99 | Obrigatória |
*** | Obrigatória |
NOME DO PORTADOR | Obrigatória |
RECONHEÇO E PAGAREI A DÍVIDA AQUI REPRESENTADA | Obrigatória |
TRANSAÇÃO APROVADA COM SENHA | Condicional entrymode e a necessidade de senha. |
Cupom via Estabelecimento reduzido na prática:
Linha | Resultado | Presença |
---|---|---|
1 | STONE – Via Estabelecimento | Obrigatória |
2 | Nome da Bandeira | Obrigatória |
23 | Bandeira Produto | Obrigatória |
3 | PAN mascarado Data/Hora | Obrigatória |
4 | SC:2100490717 AUT:000000 | Obrigatória |
7 | Stone ID:012345624112016151100 | Obrigatória |
6 | DOC: [[NSUPARCEIRO]] XXX-YYY | Obrigatória |
13 | TOTAL R$ 9,999,999,999.99 | Obrigatória |
15 | *** | Obrigatória |
16 | NOME DO PORTADOR | Obrigatória |
17 | RECONHEÇO E PAGAREI A DÍVIDA AQUI REPRESENTADA | Obrigatória |
19 | TRANSAÇÃO APROVADA COM SENHA | Condicional entrymode e a necessidade de senha |
Cupom via portador construído na prática:
Linha | Resultado | Presença |
---|---|---|
22 | Dados de Merchant | Obrigatória |
1 | STONE – VIA CLIENTE | Obrigatória |
2 | Nome da Bandeira | Obrigatória |
23 | Bandeira Produto | Obrigatória |
3 | PAN Mascarado data/hora | Obrigatória |
7 | Stone ID: 012345624112016151100 | Obrigatória |
6 | DOC: [[NSUPARCEIRO]] XXX-YYY | Obrigatória |
4 | SC: XXXXXXXXXXXXXXXXX AUT:000000 | Obrigatória |
13 | TOTAL: R$ 9.999.999.999,99 | Obrigatória |
19 | TRANSAÇÃO APROVADA COM SENHA | Obrigatória |
21 | SALDO DISPONÍVEL: R$ 9.999.999,99 | Obrigatória |
Todos os valores que tiverem [[***PARCEIRO]] deve ser armazenado e enviado pelo parceiro.