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

ChangeResult
Add or remove a product variantNew approval required
Change a line quantityNew approval required
Change currencyNew approval required
Change subtotalNew approval required
Apply or remove a discount that changes subtotalNew approval required
Reorder otherwise identical cart linesDoes 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

  1. Create a representative request and leave it pending.
  2. Change a quantity, add or remove a product, save the edits, and then approve the request.
  3. Restore it as the buyer and confirm the final approved cart can proceed.
  4. Change one quantity after approval and confirm checkout is blocked.
  5. Restore the approved cart, then apply a subtotal-changing discount and confirm a new request is required.
  6. 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.