Print Receipt In-App Integration

Processing a Print Receipt Request

To print a receipt using the In-App Integration method, utilize Easypay's internal PrintImage handler to send the base64-encoded receipt data directly within the Easypay app environment.

Example Code:

// Function to print receipt using In-App Integration
async function printReceiptInApp(base64Receipt) {
    // Check if the PrintImage handler is available
    if (window.PrintImage) {
        const printRequest = {
            method: "PrintImage",
            data: base64Receipt, // Base64-encoded receipt image
        };
        
        // Convert the request to JSON
        const message = JSON.stringify(printRequest);

        try {
            // Send the print request to Easypay's PrintImage handler
            await window.PrintImage.postMessage(message);
            console.log("Print request sent (In-App):", printRequest);
        } catch (error) {
            console.error("Failed to send print request (In-App):", error);
            // Optionally, notify the user or implement fallback logic
        }
    } else {
        console.error("PrintImage handler is not available.");
        // Optionally, fallback to WebSocket Integration or notify the user
    }
}

// Example usage:
const base64Receipt = "your_base64_receipt_here"; // Replace with your base64 receipt
printReceiptInApp(base64Receipt);

Explanation:

  • Method: "PrintImage"

  • Purpose: Sends the base64-encoded receipt image to Easypay's PrintImage handler within the Easypay app for printing.

  • Parameters:

    • method: Specifies the action to perform, which is "PrintImage" in this case.

    • data: The receipt image encoded in base64 format.

Processing Open Cash Drawer Request

// Function to open the cash drawer using In-App Integration
function openCashDrawerInApp() {
    // Check if the OpenDrawer handler is available
    if (window.OpenDrawer) {
        const message = JSON.stringify({ method: "OpenDrawer" });
        try {
            // Send the open drawer request to Easypay
            window.OpenDrawer.postMessage(message);
            console.log("Open drawer request sent to Easypay.");
        } catch (error) {
            console.error("Failed to send open drawer request:", error);
            // Optionally, notify the user about the failure
        }
    } else {
        console.error("OpenDrawer handler is not available.");
        // Optionally, fallback to WebSocket Integration or notify the user
    }
}

// Example usage:
openCashDrawerInApp();

Explanation:

  • Method: "OpenDrawer"

  • Purpose: Sends a request within the Easypay app to open the physical cash drawer. This method is suitable for scenarios where user interaction within the app environment initiates the cash drawer opening.

  • Parameters:

    • method: Specifies the action to perform, which is "OpenDrawer" in this case.

    • No additional parameters are required for this method.

Last updated