Skip to main content

How to Prevent Duplicate Payments Across POS, Customer Portal, and Website

Reduce accidental duplicate payments across every checkout experience

Written by Marcell (Customer Support Manager))

The Duplicate Payment Protection feature helps prevent accidental duplicate payments across POS, Customer Portal, and Website checkout. By temporarily locking additional payment attempts while a payment is being processed, Appliance.io provides a safer and more reliable payment experience.

How Duplicate Payment Protection Works

When a payment is initiated for an unpaid order, the system temporarily prevents any additional payment attempts until the current payment finishes processing.

If another payment attempt is made during this time, the system displays the following message:

Payment is being processed in another session

This protection applies across:

  • POS

  • Customer Portal

  • Website checkout

  • Multiple browser tabs

  • Different devices

Once a payment has been successfully completed, additional payment attempts for the same order are automatically blocked.

Payment Processing Experience

To reduce accidental duplicate submissions, Appliance.io provides clearer feedback while a payment is being processed.

During payment processing:

  • Payment buttons are temporarily disabled.

  • The interface indicates that the payment is currently being processed.

  • Repeated clicks and duplicate submissions are automatically prevented.

Most payments are completed within a few seconds. If payment is still processing after approximately one minute, refresh the page and verify the order status before attempting another payment.

Retrying a Payment Safely

If a payment does not complete successfully, you can retry it immediately.


This includes situations such as:

  • Declined payments

  • Canceled payment flows

  • Interrupted checkout sessions

  • Payment provider errors

The system is designed to prevent duplicate successful charges, even if users refresh the page or retry after an unsuccessful payment attempt. If no successful payment has been recorded on the order, the payment can be safely retried.

Protection Across All Payment Channels

Duplicate payment protection works consistently across all supported payment channels, including:

  • POS

  • Customer Portal

  • Website checkout

This helps eliminate situations where multiple payment attempts could occur simultaneously from different sessions, browser tabs, or devices.

What's Changed?

With this update:

  • Additional payment attempts are blocked while a payment is processing.

  • Duplicate successful payments are prevented across supported channels.

  • Users receive clearer feedback during payment submission.

  • Failed or canceled payments can be safely retried.

Compared to the previous experience, this significantly reduces duplicate charges caused by repeated clicks, multiple browser tabs, or simultaneous payment attempts.

What to Do if a Payment Appears Stuck

If a payment appears to remain in processing and no confirmation is received:

  1. Refresh the page.

  2. Check the order status.

  3. Confirm whether the payment was successfully recorded.

If no payment has been recorded on the order, the payment most likely did not complete successfully and can be retried safely.

Important Notes

Keep the following in mind when using this feature:

  • Duplicate payment protection applies only while a payment is actively being processed.

  • Successfully completed payments cannot be submitted again for the same order.

  • Failed, canceled, or interrupted payments can be safely retried.

  • This update improves payment processing behavior only and does not introduce new payment methods or checkout redesigns.

You're All Set!

Duplicate Payment Protection helps make payments safer across POS, Customer Portal, and Website checkout by preventing duplicate charges while providing clearer payment status feedback. This allows you to complete transactions with greater confidence and fewer payment-related issues.

Did this answer your question?