arrow_back_ios

¿Cómo puedo consultar el estado del pedido al procesar un pago en mi sitio web?

1. Necesitas obtener el userId y el checkStateToken.
En la API de pagos, estos se proporcionan en la solicitud inicial para crear un pago. Puedes insertarlos directamente en los parámetros de tu página de pago.
2. En tu página de procesamiento de pagos, agrega el siguiente script:
<script src="https://app.bukza.com/static/js/bukzaCheckState.js"></script>
3. Cuando el DOM esté listo, ejecuta el siguiente código:
var bukzaCheckState = new BukzaCheckState({
    userId: 12345,
    token: 'eyJVc2VySWQiOjIsIk9yZGVyS...Ws9In0%3D',
    handler: function (result) {
        console.log(result); //{isFinished:true, isValid:true, amount:99.99}
    }
});
bukzaCheckState.bind();
Este script verificará el estado del pedido. Cada 10 segundos, recibirá el resultado y llamará a tu función handler. En el handler, puedes revisar el resultado y tomar la acción adecuada: mostrar un error, regresar al usuario a la página anterior o mostrar una página de éxito.
Si no se especifican los valores de userId y token, el script los obtendrá de los parámetros de la URL de la página: bukzaUserId y bukzaCheckStateToken.

Código de ejemplo

Puedes ver un ejemplo real en el código fuente de la página https://app.bukza.com/paw.html. Allí se utiliza el siguiente código para el handler:
handler: function (result) {
    if (result) {
        if (result.isFinished) {
            if (result.isValid) {
                //el pedido se completó correctamente
                window.location.href = 'https://app.bukza.com/result.html?result=success&culture=en';
            } else {
                //el pedido se completó pero por alguna razón no es válido
                window.location.href = 'https://app.bukza.com/result.html?result=warning&culture=en';
            }
        } else {
            if (result.isValid) {
                if (result.amount != window.amount) {
                    //el importe a pagar cambió, regresando a la página anterior
                    window.history.go(-1);
                } else {
                    //todo está bien, esperando el pago
                }
            } else {
                //el pedido se volvió inválido, regresando a la página anterior
                window.history.go(-1);
            }
        }
    }
    else {
        window.location.href = 'https://app.bukza.com/result.html?result=error&culture=en';
    }
}