El COPE Checkout SDK es un browser SDK (una librería que simplifica la integración de COPE en tu proyecto) para flujos de checkout del comprador. Te da control sobre la página de producto y la experiencia de compra, mientras COPE se encarga del cobro, el cálculo de impuestos y la creación de pedidos.
Usa el SDK cuando tu sitio posee la experiencia de producto y compra – y COPE posee el resto.
📄 Documentación completa: [Checkout SDK overview - COPE]
Instalación
bash
npm install @copecart/sdk
ts
import { CopeCart } from "@copecart/sdk" const cope = new CopeCart({ publishableKey: "cope_pk_live_...", })Sin bundler – build global:
html
<script src="https://unpkg.com/@copecart/sdk@latest/dist/index.global.js"></script> <script> const cope = new CopeCart.CopeCart({ publishableKey: "cope_pk_live_...", }) </script>El SDK requiere HTTPS – excepto http://localhost durante el desarrollo.
Configuración
Opción | Obligatorio | Por defecto | Notas |
| Sí | – | Empieza con |
| No | COPE production API | Solo cambiar si el soporte de COPE lo indica |
| No | Origen de | Valida las URLs de checkout devueltas por la API |
Flujo típico
ts
const product = await cope.getProduct("prd_...") const cart = await cope.createCart({ currency: product.currency }) await cope.addLine(cart.id, { product_id: product.id, plan_id: product.payment_plans[0].id, quantity: 1, }) await cope.setBuyerIdentity(cart.id, { email: "buyer@example.com", tax_location: { country: "DE", postal_code: "10115" }, }) await cope.reprice(cart.id) const checkout = await cope.checkout(cart.id, { success_url: "https://your-site.example/thank-you", cancel_url: "https://your-site.example/cart", consents: [{ type: "buyer_tos" }], }) cope.redirectToCheckout(checkout)Tras el pago exitoso, COPE redirige a success_url con order_id añadido:
https://your-site.example/thank-you?order_id=ord_...
Métodos principales
Método | Propósito |
| Obtener detalles del producto y planes de pago |
| Crear carrito y almacenar credencial de checkout |
| Añadir producto, plan y cantidad |
| Fijar ubicación y datos de contacto para impuestos y checkout |
| Calcular impuestos, descuentos y totales finales |
| Crear sesión de hosted checkout |
| Redirigir el navegador al hosted checkout |
| Cancelar una sesión de checkout abierta |
Manejo de errores
ts
import { CopeApiError, CopeCartExpiredError, CopeNetworkError, } from "@copecart/sdk" try { await cope.reprice(cart.id) } catch (error) { if (error instanceof CopeApiError) { console.log(error.status, error.code, error.errors) } if (error instanceof CopeCartExpiredError) { const replacement = await cope.createCart({ currency: "EUR" }) } if (error instanceof CopeNetworkError) { console.log("Reintentar más tarde") } }Los errores 4xx son permanentes – corrige el payload y reintenta con una nueva petición. El SDK reintenta automáticamente fallos transitorios de red o servidor con backoff.
Casos de uso
Página de producto propia
Tú construyes la UI, COPE gestiona el cobro, el cálculo de impuestos y la creación de pedidos. Ideal cuando quieres control total sobre la experiencia de compra sin construir tu propio backend de pagos.
Productos multi-plan
Obtén planes de pago dinámicamente desde COPE y preséntalos al comprador – mensual, anual, pago único. El SDK devuelve todos los planes disponibles directamente con el producto.
Enlaces de pago
Crea una sesión de checkout en el servidor y envía la hosted_checkout_url por email, WhatsApp o CRM – sin necesidad de una UI de checkout propia.
Lanzamiento rápido
Integración rápida sin backend de pagos propio. COPE gestiona el cumplimiento PCI, la lógica fiscal y todo el flujo de pago.

