Ir al contenido

Configuración

Prop Obligatoria Notas
publicKey sí su clave pk_
apiUrl sí https://hub.stablezact.com
isOpen / onClose sí usted controla la visibilidad
config sí el propio pago, ver más abajo
onSuccess sí se dispara al enviar, no al confirmar
onError recomendada se llama con un mensaje cuando algo falla
theme no light o 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 la stablecoin con la que paga el cliente, no una moneda fiat, y amount se expresa en ese token.

Use USDC o USDT. Son los dos únicos tokens configurados en cualquiera de las redes. DAI y BUSD superan la validación inicial pero después fallan, porque ninguna red los admite:

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

Los códigos de moneda fiat se rechazan:

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

Si fija sus precios en fiat, haga la conversión antes de crear el pago. GET /currency/rates devuelve los tipos de cambio que se usan en el resto del sistema.

Su propia referencia para la compra. Póngala en el nivel superior, no dentro de metadata: un orderId de nivel superior también sirve para reconocer un reintento, de modo que una solicitud repetida crea un solo pago en lugar de dos. Un orderId metido dentro de metadata se guarda, pero no sirve para eso. Consulte Reintentar de forma segura.

JSON arbitrario, que se devuelve en cada lectura del pago y se incluye en los webhooks. Úselo para cualquier otro dato que quiera llevar consigo. Se ignora al decidir si una solicitud es un reintento, y por eso la referencia del pedido va en orderId y no aquí.

Dónde se entregan los webhooks de este pago. Configúrelo en cada pago en lugar de hacerlo de forma global; consulte Webhooks.

Las cadenas en las que un cliente puede pagar dependen de las wallets de liquidación configuradas en su cuenta de comerciante, no de nada que haya en config. Una cadena sin wallet no se ofrece, y crear un pago directamente en ella se rechaza:

{
"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"
}