Overview
The ZIGI payment flow involves three main phases:- Payment method selection at checkout
- QR code scanning and payment with the ZIGI app
- Receipt upload and order completion
When customers are ready to complete their purchase, they proceed to the WooCommerce checkout page.
The payment method displays a custom description (configurable in settings) that explains the QR payment process to customers.
When the customer clicks “Place Order” with ZIGI selected, a modal popup appears instead of immediately processing the order.
preview_qr setting)front_description setting)The popup is rendered by the
zigi_payment_popup() function in functions.php:20-72 and injected into the footer of every page.- Open ZIGI app on their mobile device
- Scan the QR code displayed in the popup
- Confirm payment in the ZIGI app for the exact amount shown
- Complete the transfer within the ZIGI application
- Take a screenshot of the payment confirmation (comprobante)
The screenshot/photo of the payment receipt is the ONLY proof of payment. Customers must save this before proceeding.
- Drag and drop the image file into the upload area
- Click “Seleccionar Archivo” to browse and select the file
.png, .jpg, .jpeg, .gif)zigi_payment_qr_code_callback() (functions.php:128-201)/wp-content/uploads/zigi-payment-qrcode/ directoryThe upload area supports drag-and-drop on modern browsers thanks to the HTML5 File API detection in woopro-front.js:6-9.
zigi_payment_qr_code action)#zigi-payment-qrcode (paga-con-zigi.php:236)process_payment() method (paga-con-zigi.php:243-268)Customer Experience Summary
What customers see at checkout
What customers see at checkout
- Standard WooCommerce checkout form
- “Paga con ZIGI” option in payment methods list
- Custom description explaining QR payment process
- Normal “Place Order” button (triggers popup)
What the QR popup contains
What the QR popup contains
First Step:
- Merchant’s QR code image
- Order total amount
- Phone number link (tap to add contact)
- Instructions for payment
- Continue button
- “Respaldado por Banco Industrial” footer
- File upload area with drag-and-drop
- “Seleccionar Archivo” browse button
- Loading spinner
- “Completar Compra” submit button
Technical implementation details
Technical implementation details
Key Functions:
zigi_payment_popup()- Renders modal HTML (functions.php:20)show_qr_modal()- Intercepts order placement (woopro-front.js:230)zigi_payment_qr_code_callback()- Handles file upload (functions.php:128)process_payment()- Processes order with receipt (paga-con-zigi.php:243)
- Customer uploads image → AJAX to
admin-ajax.php - Server saves to
/wp-content/uploads/zigi-payment-qrcode/ - Returns file URL in JSON response
- URL stored in hidden form field
- Checkout form submitted with receipt URL
- URL saved as order meta:
zigi-payment-qrcode
Common Customer Questions
Q: What if the QR code doesn’t scan? Customers should ensure good lighting and focus. They can also tap the phone number link to add the merchant as a contact and transfer directly. Q: Can customers upload the receipt later? No. The receipt must be uploaded during the checkout process. This is the only way to attach proof of payment to the order. Q: What image formats are accepted? PNG, JPG, JPEG, and GIF files are accepted. The system validates file types both client-side (JavaScript) and server-side (PHP). Q: What happens if upload fails? An error message appears. Customers should check their internet connection and try again. If issues persist, they should contact the merchant.Next Steps
Admin Workflow
Learn how to view and verify ZIGI payments in WP Admin
Payment Verification
Best practices for verifying payment receipts