Skip to main content
DEUNA (deuna.com) is a payment orchestrator. Fire spark charges every DEUNA method through its Payment Widget: the DEUNA widget collects the payment, Fire spark creates the DEUNA order with your private key, and the status Fire spark reads back from DEUNA is the one that counts.

Requirements

  • A DEUNA merchant account with the processors you want enabled, and its public and private API keys for each environment (sandbox and production are separate).
  • The DEUNA SDK in your channel: @deuna/react-native-sdk (React Native 0.73+, Expo SDK 50+ with a development build) or the DEUNA Web SDK. Fire spark does not bundle it; your channel opens the widget.
  • Processors set to capture on authorization. The widget flow has no separate capture step.

Activate it

  1. In the dashboard, open your merchant, go to Payments, and create a payment with the provider DEUNA and the method you need (CARD, WALLET, or BANK_TRANSFER).
  2. In Connection Settings, fill in:
  1. In the DEUNA Admin, set the webhook URL to https://<your-api-host>/api/webhooks/payments/deuna for each environment.

Use it in the SDK

Your channel implements a small bridge that opens the DEUNA widget and resolves with the first final callback. The adapter does the rest: it asks Fire spark for the DEUNA order token, opens the widget through the bridge, and confirms the status.
Initialize the DEUNA SDK with publicApiKey: payment.config.public_key and the environment of the payment. For Mercado Pago on React Native, pass an InAppBrowserAdapter (@deuna/react-native-in-app-browser) when you initialize the DEUNA SDK. On web, load the DEUNA Web SDK from its CDN and implement the same bridge with DeunaSDK.initPaymentWidget. payIntent({ payment }) places one real tender. To split DEUNA with another method, call order.setTenders with an allocation and then payIntent(). See Use payments in the SDK.

What happens on each widget callback

Storefront endpoints

The adapter calls these through createDeunaWidgetApi. They use the storefront session.

What the customer sees

The DEUNA widget, in Spanish by default (language: "es"). The result metadata includes attempt_reference and provider (order_token, processor, status, transaction_id). Wallet details record the processor and the DEUNA reference; card tenders have no card details. There is no voucher.

Webhooks

POST /api/webhooks/payments/deuna updates the tender when DEUNA notifies a status change. With Webhook signature set, X-Signature must be the Base64 HMAC-SHA256 of the raw body with that secret, or the notice is rejected (401). Fire spark always reads the order back from DEUNA with your private key before changing the tender, so a notice without a signature only counts once DEUNA confirms it.

Refunds

Fire spark does not refund DEUNA payments. A reversal of a paid DEUNA tender is flagged for manual review: refund it in the DEUNA Admin. DaviPlata payments cannot be refunded through DEUNA: request the reimbursement from DaviPlata manually.

Common errors

Compatibility