API
Skip to main content

Enviar pedido de pagamento

Fluxo de Pagamento

O processo de pagamento com o terminal cloud envolve comunicação entre o seu sistema e o terminal:

1. Iniciação do Pagamento (via API)

O seu sistema inicia o pagamento remotamente através da API PayPay:

Fluxo:

  1. Sistema envia pedido para API PayPay:
Endpoint
POST /terminals/{uuid}/payments
Exemplo básico
{
"amount": 100,
"code": "sale-code",
"summary": "sale-description"
}
Parâmetros
ParâmetroTipoObrigatórioDescrição
uuidstring✅ SimUUID do terminal para o qual irá ser enviado o pedido de pagamento
amountinteger✅ SimMontante
codestring❌ NãoCódigo indicado pelo comerciante, por exemplo, código da encomenda do sistema
summarystring❌ NãoDescrição indicado pelo comerciante, por exemplo, descrição da encomenda do sistema
  1. API PayPay comunica com o terminal de forma assíncrona
  2. Terminal recebe e apresenta o valor automaticamente ao operador
Tempo de espera

O terminal aguarda 1 minuto pela apresentação do cartão.

  1. API PayPay devolve a resposta do sucesso ou não do pedido assíncrono, enquanto o terminal aguarda pela apresentação do cartão.
Resposta da API
{
"date": "2025-09-01T13:06:22+01:00",
"success": true,
"data": {
"id": "1",
"clientId": "502056800",
"type": "payment",
"amount": 100,
"stateDetails": {
"state": "pending_confirmation",
"createdAt": "2025-09-01T13:06:22+01:00"
},
"paymentMethod": {
"code": "CC",
"type": "TPA"
},
"code": "order-code",
"summary": "product-description",
"availableMethods": [
{
"code": "CC",
"type": "TPA",
"name": "Credit\/Debit card Physical TPA"
}
],
"bankAccount": {
"code": "O9uFVmSZ",
"bankName": "Banco",
"last4digits": "8513"
},
"createdAt": "2025-09-01T13:06:22+01:00",
"updatedAt": "2025-09-01T13:06:22+01:00"
}
}

Estrutura da Resposta

CampoTipoDescrição
idstringID do pagamento PayPay
clientIdstringNIF da entidade a que o pagamento ficou associado
typestringTipo de operação
stateDetails.statestringEstado do pagamento
stateDetails.createdAtdatetimeDate do estado
paymentMethodobjectMétodo de pagamento escolhido para pagamento
codestringCódigo indicado pelo comerciante
summarystringDescrição indicado pelo comerciante
availableMethodsobjectFormas de pagamento disponíveis para o pagamento
bankAccountobjectIdentificação do banco que irá receber os fundos
createdAtdatetimeData de criação do registo
updatedAtdatetimeData da última atualização
Estrutura da Resposta

A estrutura da resposta varia consoante os parâmetros enviados no pedido. Por exemplo se enviar informação do cliente (customer) a mesma é retornada também.

  1. Fluxo de Pagamento no terminal