Credit Handling on HP

Overview

Use HP Payment feature to proper charging of balance and quotas, credit reservations and stop-on-zero on HP embedded terminals.

Recommendation

Client certificate validation

Due the security reasons, it is recommended to set the following management property:

clientCertificateValidationMethod - Validation method used for client certificate validation when communicating with Dispatcher Paragon Embedded Terminals.

to: Always

Process overview

Here you can find several examples of possible user scenarios:

Dispatcher Print with sufficient balance

  1. The user authenticates on the printer

  2. The user selects the Dispatcher Print application

  3. The user selects the print job(s) and clicks on the Start button

  4. The printer will display the "Printing in progress" dialog

  5. All papers from the print job(s) are successfully delivered.

Dispatcher Print with insufficient balance

  1. The user authenticates on the printer

  2. The user selects the Dispatcher Print application

  3. The user selects the print job(s) and clicks on the Start button

  4. The printer will display the "Insufficient balance" dialog

  5. No papers from the copy job(s) are delivered.

Copy with sufficient balance, case 1

  1. The user authenticates on printer

  2. The user selects the Copy application

  3. The user inserts all papers for copying to the printer

  4. The user clicks on the Start button

  5. The "Contacting Quota Service" dialog is displayed

  6. The copy job starts.

  7. All papers from the copy job(s) are successfully delivered.

Copy with sufficient balance, case 2

  1. The user authenticates on printer

  2. The user selects the Copy application

  3. The user inserts all papers for copying to the printer

  4. The user clicks on the Start button

  5. The "Contacting Quota Service" dialog is displayed

  6. The copy job starts

  7. The "Contacting Quota Service" dialog is displayed

  8. The copy job continues

  9. Steps 7-8 may occur multiple times

  10. All papers from the copy job(s) are successfully delivered.

Copy with insufficient balance, case 1

  1. The user authenticates on printer

  2. The user selects the Copy application

  3. The user inserts all papers for copying to the printer

  4. The user clicks on the Start button

  5. The "Contacting Quota Service" dialog is displayed

  6. The "Insufficient balance" dialog is displayed

  7. No papers from the copy job(s) are delivered.

Copy with insufficient balance, case 2

  1. The user authenticates on printer

  2. The user selects the Copy application

  3. The user inserts all papers for copying to the printer

  4. The user clicks on the Start button

  5. The "Contacting Quota Service" dialog is displayed

  6. The copy job starts

  7. The "Contacting Quota Service" dialog is displayed at least once

  8. The "Insufficient balance" dialog is displayed

  9. Not all papers from the copy job(s) are delivered.

Copy with some error occurrence

  1. If any error dialog occurs during scenario "Copy with insufficient balance, case 1" or "Copy with insufficient balance, case 2", follow the instructions in dialog.

Native print

  1. Scenarios for Native print are identical to scenarios for Copy

Dispatcher Scan, balance is sufficient for at least one page

  • The user authenticates on printer

  • The user selects the Dispatcher Scan application

  • The user inserts all papers for copying to the printer

  • The user clicks on the Start button

  • The "Contacting Quota Service" dialog is displayed

  • The scan job starts

  • The scan job is successfully delivered to the target medium

  • If the scan job was more expensive than users credit balance, user reached the negative balance

Dispatcher Scan, balance is not insufficient for even one page

  • The user authenticates on printer

  • The user selects the Dispatcher Scan application

  • The user inserts all papers for copying to the printer

  • The user clicks on the Start button

  • The "Contacting Quota Service" dialog is displayed

  • The scan job starts

  • The "Insufficient balance" dialog is displayed

  • The scan job is not successfully delivered to the target medium

Dispatcher Scan with Page quotas entitlement

  • The user authenticates on printer

  • The user selects the Dispatcher Scan application

  • The user inserts all papers for copying to the printer

  • The user clicks on the Start button

  • The "Contacting Quota Service" dialog is displayed

  • The scan job starts

  • The scan job is successfully delivered to the target medium

