API de Transação - v1

Collection

Disponibilizamos as Collections, com todas as operações da API através dos arquivos:

Clique aqui para fazer o download.


Ambiente

Sandbox

As credenciais de homologação operam de forma idêntica ao ambiente produtivo. É importante que a aplicação deve apontar a URL para o ambiente de homologação ao invés de produção.

Collection

Você pode obter as Collections, com todas as operações e códigos de erros das APIs através dos arquivos:

Collection - API de Transação

URL de Sandbox

http://api-amedigital.sensedia.com/hml/transacoes/v1/

Exemplo:

http://api-amedigital.sensedia.com/hml/transacoes/v1/ordens

Observação: É importante ressaltar que Tokens de Sandbox só podem chamar a URL de Sandbox. O mesmo é válido para os Tokens de Produção, onde só podem chamar a URL de Produção. Essa regra existe para evitar que seja realizada uma chamada para o ambiente de Produção com um Token válido de Sandbox.

Produção

As credenciais de acesso a esse ambiente e a URL são fornecidas apenas após a validação técnica ser concluída. Para maiores informações sobre o processo de validação técnica.


Overview sobre Ordens

Ordens são eventos que permitem a execução de diversas funcionalidades relacionadas às transações dentro da AME. A criação de um transação, por exemplo, é realizada através da criação de uma ordem compra.

As ações relacionadas às Ordens são:

  1. Criar Ordem de Compra
  2. Cancelar Autorização da Ordem
  3. Capturar Ordem
  4. Criar Ordem de Estorno
Fluxograma 3

Criando uma ordem de compra

A criação de uma ordem de compra dentro da AME depende da interação entre a plataforma de venda, a AME Digital e o cliente que irá realizar a compra através do aplicativo AME.

Essa criação passa, obrigatoriamente, por duas etapas:

  1. Criação da ordem com base nas informações passadas pelo Sistema Parceiro
  2. Pagamento da ordem de compra através da leitura do QR Code pelo cliente com o app AME Digital
Criação de Ordem 2

Caso o Sistema Parceiro realize a solicitação da criação da ordem e apresente o QR Code, mas o cliente não realize a leitura do QR Code e confirme o pagamento, a criação da ordem não se concretizará e não será possível consultá-la.

1 - Criação da Ordem de Compra

No fluxo de criação de ordem, a primeira etapa é de responsabilidade do Sistema Parceiro, ele precisa passar os parâmetros necessários para que a AME retorne a URL de renderização do QR Code.

Sugerimos que a plataforma renderize o QR Code na tela para o cliente seguindo os padrões e informações que disponibilizamos nessa página.

Para as compras realizadas via mobile, iremos retornar o deepLink para que o cliente seja direcionado automaticamente para o aplicativo AME Digital.

POST /ordens
Parâmetros Necessários:
Header:

client_id:

access_token:

