Desarrolladores
...
Checkout
Integración Embebida
el sdk para embeber le permite embeber de manera fácil y rápida nuestra solución de checkout en cualquier sitio web creación la inserción del embebido comienza al crear el checkout vía api en este punto, es necesario añadir dentro del nodo options los atributos domain , embed y embedversion este último es opcional, si no se pasa por defecto siempre tomará la última versión "options" { "embed" true, "domain" "eldominiodelsitio com ar", "embedversion" "1 2 0" } implementación del embebido versión la versión actual del sdk es 1 2 0 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 puede ser abierto utilizando a través del propio código 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 javascript es necesario definir una variable que contiene todos los manejadores de eventos para el modal ejemplos de checkout y checkout con medios de pago ejemplo checkout var embed = window\ giredevembed init({ onresult (data) => { // onresult es llamado cuando se toca el botón cerrar window\ giredevembed close(); }, onpayment (data) => { }, onopen () => { }, onclose (cancelled) => { location reload(); }, onerror (error) => { console error('error ', error); }, }); embed open({ type 'checkout', id 'xxxxxxxxx'}); ejemplo checkout con medios de pago var embed = window\ giredevembed init({ onresult (data) => { // onresult es llamado cuando se toca el botón cerrar window\ giredevembed close(); }, onpayment (data) => { }, onopen () => { }, onclose (cancelled) => { location reload(); }, onerror (error) => { console error('error ', error); }, }); embed open({ type 'checkout', id 'xxxxxxxxx', paymentmethod 'arg qr' }); 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 contenedor de gire en la renderización o inicialización inicializadores type sólo acepta checkout paymentmethod permite filtrar el tipo de medio de pago (aplica a checkout) 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 esto le permitirá mostrar las diferentes opciones en botones separados en su e commerce y también poder lanzar la integración embebida directamente en un medio de pago por ejemplo, quiero colocar un botón de "pagá con qr" separado y que el usuario al clickear abra directamente el pago con qr en vez de llegar a la pantalla de todos los medios de pago, para esto al crear el "embebido" en las opciones voy a utilizar el "grupo (group)" y el "subgrupo (subgroup)" de esta manera "qr\ arg interoperable" (conjugando ambos separándolos por dos puntos al medio) esto hará que al abrir el embebido vaya directamente a la opción de pagar con qr creación de servicio para embeber sólo se deben crear checkouts del lado servidor y compartir únicamente el id o uid generado por gire checkout ejemplo esto es un ejemplo de la utilización de las opciones especiales en php la creación del checkout 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 https //docs bdp gire com/wdaypkyajxvlsfv1sxlv6 \<?php $request = new httprequest(); $request >seturl('https //api bdp gire com/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" \[{ "quantity" 2, "description" "mi producto", "total" 50 }, { "quantity" 1, "description" "mi otro producto", "total" 50 2 }], "options" { "domain" "midominio com", "embed" true, "embedversion" "1 2 0" }, "return url" "https //gire com/sale/return?session=56789", "webhook" "https //gire com/sale/webhook?user=1234" }'); try { $response = $request >send(); echo $response >getbody(); } catch (httpexception $ex) { echo $ex; } ?>