Native scan

  1. Scenarios for Native scan are identical to scenarios for Dispatcher Scan

Credit handling for Dispatcher Print application

Stop on zero for Dispatcher Print application

For Dispatcher Print application, the print job parser is used to determine the price of the job(s) selected for print.

If the parser determines, the current credit/quota balance is not sufficient for all selected print jobs, the print will not start.

The user will be allowed to print jobs with 0 price when having 0 balance.

The user will not be allowed to print anything when having negative balance.

The user can reach the negative balance due to processing Dispatcher Print jobs in case there is mismatch between print cost estimated by a print job parser and the final print cost reported by a printer.

Credit reservation for Dispatcher Print application

When using the Dispatcher Print application, the necessary amount will be reserved from user's account before the print.

If the user does select the "Print All" checkbox during authentication, the reservation for the jobs will not be performed.

If the user does not select the "Print All" checkbox during authentication and he selects all jobs in the Dispatcher Print application instead, the reservation will be performed.

Example of screens for Dispatcher Print:

images/download/attachments/284929982/insufficient_credit-version-1-modificationdate-1576153022170-api-v2.png

images/download/attachments/284929982/insufficient_quotas-version-1-modificationdate-1576153022277-api-v2.png

Legend for images above:

  • print jobs have been released message

  • insufficient credit message

  • insufficient page quotas message

Credit handling for Copy and Native Print application

Stop on zero for Copy and Native print

For both the Copy operation and the Native print operation, a stop-on-zero algorithm was implemented. A printer will contact the Dispatcher Paragon system to ensure the job is allowed to be processed.

There are three main phases of the stop-on-zero algorithm:

  1. Check before processing

  2. Job processing

  3. Additional credit request

The flow of the stop-on-zero algorithm can be seen in following diagram:

images/download/attachments/284929982/QuotaService_diagram_easy-version-1-modificationdate-1576151164790-api-v2.png

Check before processing

The main goal of the check before processing is to determine whether or not can the processing of the job be started.

The check before processing can result with the "Continue without limits" result. This means the printer can start processing the job without any limits - no credit checking, no additional credit requesting. This can happen for example when:

  • the requested operation is not limited by Stop on Zero algorithm (e.g. fax, ...)

  • the user has the Prepaid account entitlement set, but all prices in pricelist are zero

  • the user has the Page quotas entitlement set, but does not have any relevant quotas (e.g. user has quotas only for print but the requested operation is copy)

  • the user has the Unlimited entitlement set

In case the requested operation is not considered as "Continue without limits" operation, the reservation algorithm will compute the amount of credit/quotas. This amount is then reserved (blocked) on the user's account and assigned to the printer.

The check before processing can result by failure. In this case, the processing of the job is not started and corresponding dialog is displayed to the user.

The failure may be caused for example when:

  • the user does not have sufficient credit/quotas

  • the user has the No access entitlement set

  • the username provided by the printer differs from username of logged user

  • etc.

Additional credit request

If the first amount of credit assigned to printer is not sufficient for processing the entire job, printer will again contact the Quota Service and ask for assigning more credit.

If possible, Quota Service will reserve (block) additional credit/page-quotas on user's balance and assign it to printer.

Printer can ask for additional credit multiple times, based on the print job size, available credit and size of the reservation step.

During additional credit request it is possible to result with failure, for example if there is no more credit left to be reserved and assigned to printer.

Computing the amount of credit assigned to a printer during each credit request

In case of incoming credit assignment request, the Quota service has to determine, how much credit/page-quotas will be reserved (blocked) and assigned to a printer.

By assigning too small amount of credit/page-quotas, the job processing would be ineffective and user-unfriendly, since the printer would be constantly contacting Quota Service for additional batch of credit.

By assigning too big amount of credit/page-quotas, all available credit/page-quotas could be needlessly reserved (blocked) on user's account and user could not for example run another job on second device,

