Novas tentativas de transação

A Yuno oferece aos comerciantes a capacidade de tentar novamente capturar e reembolsar transações que tenham encontrado erros ou tenham sido recusadas pelo provedor. Esse recurso visa aumentar as taxas de sucesso das transações e melhorar a experiência do usuário. Ao definir a opção simplified_mode campo para true em captura e reembolso Se o Yuno não atender às solicitações de solicitações de pagamento, ele tentará automaticamente repetir as transações com falha até sete vezes em um período de 96 horas. O sistema lida com os seguintes cenários durante o processo de nova tentativa:

Capturar transações

As transações de captura podem encontrar vários status durante e após o processo de nova tentativa. A tabela abaixo detalha esses status:

Pagamento enquanto a nova tentativa está em andamentoPagamento após novas tentativas bem-sucedidasPagamento após tentativas fracassadas
SUCCEEDED / CAPTURE_RETRY_IN_PROCESSSUCCEEDED / CAPTURED ou PARTIALLY_CAPTURED, dependendo do valor.SUCCEEDED / CAPTURE_RETRY_PROCESS_FAILED

Transações de reembolso

As transações de reembolso também têm status específicos durante e após o processo de nova tentativa. A tabela abaixo descreve esses status:

Pagamento enquanto a nova tentativa está em andamentoPagamento após novas tentativas bem-sucedidasPagamento após tentativas fracassadas
SUCCEEDED / REFUND_RETRY_IN_PROCESSREFUNDED / REFUNDED ou SUCCEEDED / PARTIALLY_REFUNDED dependendo do valor.SUCCEEDED / APROVADO

Benefícios

Esse recurso oferece várias vantagens:

  • Melhores taxas de sucesso nas transações: As novas tentativas automáticas aumentam a probabilidade de conclusão bem-sucedida das transações, o que leva a taxas de aprovação mais altas e ao aumento da receita.
  • Melhoria da experiência do usuário: Com a repetição automática de transações com falha, o atrito do usuário é reduzido, melhorando a satisfação e a retenção geral do cliente.
  • Eficiência operacional: A automação das tentativas de nova tentativa otimiza o tempo e os recursos, minimizando a intervenção manual em transações com falha, permitindo que as equipes se concentrem em tarefas estratégicas.

Esquema de repetição

O esquema de novas tentativas é criado para maximizar o sucesso da transação, programando novas tentativas em intervalos estratégicos.

A tabela abaixo descreve os intervalos entre cada nova tentativa. Observe que cada nova tentativa é programada com base no tempo da última tentativa, o que significa que o tempo entre as novas tentativas é cumulativo:

EventoPrazo final após a primeira tentativa
Primeira tentativa-
Segunda tentativa5 minutos
Terceira tentativa50 minutos
Quarta tentativa6 horas
Quinta tentativa24 horas
Sexta tentativa48 horas
Sétima tentativa96 horas

Essa tabela ilustra que cada nova tentativa é realizada com base no tempo decorrido desde a tentativa anterior, não na tentativa inicial. Por exemplo, a quarta tentativa ocorre 6 horas após a terceira tentativa, em vez de 6 horas após a primeira tentativa. A programação completa abrange 7 dias e 7 horas no total.

Exemplos

Abaixo estão exemplos de autorização de captura e solicitações de reembolso usando o modo simplificado.

curl --request POST \
     --url https://api-sandbox.y.uno/v1/payments/id/transactions/transaction_id/capture \
     --header 'X-Idempotency-Key: <Your X-Idempotency-Key>' \
     --header 'accept: application/json' \
     --header 'charset: utf-8' \
     --header 'content-type: application/json' \
     --header 'private-secret-key: <Your private-secret-key>' \
     --header 'public-api-key: <Your public-api-key>' \
     --data '
{
  "amount": {
    "currency": "JPY",
    "value": 300
  },
  "simplified_mode": true,
  "description": "Confirmed",
  "reason": "PRODUCT_CONFIRMED",
  "merchant_reference": "AAB01-432245"
}
'
curl --request POST \
     --url https://api-sandbox.y.uno/v1/payments/id/transactions/transaction_id/refund \
     --header 'X-Idempotency-Key: <Your X-Idempotency-Key>' \
     --header 'accept: application/json' \
     --header 'charset: utf-8' \
     --header 'content-type: application/json' \
     --header 'private-secret-key: <Your private-secret-key>' \
     --header 'public-api-key: <Your public-api-key>' \
     --data '
{
  "simplified_mode": true,
  "description": "Refund",
  "reason": "REQUESTED_BY_CUSTOMER",
  "merchant_reference": "AAB01-432245"
}
'