SDK

Exemplo de pagamento cripto em JavaScript: um fluxo que funciona hoje

Exemplo de pagamento cripto em JavaScript: um fluxo funcional com a API v1, uma chamada no servidor e um webhook, e a chamada do SDK marcada como roteiro.

Este exemplo de pagamento cripto em JavaScript mostra um fluxo que funciona hoje: o servidor cria o pagamento com a API v1 em produção, o navegador é redirecionado para a página hospedada e o webhook confirma o pedido. A chamada do Low-Code SDK no final é apenas uma prévia do roteiro.

O fluxo em quatro passos

O cliente clica em pagar, o seu servidor cria o pagamento, o navegador vai ao redirectUrl e o webhook confirma o status final. Cada passo é uma chamada HTTP comum ou um redirecionamento, então o exemplo não precisa de biblioteca especial.

A chamada no servidor em JavaScript

Um manipulador em Node.js envia POST /api/v1/payment com o cabeçalho x-api-key, o id do pedido e o preço em USD, e devolve o redirectUrl ao navegador. A chave nunca sai do servidor.

POST/api/v1/payment
x-api-key: sk_live_…

{
  "id": "order_1024",
  "price": 149.99,
  "paymentSystemId": 12
}

// 201 Created
{
  "data": {
    "id": "8f3k2a1c",
    "redirectUrl": "https://my.qvard.com/pay/8f3k2a1c"
  },
  "code": 201,
  "message": "success",
  "status": true
}

O lado do navegador

A página só precisa de um botão que chame o seu manipulador e depois siga o redirectUrl devolvido. No navegador não há chave nem lógica de valores.

O manipulador do webhook

O endpoint do webhook lê id e status, confere o cabeçalho x-api-key e marca o pedido como pago quando o status é paid. Torne o manipulador seguro para repetição, porque a mesma mensagem pode chegar duas vezes.

POSTyour-webhook-url
x-api-key: sk_live_…

{ "id": "order_1024", "status": "paid" }

A chamada prevista do SDK

Espera-se que o Low-Code SDK do roteiro abra o mesmo fluxo a partir da página com uma única chamada. É uma prévia de uma API não lançada, mostrada apenas para orientação, e não deve ser usada em produção.

Teste antes de ir ao ar

Crie uma fatura de demonstração, pague na página hospedada e confirme que o seu webhook recebe o status final e marca o pedido.

JSroadmap: not released yet
// ROADMAP preview: the SDK is not released yet.
QvardCheckout.open({ amount: 149.99, currency: "USD", orderId: "order_1024" });

FAQ

Este exemplo usa um SDK?

Não. O fluxo que funciona usa chamadas HTTP comuns e um redirecionamento. A chamada do SDK é apenas prévia do roteiro.

Posso usar a chamada QvardCheckout.open() em produção?

Não. O SDK ainda não foi lançado. Use a API, o redirectUrl e o webhook.

Onde a chave de API deve ficar?

Somente no servidor. O navegador recebe apenas o redirectUrl.

Como saber que o pagamento foi concluído?

Somente quando o webhook entregar o id e o status paid.

Artigos relacionados

Artigos relacionados