Orders with Payment gateway

Last modified: February 25, 2026
Estimated reading time: 2 min
Open in ChatGPT

When a customer makes payment using an integrated Payment Gateway, Boxify automatically processes the payment.

However, order status behaviour depends on:

  • The selected shipping option
  • The payment verification status
  • The system’s stacking rules

Understanding these behaviours is important to avoid confusion.

1️⃣ Order Status After Successful Payment

When payment is successful:

✔ The system automatically reconciles the payment
✔ Item status becomes Paid
✔ Order status changes based on the selected shipping option

🔹 Shipping Option: “Ship Now”, “WM”, “EM”, “SG”, etc.

If the shipping option indicates that the order should be shipped immediately:

  • The order will be located under Ready to Ship
  • The merchant may proceed with packing and fulfilment
  • Revenue is recognised

Examples of such shipping options:

  • Ship Now
  • WM (West Malaysia)
  • EM (East Malaysia)
  • SG (Singapore)

🔹 Shipping Option: “Ship Later”

If the customer selects Ship Later:

  • The order status will remain under Paid
  • The order can continue to accumulate (stack)
  • The customer may add more items before final shipment
  • Revenue is NOT yet recognised

This allows flexible stacking before fulfilment.

2️⃣ Payment Method Behaviour

The same payment method will apply to the order regardless of how many times payment is made.

Mixed payment methods are NOT allowed by default.

If you wish to allow mixed payment methods, you must enable it under:

Setting > Parameters > Shopping Cart

3️⃣ Orders with Status: “Waiting for Online Payment”

When an order is under:

Waiting for Online Payment

This means:

  • The system is still waiting for verification from the Payment Gateway (e.g., Billplz)
  • Payment has not yet been confirmed

Important behaviour:

❌ The order cannot be stacked while under this status
❌ The merchant should not modify the order

Once payment is verified successfully:

  • The status will automatically change to:
    • Paid (if Ship Later selected), or
    • Ready to Ship (if shipping option selected)

4️⃣ Security Protection: error_payment_mismatch

To prevent order tampering during online payment, Boxify includes a security validation mechanism.

The order status will change to:

error_payment_mismatch

If the system detects either of the following:

A) Payment amount does not match outstanding amount

The outstanding amount of the order does not equal the payment amount received.

B) Order status was modified during payment

If the order status was not “Waiting for Online Payment” when the customer completed payment, this indicates the order was altered during the payment process.

Important Behaviour Under error_payment_mismatch

❌ The order cannot be stacked
❌ The order requires manual review
❌ Merchant should verify payment and order details

This mechanism protects merchants from:

  • Payment manipulation
  • Incorrect stacking during gateway transaction
  • Order amount tampering

5️⃣ Revenue Reminder

Even when payment is successful:

Revenue is recognised only when the order status becomes:

  • Ready to Ship
  • Shipped

Payment confirmation alone does NOT trigger revenue recognition.

Quick Overview Table

ScenarioItem StatusOrder StatusStack Allowed?Revenue Counted?
Gateway Payment Success + Ship LaterPaidPaid✅ Yes❌ No
Gateway Payment Success + Shipping SelectedPaidReady to Ship❌ No✅ Yes
Waiting for Online PaymentNewWaiting for Online Payment❌ No❌ No
error_payment_mismatcherror_payment_mismatch❌ No❌ No

Why This Design Exists

Boxify separates:

  • Payment confirmation
  • Shipping confirmation
  • Revenue recognition
  • Stacking behaviour
  • Security validation

This ensures:

✔ Flexible customer purchasing
✔ Accurate revenue reporting
✔ Secure payment validation
✔ Prevention of order tampering

Was this article helpful?
Dislike 0
Views: 157
Select Language