For determination of the proper credit/page-quotas amount to be assigned during each credit assignment request, the kmReservationStep property is used. The kmReservationStep is a multiplicator used to define the maximum amount of credit/quota reserved by the printer.

In case of prepaid account entitlement, the final amount of the credit reservation is the price of the most expensive job multiplied by this value.

In case of page quotas entitlement, first the available amount for each assigned quota is limited by the kmReservationStep value. After this limitation, the printer credit is derived from the strictest page quotas.

Credit handling for Dispatcher Scan and Native Scan application

Stop on zero for scanning

For both the Dispatcher Scan operation and the Native scan operation, a stop-on-zero algorithm was implemented. A printer will contact the Dispatcher Paragon system to ensure the job is allowed to be processed.

There are two main phases of the stop-on-zero algorithm:

  1. Check before processing

  2. Job processing

The flow of the stop-on-zero algorithm can be seen in following diagram:

images/download/attachments/284929982/QuotaService_diagram_scan-version-1-modificationdate-1576151164433-api-v2.png


Check before processing

The main goal of the check before processing is to determine whether or not can the processing of the job be started.


In case of Page quotas entitlement, the job will always get the permission to continue without limitations, since Page quotas cannot be applied to scanning.

In case of Prepaid account entitlement, the Quota Service first performs a check, if the user has sufficient balance for scanning at least one page. If user has insufficient balance for even one page, then the operation will result with failure, and the scan operation will not start. The user can reach the negative balance.

Troubleshooting - possible dialogs

Insufficient balance issue during pre-check

In case the user has insufficient credit/page-quotas balance for processing one cheapest page, following dialog is displayed and the job is cancelled:

images/download/attachments/284929982/GetStartJobPrePromptResult_insufficient_credit-version-1-modificationdate-1576151166223-api-v2.png

Insufficient balance issue during additional credit request

In case the user has insufficient credit/page-quotas balance for assigning additional credit to printer, following dialog is displayed and the job is cancelled:

images/download/attachments/284929982/GetLimitReachedPostPromptResult_insufficient_credit-version-1-modificationdate-1576151166247-api-v2.png

Credit reservation issue during pre-check

In case of credit reservation issue during pre-check, following dialog is displayed and the print job is cancelled.

This may be cause for example due to lost connection to payment system or other system error.

images/download/attachments/284929982/GetStartJobPrePromptResult_reservation_fail-version-1-modificationdate-1576151166317-api-v2.png

Credit reservation issue during additional credit request

In case of credit reservation issue during additional credit request, following dialog is displayed and the print job is cancelled.

This may be cause for example due to lost connection to payment system or other system error.

images/download/attachments/284929982/insuff-version-1-modificationdate-1576151166337-api-v2.png

Authentication issue during pre-check

In case of any authentication issue, following dialog is displayed and the print job is cancelled:

This will occur in any of following situations or in combination of these situations:

  • user is not authenticated on the printer (authentication expired, system error)

  • job metadata from printer do not contain information about the authenticated user

  • job metadata from printer contain the username which is different than username of authenticated user

images/download/attachments/284929982/GetStartJobPrePromptResult_user_not_authenticated-version-1-modificationdate-1576151166403-api-v2.png

Context issue during additional credit request

In a very rare case, user may encounter a context issue during additional credit request.

This means the Quota Service is unable to get necessary information to increase the reservation.

images/download/attachments/284929982/GetLimitReachedPostPromptResult_context_not_found-version-1-modificationdate-1576151166423-api-v2.png

Troubleshooting - feature limitations details

The user can reach the negative balance in certain cases - no reservation performed when checking "Print All" during authentication

If the user does select the "Print All" checkbox during authentication, the reservation for the jobs will not be performed.

Note: the user cannot start the Dispatcher Print if the estimated price of the job(s) exceeds his available credit balance. The user will be correctly charged. The only issue is possibility to get to negative balance when using two ore more printers simultaneously.

