ApproveCart B2B docs
Checkout protection
An approval is tied to protected cart values. Checkout is allowed only when the active approval belongs to the buyer and still matches those values.
What ApproveCart protects
The approval fingerprint includes:
- Checkout currency
- Cart subtotal represented in minor currency units
- The sorted set of merchandise variant IDs and quantities
Sorting means harmless line ordering does not change the fingerprint. The underlying variant and quantity values still must match.
Edits made before approval
While a request is pending, the buyer and assigned approver can adjust quantities, remove items, or add products from the company-location catalog. Saving those edits updates the pending request. When the approver approves it, that final saved cart becomes the protected version.
Changes made after approval
| Change | Result |
|---|---|
| Add or remove a product variant | New approval required |
| Change a line quantity | New approval required |
| Change currency | New approval required |
| Change subtotal | New approval required |
| Apply or remove a discount that changes subtotal | New approval required |
| Reorder otherwise identical cart lines | Does not change the protected fingerprint by itself |
Request state is also validated
A matching fingerprint alone is not enough. Checkout protection also rejects a missing, pending, rejected, withdrawn, expired, stale, or otherwise unusable request, and confirms the approval belongs to the current buyer context.
What is not fingerprinted
Test the boundary
- Create a representative request and leave it pending.
- Change a quantity, add or remove a product, save the edits, and then approve the request.
- Restore it as the buyer and confirm the final approved cart can proceed.
- Change one quantity after approval and confirm checkout is blocked.
- Restore the approved cart, then apply a subtotal-changing discount and confirm a new request is required.
- Test custom properties and market currencies used by your store.
If checkout is blocked unexpectedly
Compare the current cart with the approved request, including hidden price changes caused by discounts. Confirm the same buyer is signed in and the approval has not expired. If the cause remains unclear, use the Help page inside the app with the request identifier and affected shop.