Skip to main content

Documentation Index

Fetch the complete documentation index at: https://developer.quickei.io/llms.txt

Use this file to discover all available pages before exploring further.

Accept Quickei payments on your ERPNext Sales Invoices with automatic Payment Entry creation and reconciliation.

Requirements

RequirementVersion
ERPNextv15+
Frappev15+
QuickeiMerchant account with API keys

Installation

1

Install the app

Install the Quickei POS app in your ERPNext instance:
bench get-app https://github.com/appdevsx/quickei-erpnext.git
bench --site your-site.local install-app quickei_pos
bench migrate
2

Configure settings

Go to Quickei Settings doctype and enter:
  • Client ID — Your merchant API client ID
  • Client Secret — Your merchant API secret
  • API Base URLhttps://quickei.io/merchant-api/pos/v1
Click Test Connection to verify.
3

Set up the webhook

Configure the webhook URL in your Quickei Merchant Dashboard:
https://your-erpnext.com/api/method/quickei_pos.api.webhook.handle

How It Works

  1. When a Sales Invoice is submitted, a Quickei payment order is created via the POS API
  2. A QR code and/or payment link is generated and attached to the invoice
  3. The customer pays using the Quickei app or payment page
  4. A webhook fires → the app creates a Payment Entry and reconciles the invoice automatically

Webhook Events

Quickei EventERPNext Action
pos.order.paidCreate Payment Entry, mark invoice Paid
pos.order.expiredLog expiry, no action
pos.order.cancelledLog cancellation
pos.order.refundedCreate reverse Payment Entry

Webhook Verification

The app verifies the X-Quickei-Signature header on every webhook:
import hmac, hashlib

expected = hmac.new(
    client_secret.encode(),
    payload_bytes,
    hashlib.sha256
).hexdigest()

if not hmac.compare_digest(expected, signature):
    frappe.throw("Invalid webhook signature")

Payment Mode

The app creates a Payment Mode called Quickei QR during installation. All Payment Entries use this mode for easy filtering and reporting.
Use the Payment Reconciliation tool in ERPNext to verify that all Quickei payments are properly matched to invoices.

Troubleshooting

Ensure git is installed and your server can reach GitHub. If using a private repo, configure SSH keys or use HTTPS with a personal access token.
Check that the webhook URL is correct and uses HTTPS. Verify that the X-Quickei-Signature matches — ensure the secret in ERPNext matches the one in the Quickei dashboard.
Check the ERPNext error log for details. Ensure the Sales Invoice exists and is in Submitted state. Verify the payment journal is configured in Quickei Settings.