Bizum via Widget

This section explains how to integrate Bizum using DEUNA’s Payment Widget. The user confirms the payment in their banking app, while DEUNA resolves the final status via polling and webhooks.

Prerequisites

Before implementing Bizum payments, ensure you have:

  1. Enabled Bizum in the DEUNA Admin Panel
  2. A generated order token.
  3. Integrated the DEUNA SDK in your project.
  4. Reviewed the Payment Widget documentation for your platform.

Payment Method configuration

Display the** Payment Widget **by passing the Mercado Pago configuration in the paymentMethods parameter.

[
    {
    "paymentMethod": "bank_transfer",
    "processors": ["bizum_push"]
    }
]

Payment Widget - Web

DeunaSDK.initPaymentWidget({
  orderToken: 'YOUR_ORDER_TOKEN',
  paymentMethods: [
    {
      paymentMethod: 'bank_transfer',
      processors: ['bizum_push'],
    },
  ],
  callbacks: { ... },
});

Payment Widget - Android

// MODAL
deunaSDK.initPaymentWidget(
    context = context,
    orderToken = orderToken,
    callbacks = PaymentWidgetCallbacks().apply { ... },
    paymentMethods = listOf(
        mapOf(
            "paymentMethod" to "bank_transfer",
            "processors" to listOf("bizum_push")
        )
    )
)

/// EMBEDDED
PaymentWidgetConfiguration(
    orderToken = orderToken,
    paymentMethods = listOf(
        mapOf(
            "paymentMethod" to "bank_transfer",
            "processors" to listOf("bizum_push")
        )
    ),
    callbacks = PaymentWidgetCallbacks().apply { ... },
    sdkInstance = deunaSDK
)

Payment Widget - iOS

/// MODAL
deunaSDK.initPaymentWidget(
 orderToken: "<DEUNA order token>",
 userToken: ..., // optional
 styleFile: ..., // optional
 callbacks: ...,
 paymentMethods: [
   [ 
     "paymentMethod": "bank_transfer",
     "processors": ["bizum_push"],
   ]
 ]
)

// EMBEDDED
DeunaWidget(
  deunaSDK: deunaSDK,
  configuration: PaymentWidgetConfiguration(
    orderToken: "YOUR_ORDER_TOKEN",
    callbacks: PaymentWidgetCallbacks(
      onSuccess: { order in },
      onError: { error in },
      onEventDispatch: { event, data in }
    ),
     paymentMethods: [
       [ 
         "paymentMethod": "bank_transfer",
         "processors": ["bizum_push"]
       ]
     ]
  )
)

Payment Widget - React Native

/// MODAL
DeunaSDK.initPaymentWidget({
  orderToken: 'YOUR_ORDER_TOKEN',
  paymentMethods: [
    {
      paymentMethod: 'bank_transfer',
      processors: ['bizum_push'],
    },
  ],
  callbacks: { ... },
});