Skip to main content

Información general

@elata-biosciences/app-payments permite que su aplicación abra la caja de Elata y verifique lo que posee el usuario. Elata realiza el pago, recibe el pago en USDCy registra la propiedad. Su aplicación nunca toca billeteras ni detalles de pago.
Abra Mis aplicaciones → su aplicación → Editar → Comercio → Productos. Los propietarios y los miembros autorizados del equipo pueden crear y administrar el catálogo ellos mismos. Guarde el producto y luego copie el contentId asignado en su integración. El identificador es estable y no se puede editar. Los productos se pueden editar o desactivar en lugar de eliminarlos. La desactivación detiene nuevas ventas; siga aplicando los beneficios para propietarios existentes, incluso cuando el artículo ya no aparezca en el catálogo activo. El tablero acepta cantidades ordinarias como 1.00. Las API de productos y las respuestas del catálogo utilizan unidades base enteras USDC : "1000000" significa 1 USDC. La creación de una entrada de catálogo no implementa su beneficio en su aplicación.
El pago debe configurarse para la implementación. El pago de la aplicación que se describe aquí paga USDC en Base a través del divisor. Consulte Qué hay en vivo antes de probar los pagos.

El flujo correcto

Primero controle su interfaz de usuario cuando sea propietario, luego compre y luego aplique el beneficio.
requestPurchase registra que el usuario posee un artículo. Tu aplicación decide lo que hace poseerla.

Cosas que debes saber

Si el usuario ya posee el artículo, Elata omite el pago y devuelve { status: "success", txHash: "" }. El código que verifica if (result.txHash) manejará esto mal.
CatalogItem.priceUsdc está en USDC unidades base (6 decimales): "50000" es $0,05. RequestPurchaseInput.priceUsdc es una sugerencia de visualización de formato libre que Elata ignora. Elata siempre cobra el precio del catálogo.
Cada artículo se compra una vez. Los consumibles (saldos de gasto por uso) y la facturación recurrente no se admiten a través de artículos. Para obtener ingresos recurrentes, utilice un plan de suscripción Suscripciones.
requestPurchase espera hasta 5 minutos para que el usuario finalice el pago. getCatalog, getOwnedItemsy hasItem tienen un valor predeterminado de 10 segundos. Fuera de Elata, utilice un host simulado para las pruebas locales. Trate un error en la consulta de propiedad como propiedad desconocida: ofrezca un reintento o una acción de inicio de sesión, y nunca otorgue un beneficio pagado simplemente porque se agotó el tiempo de espera de la consulta.

Errores

Llamadas rechazadas solo con AppPaymentsError, que tiene un code: Se resuelve un resultado de compra normal cancelled o error ; no rechaza.

Modelo de seguridad

  • Los registros de compra de Elata se crean después de la verificación de pago del lado del servidor. Su interfaz de usuario debe utilizar consultas de propiedad del host como fuente de verdad.
  • Su aplicación nunca ve detalles de pago, claves de billetera o tokens de sesión.
  • Reproducir una solicitud de grabación con el mismo requestId es idempotente. Esto no hace que enviar un segundo pago en cadena sea seguro.
  • El divisor deduce la tarifa de la plataforma configurada y envía la parte del creador a la billetera de pagos. Consulte Ingresos y pagos.

Pruébalo

Estados de pago y UI

Maneje el éxito, la cancelación y los errores por separado. Evite la superposición de intentos de compra. Un pago exitoso y un derecho registrado son pasos separados; desbloquear sólo después de que Elata informe de éxito. Si se liquida un pago pero falla el registro, conserve los detalles de la transacción y dirija al usuario a ayuda de facturación. No envíe automáticamente otro pago. El proceso de pago vuelve a intentar retrasos temporales en la indexación, pero no se garantiza la recuperación de cada error de grabación. Las consultas de propiedad pueden requerir autenticación. En not_authenticated, solicite al usuario que inicie sesión; en caso de error de búsqueda, muestra un estado de reintento. No trate silenciosamente a un propietario desconocido como si fuera un no propietario confirmado. La aplicación no conecta billeteras por sí misma. Elata checkout gestiona la conexión de la billetera y la confirmación del pago, incluida la interfaz de la billetera integrada cuando se utiliza. Los créditos por funciones medidas no son un saldo de pago alternativo para estos artículos.

Prueba tu integración

  • Vuelva a abrir la aplicación y restaure los beneficios que ya posee de la propiedad del host.
  • Mostrar Utilice o Propiedad para artículos comprados y Comprar para artículos disponibles sin propietario.
  • Maneje una respuesta exitosa que ya sea de propiedad con un hash de transacción vacío.
  • Maneje los estados de cierre de sesión, cancelación, fondos insuficientes, pago no disponible y error de búsqueda.
  • Desactive un artículo y verifique que los propietarios existentes aún puedan utilizar su beneficio.
Para acceder a la suscripción, utilice Suscripciones, en lugar de simular facturación recurrente con compras repetidas de artículos.