Desarrolladores
Integración Embebida
18min
el sdk para embeber le permite embeber de manera fácil y rápida nuestra solución de botón de pago creación la inserción del embebido comienza al crear el botón de pago vía api en este punto, es necesario añadir dentro del nodo options los atributos domain y embed "options" { "embed" true, "domain" "eldominiodelsitio com ar" } implementación del sdk versión la versión actual del sdk es 1 0 23 insertar en el sitio de manera fija en la cabecera insertar en el sitio dinámicamente en el body cargá nuestra librería javascript en tu sitio creación y eventos el modal de pagos (tanto para checkout como suscripciones) puede ser abierto utilizando el botón de unicobros o a través del propio código en ambas situaciones, es necesario definir algunas propiedades y renderizar los objetos correspondientes documento html dentro del body del html donde se vaya a insertar el modal, es necesario definir un div con la propiedad id en función del tipo de apertura que se vaya a utilizar botón de unicobros apertura por código javascript es necesario definir una variable que contiene todos los manejadores de eventos para el modal opciones para botón de pago var options = { id "{id checkout}", type "checkout", onresult (data) => { // onresult es llamado cuando se toca el botón cerrar window\ mobbexembed close(); }, onpayment (data) => { console info("payment ", data); }, onopen () => { console info("pago iniciado "); }, onclose (cancelled) => { console info(`${cancelled ? "cancelado" "cerrado"}`); }, onerror (error) => { console error("error ", error); }, }; renderización/inicialización el proceso de renderización o inicialización depende de cuál sea la modalidad para la apertura del modal consiste en definir una función de javascript que va a realizar el proceso y que es llamada desde el punto donde se insertó el sdk en la página botón de pago function rendermobbexbutton() { window\ mobbexembed render(options, "#mbbx button"); } apertura por código function initmobbexpayment() { var mbbxbutton = window\ mobbexembed init(options); mbbxbutton open(); } resultado de la operación el resultado de la operación de ejemplo será obtenido dentro del método onpayment del botón { "id" "ks6d18und", "status" { "code" "2", "text" "en espera", "message" "el cupón vence a los 5 días de emitido " } } opciones las siguientes opciones pueden ser provistas al botón unicobros en la renderización o inicialización inicializadores type tipo de pago embebido sólo acepta 2 opciones checkout (checkout) o payment source (cambio de medio de pago para suscriptores) id id de checkout generado en el servidor o id de suscripción, dependiendo el tipo sid id de suscriptor (sólo para suscripciones) callbacks onpayment (data) => { } onerror (error) => { } onopen () => { } onclose (cancelled) => { } el método onclose será llamado al cerrar el modal de pagos la variable cancelled será true o false dependiendo de que el modal haya sido cerrado antes de realizar la operación o después, respectivamente el método onpayment será llamado al procesarse una operación, independientemente del método onclose , y contendrá dentro de la variable data toda la información relacionada al estado de dicha operación personalización button objeto javascript con las siguientes opciones { "text" "pagar con unicobros", "image" "https //res unicobros com/images/sources/unicobros png", "backgroundcolor" "rgb(137,0,255)", "textcolor" "rgb(255, 255, 255)", "textsize" "1rem" } creación de servicio para embeber sólo se deben crear botón de pago del lado servidor y compartir únicamente el id o uid generado por unicobros botón de pago ejemplo esto es un ejemplo de la utilización de las opciones especiales en php la creación del botón de pago siempre debe realizarse desde el lado servidor, ya que sino quedarían expuestas las credenciales de su cuenta para más ejemplos ver la documentación de boton de pago https //ayuda unicobros com ar/irpd3rjz0 qkzvfqxeo2f \<?php $request = new httprequest(); $request >seturl('https //api unicobros com ar/p/checkout'); $request >setmethod(http meth post); $request >setheaders(array( 'cache control' => 'no cache', 'content type' => 'application/json', 'x lang' => 'es', 'x access token' => 'd31f0721 2f85 44e7 bcc6 15e19d1a53cc', 'x api key' => 'zj8lftbx6ba8d611e9io13fdzawj0qmko1hn1yij' )); $request >setbody('{ "total" 100 2, "currency" "ars", "reference" "2982 2xtpxlgsawccquyobuv4semlymv0n6ox6moridmw", "description" "descripción de la venta", "items" \[{ "image" "https //unicobros com ar/wp content/uploads/2019/03/web logo png", "quantity" 2, "description" "mi producto", "total" 50 }, { "image" "https //unicobros com ar/wp content/uploads/2019/03/web logo png", "quantity" 1, "description" "mi otro producto", "total" 50 2 }], "options" { "domain" "midominio com", "embed" true }, "return url" "https //unicobros com ar/sale/return?session=56789", "webhook" "https //unicobros com ar/sale/webhook?user=1234" }'); try { $response = $request >send(); echo $response >getbody(); } catch (httpexception $ex) { echo $ex; } ?>