Request:
{
   "title":"Minha Loja.com",
   "description":"Pedido X",
   "amount":3000,
   "type":"PAYMENT",
   "currency":"BRL",
   "attributes":{
      "transactionChangedCallbackUrl":"https://webhook.site/8c285cf1-504e-4a69-8018-9dca72dd1958",
      "items":[
         {
            "ean":"22475411",
            "sku":"None",
            "amount":1000,
            "quantity":1,
            "description":"CAFE 180ML"
         },
         {
            "ean":"22475400",
            "sku":"None",
            "amount":1000,
            "quantity":1,
            "description":"REFRIGERANTE 350ML"
         },
         {
            "ean":"22475450",
            "sku":"None",
            "amount":1000,
            "quantity":1,
            "description":"AGUA S/ GAS 500ML"
         }
      ],
      "customPayload":{
         "isFrom":"MINHALOJA"
      },
      "address":[
         {
            "postalCode":"86047610",
            "street":"Rua Sete de Setembro",
            "number":"3",
            "complement":"APTO 2",
            "neighborhood":"Centro",
            "city":"Londrina",
            "state":"PR",
            "country":"BRA",
            "type":"BILLING"
         },
         {
            "postalCode":"86047610",
            "street":"Rua Sete de Setembro",
            "number":"3",
            "complement":"APTO 2",
            "neighborhood":"Centro",
            "city":"Londrina",
            "state":"PR",
            "country":"BRA",
            "amountValue":0,
            "type":"DELIVERY"
         }
      ],
      "paymentOnce":true,
      "riskHubProvider":"SYNC",
      "origin":"ECOMMERCE",
      "externalTransactionIdentifier":"7627c6e8-3b1b-11ec-8d3d-0242ac130003"
   }
}
Response:
{
   "id":"a11927a7-9d6c-4b6e-bfb4-5c6c249ad8a8",
   "title":"Minha Loja.com",
   "description":"Pedido X",
   "amount":3000,
   "type":"PAYMENT",
   "attributes":{
      "cashbackAmountValue":370,
      "transactionChangedCallbackUrl":"https://webhook.site/8c285cf1-504e-4a69-8018-9dca72dd1958",
      "items":[
         {
            "description":"CAFE BR MANIA CAPPUCCINO 180ML",
            "amount":1000,
            "quantity":1,
            "sku":"None"
         },
         {
            "description":"REFRI COCA COLA LT 350ML",
            "amount":1000,
            "quantity":1,
            "sku":"None"
         },
         {
            "description":"Abastecimento - Gasolina Aditivada",
            "amount":1000,
            "quantity":1,
            "sku":"None"
         }
      ],
      "customPayload":{
         "isFrom":"MINHALOJA"
      },
      "address":[
         {
            "country":"BRA",
            "number":"3",
            "city":"Londrina",
            "street":"Rua Sete de Setembro",
            "postalCode":"86047610",
            "neighborhood":"Centro",
            "state":"PR",
            "complement":"APTO 2",
            "type":"BILLING"
         },
         {
            "country":"BRA",
            "number":"3",
            "city":"Londrina",
            "street":"Rua Sete de Setembro",
            "postalCode":"86047610",
            "neighborhood":"Centro",
            "state":"PR",
            "complement":"APTO 2",
            "type":"DELIVERY",
            "amountValue":0
         }
      ],
      "paymentOnce":true,
      "riskHubProvider":"SYNC",
      "origin":"ECOMMERCE",
       "externalTransactionIdentifier":"7627c6e8-3b1b-11ec-8d3d-0242ac130003"
   },
   "qrCodeLink":"https://api.hml.amedigital.com/api/qrcode?qrcode=eyJ0eXBlIjoiUEFZTUVOVCIsIm9yZGVyX2lkIjoiYTExOTI3YTctOWQ2Yy00YjZlLWJmYjQtNWM2YzI0OWFkOGE4In0=",
   "deepLink":"amedigital://payment?qrcode=eyJ0eXBlIjoiUEFZTUVOVCIsIm9yZGVyX2lkIjoiYTExOTI3YTctOWQ2Yy00YjZlLWJmYjQtNWM2YzI0OWFkOGE4In0="
}


Payload de Criação de Ordem por Segmento

Abaixo temos alguns exemplos de payload de criação de ordem por segmento e deve ser implementado de acordo com o que a sua aplicação e ramo de negócio do merchant.



{
	"title":"Minha Loja.com",
	"description":"Pedido X",
	"amount":300000,
	"type":"PAYMENT",
	"currency":"BRL",
	"attributes":{
		"transactionChangedCallbackUrl":"https://webhook.site/1b636146-7899-4e71-962c-3ef753f5ddfc",
		"items":[
			{
					"ean": "22475411",
					"sku": "None",
					"amount": 670,
					"quantity": 1,
					"description": "CAFE 180ML"
				},
				{
					"ean": "22475400",
					"sku": "None",
					"amount": 990,
					"quantity": 1,
					"description": "REFRI COCA COLA LT 350ML" 
				},
				{
					"ean": "22475450",
					"sku": "None",
					"amount": 13000,
					"quantity": 1,
					"description": "Abastecimento - Gasolina Aditivada" 
				}
		],
		"customPayload":{
			"isFrom":"MeuPDV"
		},
		"paymentOnce":true,
		"riskHubProvider":"SYNC",
		"origin":"PDV"
	}
}
Propriedade Descrição Tipo Obrigatório

title Título da ordem string Sim
description Descrição da ordem string Sim
amount Valor da ordem em centavos int32 Sim
type Tipo de ordem criada. Enviar apenas PAYMENT string Sim
currency Moeda de cobrança da ordem. Aceito apenas BRL. string Sim
transactionChangedCallbackUrl URL de callback, no qual será enviado a confirmação de pagamento. string Sim
ean EAN do produto, se possuir deve ser enviado, caso não, enviar null Sim
sku SKU do produto ou código interno na base do merchant string Sim
amount Valor do item em centavos int32 Sim
quantity Quantidade de itens comprados, em unidade, caso seja combustivel ou qualquer produto em granel, enviar 1 int32 Sim
description Descrição do item string Sim
isFrom Nome da software house que está gerando a transação. string Sim
paymentOnce Quantas vezes o QRCode pode ser pago. Enviar TRUE - não permite pagar mais de uma vez neste modelo de integração. string Sim
riskHubProvider Enviar SYNC. string Sim
origin Identifica o tipo e integração. Exemplo: PDV, POS, E-COMMERCE string Sim
{
   "title":"Minha Loja.com",
   "description":"Pedido X",
   "amount":300000,
   "type":"PAYMENT",
   "currency":"BRL",
   "attributes":{
      "transactionChangedCallbackUrl":"https://webhook.site/1b636146-7899-4e71-962c-3ef753f5ddfc",
      "items":[
         {
                "ean": "22475411",
                "sku": "None",
                "amount": 670,
                "quantity": 1,
                "description": "CAFE BR MANIA CAPPUCCINO 180ML"
            },
            {
                "ean": "22475400",
                "sku": "None",
                "amount": 990,
                "quantity": 1,
                "description": "REFRI COCA COLA LT 350ML" 
            },
            {
                "ean": "22475450",
                "sku": "None",
                "amount": 13000,
                "quantity": 1,
                "description": "Abastecimento - Gasolina Aditivada" 
            }
      ],
      "customPayload":{
         "isFrom":"MeuPOS"
      },
      "paymentOnce":true,
      "riskHubProvider":"SYNC",
      "origin":"POS"
   }
}
Propriedade Descrição Tipo Obrigatório