Note: If the user does not select the "Print All" checkbox during authentication and he selects all jobs in the Dispatcher Print application instead, the reservation will be performed.

The user can reach the negative balance in certain cases - insufficient minimum balance on prepaid account for copy/native print/scanning

This limitation relates to users with prepaid account entitlement, who use the copy application, native print application or the scanning application.

A minimum balance on prepaid account needs to be correctly set in order to prevent users to get to negative balance on their account. This minimum balance will be used as a safety margin, because the printer is unable to stop exactly on 0. This is caused by the depth of the device's page pipeline. When the printer detects, that all assigned credit has been depleted, one or more extra paper sheets can be delivered to the output bin before the job is indeed stopped. The job may even succeed if the assigned credit is depleted just a few pages before finishing the job. This is a known and documented limitation of the HP OXPd SDK.

All processed papers will be correctly accounted, but user could get to negative balance, if the minimum balance is not properly set. Therefore setting the minimum balance to some convenient value is recommended.

Note: During experimental testing, printer never delivered more than 15 extra pages over the limit. Therefore the minimum balance could be set e.g. to fifteenfold of the most expensive page price. However this number may vary for different printer models.

The user can reach the negative balance in certain cases - insufficient minimum balance on page quotas for copy/native print

At the moment, Dispatcher Paragon does not support setting minimum balance for page quotas. In case the printer will deliver any sheets to the output bin after the zero balance was detected by a printer, then the corresponding quotas will be exceeded and the user will get to the negative balance.

The user can reach the negative balance in certain cases - exceeding the color-only page quotas during simultaneous use of two printers

Due to design of the reservation algorithm, it is theoretically possible to exceed the color-only quotas, if the user runs simultaneously both the print job and the copy job on two printers.

This limitation relates to users with page quotas entitlement who use the copy application or native print application (print from USB, print from storage, ...)

This limitation will occur if all following conditions are met:

  • user has assigned quotas for PRINT-BW, COPY-BW and ALL-BW

  • user simultaneously authenticates on two different MFDs

  • user runs a native print job on printer 1, all pages are black&white

  • at the same time user runs a copy job on printer 2, all pages are black&white

  • reservation system will reserve (block) PRINT-BW for first job

  • reservation system will reserve (block) COPY-BW for first job

  • after settlement of both jobs, if the sum of printed & copied pages exceeds the available balance of the BW quota, then the BW quota will be exceeded.

Corresponding example of such situation could be formulated for COLOR quota equivalents also.

This limitation is by design of Dispatcher Paragon terminal server and CreditProvider.

The user needs to have sufficient prepaid credit to copy/print/scan at least one cheapest page

This limitation relates to users with prepaid account entitlement who use the copy application, native print application, Dispatcher Scan application or native scan application

In order to start the job, the Quota Service first checks, if the user has enough available balance for processing of one cheapest page. If the user does not have sufficient available credit balance for one least expensive page, then the operation will not start and the "Insufficient balance" dialog will appear.

The minimum balance is not considered to be an available balance. In case user has the total credit balance $101, minimum balance $100, then the available balance is considered to be $1.

E.g. if the minimum balance is $100, the user has total credit balance $101 and the least expensive page is $2 (one simplex black&white page), the available balance ($1) is not enough and the job will not be released.

This limitation is by design in order to prevent user from violating his/her minimum balance.

If there are any paid operations and the user has zero balance, not all free operations may be accessible

This limitation relates to users with prepaid account entitlement who use the copy application or native print application (print from USB, print from storage, ...).

This limitation will occur if all following conditions are met:

  • the pricelist contains at least one job type which is for free (e.g. copy of A4 black&white paper)

  • the pricelist contains at least one job type which is paid (e.g. copy of A4 color paper)

  • the user has available balance equal to 0

In case the pricelist consists of both free operations and paid operations and user has zero available balance, then the print/copy will not be enabled.

E.g. price for click is 0, price for paper is 0, price for black&white copy is 0, price for color copy is $2, user has available balance = 0. In this case, the insufficient balance message is shown and no copy is done.

