Pular para o conteúdo

Configuração

Prop Obrigatório Notas
publicKey sim a sua chave pk_
apiUrl sim https://hub.stablezact.com
isOpen / onClose sim controla a visibilidade
config sim o próprio pagamento, ver abaixo
onSuccess sim disparado no envio, não na confirmação
onError recomendado chamado com uma mensagem em caso de falha
theme não light ou dark
config={{
amount: 49.99,
currency: 'USDC', // USDC or USDT
customerEmail: 'customer@example.com',
callbackUrl: 'https://yourstore.com/webhooks/stablezact',
orderId: 'ORD-1234',
metadata: { basket: 'b-99', channel: 'web' },
}}

currency indica a stablecoin em que o cliente paga, não uma moeda fiduciária, e amount é expresso nesse token.

Use USDC ou USDT. São as duas únicas configuradas em qualquer rede. DAI e BUSD passam a validação inicial, mas depois falham, porque nenhuma rede as suporta:

{ "error": "Currency DAI is not supported on the base network" }

Os códigos de moedas fiduciárias são rejeitados:

{
"success": false,
"error": "Validation failed",
"message": "Unsupported currency: GBP"
}

Se os seus preços estiverem em moeda fiduciária, faça a conversão antes de criar o pagamento. GET /currency/rates devolve as taxas usadas no resto do sistema.

A sua própria referência para a compra. Mantenha-o no nível superior, não dentro de metadata: um orderId no nível superior também é usado para reconhecer uma repetição, para que um pedido repetido crie um pagamento e não dois. Um orderId colocado dentro de metadata é guardado, mas não serve para isso. Consulte Repetir com segurança.

JSON arbitrário, devolvido em cada leitura do pagamento e incluído nos webhooks. Use-o para tudo o resto que queira transportar. É ignorado quando se decide se um pedido é uma repetição, e é por isso que a referência da encomenda pertence a orderId e não a este campo.

O endereço para onde são entregues os webhooks deste pagamento. Defina-o por pagamento e não de forma global; consulte Webhooks.

As redes em que um cliente pode pagar são determinadas pelas wallets de liquidação configuradas na sua conta de comerciante, não por nada em config. Uma rede sem wallet não é oferecida, e a criação direta de um pagamento nessa rede é rejeitada:

{
"error": "You haven't set up a wallet address for the Polygon network",
"message": "Please configure a Polygon-specific wallet in your merchant settings before accepting payments on this network.",
"network": "polygon"
}