title Título da ordem string Sim
description Descrição da ordem string Sim
amount Valor da ordem em centavos int32 Sim
type Tipo de ordem criada. Enviar apenas PAYMENT string Sim
currency Moeda de cobrança da ordem. Aceito apenas BRL. string Sim
transactionChangedCallbackUrl URL de callback, no qual será enviado a confirmação de pagamento. string Sim
ean EAN do produto, se possuir deve ser enviado, caso não, enviar null Sim
sku SKU do produto ou código interno na base do merchant string Sim
amount Valor do item em centavos int32 Sim
quantity Quantidade de itens comprados, em unidade, caso seja combustível ou qualquer produto em granel, enviar 1 int32 Sim
description Descrição do item string Sim
isFrom Nome da software house que está gerando a transação. string Sim
paymentOnce Quantas vezes o QRCode pode ser pago. Enviar TRUE - não permite pagar mais de uma vez neste modelo de integração. string Sim
riskHubProvider Enviar SYNC. string Sim
origin Identifica o tipo e integração. Exemplo: PDV, POS, E-COMMERCE string Sim
{
   "title":"Minha Loja.com",
   "description":"Pedido X",
   "amount":300000,
   "type":"PAYMENT",
   "currency":"BRL",
   "attributes":{
      "transactionChangedCallbackUrl":"https://webhook.site/1b636146-7899-4e71-962c-3ef753f5ddfc",
      "items":[
         {
                "ean": "22475411",
                "sku": "None",
                "amount": 670,
                "quantity": 1,
                "description": "Pagamento de nota de fiscal - 51080701212344000127550010000000981364112281"
            },
            {
                "ean": "22475400",
                "sku": "None",
                "amount": 990,
                "quantity": 1,
                "description": "Pagamento de boleto X"
            },
            {
                "ean": "22475450",
                "sku": "None",
                "amount": 13000,
                "quantity": 1,
                "description": "Pagamento de conta X" 
            }
      ],
      "customPayload":{
         "isFrom":"MeuSite.com"
      },
      "paymentOnce":true,
      "riskHubProvider":"SYNC",
      "origin":"BILLS"
   }
}
Propriedade Descrição Tipo Obrigatório