In case all operations in the pricelist are for free, user can proceed without any limit.

The minimum balance is not considered to be an available balance. In case user has the total credit balance $101, minimum balance $100, then the available balance is considered to be $1.

This is a known and documented limitation of the HP OXPd SDK.

For combinations of color and black&white quotas for given operation, the lowest quota is applied. (User can only copy/print up to the value of the lowest quota)

This limitation relates to users with page quotas entitlement who use the copy application or native print application (print from USB, print from storage, ...)

Limitation will occur in e.g. following situations:

  • user runs a copy operation and has following quotas assigned: ANY-BW, ANY-COLOR

  • user runs a copy operation and has following quotas assigned: ANY-BW, COPY-COLOR

  • user runs a copy operation and has following quotas assigned: COPY-ANY, COPY-COLOR

    • (COPY-ANY quota also affects black&white)

  • user runs a copy operation and has following quotas assigned: COPY-ANY, ANY-BW

If any such quota combination for selected operation occurs, user can print/copy only up to the value of the lowest quota.

E.g. User has following quotas assigned: COPY-BW, COPY-COLOR, with following available balances: COPY-BW: 10, COPY-COLOR: 5. Lets suppose user has a copy job, where first 5 pages are color and rest of them are black&white. After copying first 5 color pages, the balances are now: COPY-BW: 10, COPY-COLOR: 0. The user could theoretically continue by copying rest black&white pages, but the MFD does not allow to continue, because one of the quotas (COPY-COLOR) has been depleted.

This is a known and documented limitation of the HP OXPd SDK.

The user can deplete his unused quota and block any further operation in case additional credit requests occur

This limitation relates to users with page quotas entitlement who use the copy application or native print application (print from USB, print from storage, ...)

This limitation will occur if all following conditions are met:

  • user has assigned quotas for COPY-BW and COPY-COLOR

  • user has already copied bigger amount of black&white pages

  • during these copying, the printer contacted the Quota Service with additional credit request multiple times

  • during these additional credit requests, all color quotas have been reserved (blocked)

  • user stil has sufficient black&white quota balance to continue copying

  • user is unable to continue the copying because Quota Service cannot reserve (block) additional color quota

Limitation will occur in e.g. following quota combinations:

  • user runs a copy operation and has following quotas assigned: ANY-BW, ANY-COLOR

  • user runs a copy operation and has following quotas assigned: ANY-BW, COPY-COLOR

  • user runs a copy operation and has following quotas assigned: COPY-ANY, COPY-COLOR

    • (COPY-ANY quota also affects black&white)

  • user runs a copy operation and has following quotas assigned: COPY-ANY, ANY-BW

During every single additional credit request, both black&white credit and color credit are assigned to a printer despite the real credit balance of the printer. Quota Service has no information about individual credit balances of the printer, nor about the count and colority of already printed/copied pages. If user prints/copies for example bigger amount of black&white pages and no color pages and during processing of these pages the additional credit request was served several times, then during each such request a specific amount of color credit was reserved (blocked) on user's account. User can get to a situation, when he/she has enough quotas for both and black&white pages, no color pages have been printed/copied, there is still sufficient amount of black&white quotas to continue and yet the user is unable to continue black&white printing/copying because his color quota balance has been depleted by multiple reservations.

This is caused by the fact the printer provides no information about already processed pages, nor about the state of its internal credit counters.

This is a known and documented limitation of the HP OXPd SDK.

Blank pages do not count towards Page quotas

Blank pages do not count towards Page quotas. This limitation is caused by different approach to blank pages in Dispatcher Paragon and HP Printer.

Stop on zero for scanning is not supported - the user can get to negative balance

In current implementation, there is no implementation of stop-on-zero for scanning (both Dispatcher Scan application and native scan application).

The user can get to the negative balance. The user cannot start a scan job if he/she has the negative balance at the beginning.