title Título da ordem string Sim
description Descrição da ordem string Sim
amount Valor da ordem em centavos int32 Sim
type Tipo de ordem criada. Enviar apenas PAYMENT string Sim
currency Moeda de cobrança da ordem. Aceito apenas BRL. string Sim
transactionChangedCallbackUrl URL de callback, no qual será enviado a confirmação de pagamento. string Sim
ean EAN do produto, se possuir deve ser enviado, caso não, enviar null Sim
sku SKU do produto ou código interno na base do merchant string Sim
amount Valor do item em centavos int32 Sim
quantity Quantidade de itens comprados, em unidade, caso seja combustível ou qualquer produto em granel, enviar 1 int32 Sim
description Descrição do item string Sim
isFrom Nome da software house que está gerando a transação. string Sim
paymentOnce Quantas vezes o QRCode pode ser pago. Enviar TRUE - não permite pagar mais de uma vez neste modelo de integração. string Sim
riskHubProvider Enviar SYNC. string Sim
origin Identifica o tipo e integração. Exemplo: PDV, POS, E-COMMERCE, BILLS string Sim
{
   "title":"Minha Loja.com",
   "description":"Evento: X",
   "amount":100000,
   "type":"PAYMENT",
   "attributes":{
      "transactionChangedCallbackUrl":"https://webhook.site/1b636146-7899-4e71-962c-3ef753f5ddfc",
      "items":[
         {
            "description":"Super Evento 01",
            "type":"TANGIBLE",
            "price":{
               "amountLocalCurrency":"50000",
               "currency":"BRL"
            },
            "quantity":1,
            "itemSpecificData":{
               "ticketsAndEvents":{
                  "eventTime":1420070400,
                  "eventName":"Super Festa",
                  "eventVenueName":"Venue Name",
                  "eventLocation":{
                     "address1":"Rua Oscar Trompowsky",
                     "address2":"",
                     "city":"Belo Horizonte",
                     "region":"Norte",
                     "zip":"00000000",
                     "country":"BR",
                     "savedData":{
                        "usedSavedData":false,
                        "choseToSaveData":false
                     }
                  },
                  "eventType":"SPORTS",
                  "ticketClass":"VIP",
                  "ticketSeat":"10",
                  "ticketCategory":"INTEIRA",
                  "eventReviews":{
                     "inUse":false,
                     "itemInListCount":2
                  }
               }
            }
         },
         {
            "description":"Super Evento 02",
            "type":"TANGIBLE",
            "price":{
               "amountLocalCurrency":"50000",
               "currency":"BRL"
            },
            "quantity":2,
            "itemSpecificData":{
               "ticketsAndEvents":{
                  "eventTime":1420070410,
                  "eventName":"Super Festa Hiper",
                  "eventVenueName":"Event Venue Name",
                  "eventLocation":{
                     "address1":"Rua Geronimo",
                     "address2":"",
                     "city":"Campinas",
                     "region":"Sul",
                     "zip":"11111111",
                     "country":"BR",
                     "savedData":{
                        "usedSavedData":false,
                        "choseToSaveData":false
                     }
                  },
                  "eventType":"CONCERT",
                  "ticketClass":"STANDING",
                  "ticketSeat":"234",
                  "ticketCategory":"MEIA",
                  "eventReviews":{
                     "inUse":false,
                     "itemInListCount":4
                  }
               }
            }
         }
      ],
      "origin":"TICKET",
      "riskHubProvider":"SYNC",
      "paymentOnce":true,
      "externalTransactionIdentifier":1786158,
      "isVerified":true,
      "customPayload":{
         "isFrom":"NOMESITE"
      }
   }
}
Propriedade Descrição Tipo Obrigatório

title Título da ordem string Sim
description Descrição da ordem string Sim
amount Valor da ordem em centavos int32 Sim
type Tipo de ordem criada. Enviar apenas PAYMENT string Sim
transactionChangedCallbackUrl URL de callback, no qual será enviado a confirmação de pagamento. string Sim
description Descrição do evento string Sim
type Tipo de ingresso. Enviar apenas TANGIBLE string Sim
amountLocalCurrency Valor do ingresso em centavos. int32 Sim
currency Moeda de cobrança da ordem. Aceito apenas BRL. string Sim
quantity Quantidade de ingressos. string Sim
eventTime Data do evento. Unix time date Sim
eventName Nome do evento string Sim
eventVenueName Nome do local do evento. Exemplo: Allianz Parque string Sim
address1 Endereço do evento string Sim
address2 Endereço do evento. Enviar em branco, caso não tenha. string Sim
city Cidade do evento. string Sim
region Região do evento. Exemplo: sul, norte string Sim
zip CEP do evento. string Sim
country País do evento. Enviar BR. string Sim
usedSavedData Enviar false. boolean Sim
choseToSaveData Enviar false. boolean Sim
eventType Tipo do evento. Exemplo: SPORTS, PARTIES, CULTURAL string Sim
ticketClass Categoria do ingresso. Exemplo: VIP, PISTA string Sim
ticketSeat Número do acento. Caso não tenha, enviar em branco. string Sim
ticketCategory Tipo de ingresso. Exemplo: meia ou inteira. string Sim
inUse Enviar false. boolean Sim
itemInListCount int Sim
origin Identifica o tipo e integração. Exemplo: TICKET, PDV, POS, E-COMMERCE, BILLS string Sim
riskHubProvider Enviar SYNC. string Sim
paymentOnce Quantas vezes o QRCode pode ser pago. Enviar TRUE - não permite pagar mais de uma vez neste modelo de integração. string Sim
paymentOnce Quantas vezes o QRCode pode ser pago. Enviar TRUE - não permite pagar mais de uma vez neste modelo de integração. string Sim
externalTransactionIdentifier Código da transação gerado no sistema parceiro. string Sim
isVerified Enviar TRUE. boolean Sim
isFrom Nome do site/empresa que gerou a transação. boolean Sim
{
  "title": "Minha Loja.com",
  "description": "Pedido X",
  "amount": 14990,
  "type": "PAYMENT",
  "currency": "BRL",
  "attributes": {
    "transactionChangedCallbackUrl": "https://webhook.site/1b636146-7899-4e71-962c-3ef753f5ddfc",
    "items": [
      {
                "ean": "22475411",
                "sku": "None",
                "amount": 670,
                "quantity": 1,
                "description": "CAFE BR MANIA CAPPUCCINO 180ML"
            },
            {
                "ean": "22475400",
                "sku": "None",
                "amount": 990,
                "quantity": 1,
                "description": "REFRI COCA COLA LT 350ML" 
            },
            {
                "ean": "22475450",
                "sku": "None",
                "amount": 13000,
                "quantity": 1,
                "description": "Abastecimento - Gasolina Aditivada" 
            }
    ],
    "customPayload": {
      "isFrom": "MinhaPlataforma"
    },
    "address": [
      {
        "postalCode": "86047610",
        "street": "Rua Sete de Setembro",
        "number": "3",
        "complement": "APTO 2",
        "neighborhood": "Centro",
        "city": "Londrina",
        "state": "PR",
        "country": "BRA",
        "type": "BILLING"
      },
      {
        "postalCode": "86047610",
        "street": "Rua Sete de Setembro",
        "number": "3",
        "complement": "APTO 2",
        "neighborhood": "Centro",
        "city": "Londrina",
        "state": "PR",
        "country": "BRA",
        "amountValue": 0,
        "type": "DELIVERY"
      }
    ],
    "paymentOnce": true,
    "riskHubProvider": "SYNC",
    "origin": "ECOMMERCE"
  }
}
Propriedade Descrição Tipo Obrigatório

title Título da ordem string Sim
description Descrição da ordem string Sim
amount Valor da ordem em centavos int32 Sim
type Tipo de ordem criada. Enviar apenas PAYMENT string Sim
currency Moeda de cobrança da ordem. Aceito apenas BRL. string Sim
transactionChangedCallbackUrl URL de callback, no qual será enviado a confirmação de pagamento. string Sim
ean EAN do produto, se possuir deve ser enviado, caso não, enviar null Sim
sku SKU do produto ou código interno na base do merchant string Sim
amount Valor do item em centavos int32 Sim
quantity Quantidade de itens comprados, em unidade, caso seja combustivel ou qualquer produto em granel, enviar 1 int32 Sim
description Descrição do item string Sim
isFrom Nome do emissor de ticket online. string Sim
postalCode CEP do endereço string Sim
street Nome da rua string Sim
number Número da residencia string Sim
complement Complemento da residencia string Sim
neighborhood Bairro string Sim
city Cidade string Sim
state Estado - deve ser enviado as singlas. Exemplo: SP, PR, RS string Sim
country País - deve ser enviado 'BRA' string Sim
type Tipo de endereço - deve ser enviado o endereço de cobrança e entrega em dois objetos diferente dentro do array de endereço, conforme exemplo do JSON acima. (BILLING/DELIVERY) string Sim
paymentOnce Quantas vezes o QRCode pode ser pago. Enviar TRUE - não permite pagar mais de uma vez neste modelo de integração. string Sim
riskHubProvider Enviar SYNC. string Sim
origin Identifica o tipo e integração. Exemplo: TICKET, PDV, POS, E-COMMERCE, BILLS string Sim

Cancelamento de uma Ordem de Compra

Através desta operação é possível efetuar o cancelamento de um QR Code que ainda não foi pago.

Observação: nesta API posuios dois tipos de cancelamento, este em especifico (DELETE/ordens) permite com que seja cancelado uma ordem que ainda não foi paga e temos também o DELETE/pagamentos que permite cancelamento o pagamento de uma ordem que foi paga mas ainda não foi capturada.

Request:
GET /ordens/orderID
Parâmetros Necessários:
Header:

client_id:

access_token:

Response:
{
    "id": "9df12f86-3c09-4c98-aca3-bfa99c75d8a9",
    "ownerId": "2eae9f27-0f2f-4192-b575-37b91f9270e6",
    "creditWalletId": "b0c458fd-51cb-4ae0-bd85-0c0d476721ae",
    "date": "2021-05-31T11:46:34.545",
    "title": "Pedido - Loja X",
    "description": "Pedido X",
    "amount": 1000,
    "currency": "BRL",
    "type": "PAYMENT",
    "attributes": {
        "cashbackAmountValue": 100,
        "transactionChangedCallbackUrl": "https://webhook.site/",
        "items": [
            {
                "description": "Itens do Pedido",
                "amount": 1000,
                "quantity": 1,
                "sku": "1234322"
            }
        ],
        "customPayload": {
            "isFrom": "Plataforma"
        },
        "address": [
            {
                "country": "BRA",
                "number": "338",
                "city": "Campinas",
                "street": "Avenida Presidente Vargas",
                "postalCode": "14801000",
                "neighborhood": "Jardim Califórnia",
                "state": "SP",
                "type": "BILLING"
            },
            {
                "country": "BRA",
                "number": "338",
                "city": "Campinas",
                "street": "Avenida Presidente Vargas",
                "postalCode": "14801000",
                "neighborhood": "Jardim Califórnia",
                "state": "SP",
                "type": "DELIVERY",
                "amountValue": 5
            }
        ],
        "paymentOnce": true,
        "riskHubProvider": "SYNC",
        "origin": "ECOMMERCE"
    },
    "planTypes": [
        "BSC",
        "PLS"
    ]
}


Request:
DELETE /ordens/orderID
Parâmetros Necessários:
Header:

client_id:

access_token:

customerId:

O customerId é obtido no campo ownerId do GET/orderID (endpoint anterior).

Response:
{}

O response body é vazio.

Ponto de atenção: antes de disparar o cancelamento de um qrcode, orientamos que seja feito uma consulta no callback ou no status do pedido, para certificarem-se de que o pedido continua com o status de não pago.



Pagamento da Ordem de Compra


O pagamento da ordem de compra deve ser feito exclusivamente através do aplicativo de homologação que disponibilizamos durante a fase de integração. Clique aqui para maiores informações sobre como obter o aplicativo de homologação.

Após a criação da ordem, ela poderá assumir os seguintes status:

Status Descrição
AUTHORIZED Ordem foi criada com sucesso e o valor do pagamento está provisionado na carteira do cliente
Ordem aguarda captura ou cancelamento
DENIED Não foi possível realizar a criação da ordem. Esse status é apresentado quando o pagamento foi recusado por falta de saldo, quando o cartão está bloqueado, entre outros motivos.
CANCELED A transação foi autorizada e cancelada em seguida.
Esse status é apresentado quando o risco identifica um problema após a autorização ou quando ocorre um problema na URL de Callback.
CAPTURED Ordem foi criada e capturada com sucesso.

Callback - Aviso de pagamento

Após a ordem ser paga pelo usuário, é enviado um aviso de confirmação de pagamento para a URL de callback informada no campo "transactionChangedCallbackUrl" na criação da ordem de compra.

Exemplo da chamada de callback:

{
   "id":"ab48af16-e2c4-40ca-8254-07609b27a183",
   "date":[
      2021,
      2,
      10,
      17,
      20,
      14,
      801275000
   ],
   "operationType":"DEBIT",
   "name":"Compra on-line",
   "title":"Minha Loja.com",
   "description":"Pedido X",
   "status":"AUTHORIZED",
   "type":"PAYMENT",
   "currency":"BRL",
   "cashType":"CASH",
   "amount":3000,
   "amountRefunded":0,
   "splits":[
      {
         "id":"c299a433-c4a6-431d-ac9d-fcb6e57455c0",
         "date":[
            2021,
            2,
            10,
            17,
            20,
            14,
            801288000
         ],
         "status":"AUTHORIZED",
         "cashType":"CASH",
         "amount":3000,
         "installments":null,
         "cardMasked":null,
         "cardBrand":null
      }
   ],
   "attributes":{
      "cashbackAmountValue":300,
      "transactionChangedCallbackUrl":"https://webhook.site/8c285cf1-504e-4a69-8018-9dca72dd1958",
      "items":[
         {
            "description":"CAFE 180ML",
            "amount":1000,
            "quantity":1,
            "ean":null,
            "sku":"1234322"
         },
         {
            "description":"REFRIGERANTE 350ML",
            "amount":1000,
            "quantity":1,
            "ean":"1234567890128",
            "sku":null
         },
         {
            "description":"AGUA S/ GAS 500ML",
            "amount":1000,
            "quantity":1,
            "ean":null,
            "sku":"128982"
         }
      ],
      "customPayload":{
         "isFrom":"MINHALOJA"
      },
      "address":[
         {
            "country":"BRA",
            "number":"3",
            "city":"Londrina",
            "street":"Rua Sete de Setembro",
            "postalCode":"86047610",
            "neighborhood":"Centro",
            "state":"PR",
            "complement":"APTO 2",
            "type":"BILLING"
         },
         {
            "country":"BRA",
            "number":"3",
            "city":"Londrina",
            "street":"Rua Sete de Setembro",
            "postalCode":"86047610",
            "neighborhood":"Centro",
            "state":"PR",
            "complement":"APTO 2",
            "type":"DELIVERY",
            "amountValue":0
         }
      ],
      "paymentOnce":true,
      "riskHubProvider":"SYNC",
      "origin":"ECOMMERCE",
      "orderId":"83dc8e33-d368-4566-a541-0ec72f6b7805"
   },
   "operationReference":null,
   "peer":null,
   "nsu":"662414801293",
   "debitWalletId":"7f522584-d6dd-419e-ba06-6fa658ed1278"
}

Cancelando um pagamento

A chamada de Cancelamento de pagamento, permite que o Sistema Parceiro cancele uma ordem que já foi autorizada mas ainda não foi capturada. Após o cancelamento, o saldo da compra que havia sido provisionado na carteira do cliente após a criação da ordem será automaticamente liberado.

Lembre-se de sempre cancelar uma ordem que não será capturada, caso contrário, o saldo ficará provisionado na carteira do cliente.

Abaixo, explicamos os parâmetros dispoíveis na chamada de cancelamento de ordem, maiores detalhes técnicos e de obrigatoriedade dos campos podem ser consultados aqui.

Parâmetro Descrição
id (PATH PARAM) ID de pagamento da ordem, que foi recebido na URL de Callback após o pagamento ter sido efetuado Atenção: aqui não deve ser utilizado o ID de criação da ordem

Após o cancelamento da ordem, ela poderá assumir o seguinte status:

Status Descrição
CANCELLED Ordem foi cancelada com sucesso

Lembre-se

Uma ordem só pode ser cancelada caso seu status seja AUTHORIZED. Para reverter ordens já capturadas cujo status é SUCCESS, verifique a página de estorno de ordem

Request:
DELETE /pagamentos/:idPagamento
Parâmetros Necessários:
Header:

client_id:

access_token:

Response:
 {
    "id": "4e0aff26-0cbc-41ae-8417-dfb404d86c02",
    "date": "2020-06-29T15:39:15.515929",
    "operationType": "DEBIT",
    "name": "Compra on-line",
    "title": "titulo da ordem de teste",
    "description": "descrição da ordem",
    "status": "CANCELED",
    "type": "PAYMENT",
    "currency": "BRL",
    "cashType": "CASH",
    "amount": 600,
    "amountRefunded": 0,
    "splits": [
        {
            "id": "f05f7856-5d66-4339-a767-016d34cb3bda",
            "date": "2020-06-29T15:39:15.516183",
            "status": "CANCELED",
            "cashType": "CASH",
            "amount": 600
        }
    ],
    "attributes": {
        "orderId": "e9e65d7f-0a10-4d13-be7d-7aca5a4a4467",
        "paymentOnce": false,
        "riskHubProvider": "SYNC",
        "customPayload": {
            "isFrom": "MAGENTO",
            "billingAddress": {
                "billingAddress": {
                    "country": "BRA",
                    "number": "123",
                    "city": "São Paulo",
                    "street": "lorem ipsum",
                    "postalCode": "01229010",
                    "neighborhood": "bairro do limoeiro",
                    "state": "SP",
                    "complement": "cs 1"
                }
            }
        },
        "items": [
            {
                "amount": 100,
                "quantity": 6,
                "description": "item de teste - sku do produto OU item"
            }
        ],
        "transactionChangedCallbackUrl": "https://iapi.hml.amedigital.com/sua/url/de/callback"
    },
    "peer": {
        "id": "d480e038-054c-4171-a406-b96805c96866",
        "name": "nome do merchant de teste,
        "type": "MERCHANT"
    },
    "nsu": 56355516192
}

Capturando um pagamento

A captura pode ser realizada para as ordens que possuem o status AUTHORIZED. Quando a captura da ordem é bem sucedida, o valor do pagamento que estava provisionado na carteira do cliente é processado e o valor a ser recebido é lançado na agenda do vendedor.

Nós aconselhamos que a captura seja feita automaticamente após a autorização da ordem, para isso, configure o seu sistema para que solicite a captura da ordem assim que a AME retornar o status AUTHORIZED.

Abaixo, explicamos os parâmetros dispoíveis na chamada de captura de ordem, maiores detalhes técnicos e de obrigatoriedade dos campos podem ser consultados aqui.

Parâmetro Descrição
id (PATH PARAM) ID de pagamento da ordem, que foi recebido na URL de Callback
Atenção: aqui não deve ser utilizado o ID de criação da ordem

Após a captura da ordem, ela poderá assumir os seguintes status:

Status Descrição
Success Ordem capturada com sucesso.
O valor a ser recebido é lançado na agenda do vendedor.
Esse pode ser o último status da ordem, caso seja necessário, ela poderá ser estornada.
Request:
POST /pagamentos
Parâmetros Necessários:
Header:

client_id:

access_token:

{
    "idPagamento":  "98f0fda5-a95c-4d9c-ae82-e369ad0e8ab1"
}
Response:
{
    "id": "98f0fda5-a95c-4d9c-ae82-e369ad0e8ab1",
    "date": "2020-06-29T18:21:06.642483",
    "operationType": "CREDIT",
    "name": "Compra on-line",
    "title": "titulo da ordem de teste",
    "description": "descrição da ordem",
    "status": "SUCCESS",
    "type": "PAYMENT",
    "currency": "BRL",
    "cashType": "MULTIPLE",
    "amount": 500,
    "amountRefunded": 0,
    "splits": [
        {
            "id": "25461617-6bb8-4b4e-9ceb-0130e3872602",
            "date": "2020-06-29T18:21:06.642907",
            "status": "SUCCESS",
            "cashType": "CASH",
            "amount": 275
        },
        {
            "id": "dfa899c7-749d-43b1-91f0-1bfa937635a0",
            "date": "2020-06-29T18:21:06.643098",
            "status": "SUCCESS",
            "cashType": "CARD",
            "amount": 225,
            "installments": 1,
            "cardMasked": "449872######7549",
            "cardBrand": "VISA"
        }
    ],
    "attributes": {
        "orderId": "32059d60-46ab-4257-82f7-c85561dd2baa",
        "paymentOnce": false,
        "riskHubProvider": "SYNC",
        "customPayload": {
            "isFrom": "MAGENTO",
            "billingAddress": {
                "billingAddress": {
                    "country": "BRA",
                    "number": "123",
                    "city": "São Paulo",
                    "street": "lorem ipsum",
                    "postalCode": "01229010",
                    "neighborhood": "bairro do limoeiro",
                    "state": "SP",
                    "complement": "cs 1"
                }
            }
        },
        "items": [
            {
                "amount": 100,
                "quantity": 1,
                "description": "item de teste - sku do produto OU item"
            },
            {
                "amount": 200,
                "quantity": 2,
                "description": "item de teste - sku do produto OU item"
            }
        ],
        "transactionChangedCallbackUrl": "https://iapi.hml.amedigital.com/sua/url/de/callback"
    },
    "peer": {
        "id": "e7d3e610-7323-4ee7-bf3a-9154666191e2",
        "name": "Usuario de Testes",
        "type": "MERCHANT"
    },
    "nsu": 666066647128
}

Estornando um pagamento

O estorno do pagamento pode ser realizado quando ela já foi capturada e seu status é SUCCESS. Para cancelar uma ordem que ainda não tenham sido capturada e que tenha o status AUTHORIZED é necessário realizar o cancelamento da ordem.

Um estorno pode ser feita de maneira integral, quando todo o valor da venda é estornado ou parcialmente.

É possível realizar vários estornos referentes a uma mesma ordem, entretanto a somatória dos valores estornados nunca poderá ser maior do que o valor total da venda.

Abaixo, explicamos os parâmetros dispoíveis na chamada de estorno de ordem, maiores detalhes técnicos e de obrigatoriedade dos campos podem ser consultados aqui.

Parâmetro Descrição
id (PATH PARAM) ID de pagamento da ordem, que foi recebido na URL de Callback após o pagamento ter sido efetuado
Atenção: aqui não deve ser utilizado o ID recebido na criação da Ordem
refundId (PATH PARAM) Id que deve ser gerado pelo sistema parceiro para identificar a transação de estorno, deve ser criado seguindo a lógica de UUID.
Esse ID deve ser único para cada requisição de estorno criada.
Sugerimos que a criação do UUID siga o padrão: silgadoecommerce-uuid
amount Valor a ser estornado em centavos
Ex: 13,50 = "1350"

RefundId único

É possível gerar vários estornos parciais em uma mesma ordem, entretanto, é necessário que cada um desses estornos seja gerado com um refundId único. Caso o refundId já tenha sido utilizado, não será possível realizar o estorno.

Após o estorno da ordem, ela poderá assumir os seguintes status:

Status Descrição
SUCCESS Ordem foi estornada com sucesso, mas ainda existem valores que não foram estornados. Esse é o status de uma ordem que foi estornada parcialmente.
REFUNDED Ordem foi estornada com sucesso e não existem mais valores a serem estornados. Esse é o status de uma ordem que foi estornada integralmente.

Status REFUNDED

A ordem só terá seu status atualizado para REFUNDED caso o valor da ordem tenha sido estornado integralmente

Request:
PUT /pagamentos/:pagamentoId
Parâmetros Necessários:
Header:

client_id:

access_token:

{
    "amount": 100,
    "refundId": "e53799a2-aee2-43c0-bcc8-ee61e904e887"
}
Response:
{
    "refundId": "ddef064b-5755-44c5-8637-36fa8ce2d6c3",
    "operationId": "d44b1e58-dde8-4b87-a90d-65d494ef66b7",
    "amount": 500,
    "status": "REFUNDED",
    "createdAt": "2020-06-30T17:01:09.553505",
    "refundedAt": "2020-06-30T17:01:09.617693"
}
Português, Brasil