Asking for approval
Aftercreate_checkout returns a quote, call request_approval with the checkout ID. AgentMall asks the shopper to review the basket, delivery terms and total.
get_approval. Once the shopper approves, status is approved and mandateId holds the mandate. Until then, there’s no mandate and the agent can’t place the order.
The mandate
get_mandate returns what the shopper approved:
A mandate is for one basket, not a standing permission at a merchant.
When checkout uses it
complete_checkout takes the mandate ID. AgentMall checks that the mandate is active, matches the checkout’s current basket revision and covers the final total. If any check fails, nothing is placed.
If the basket changes after approval, the mandate no longer matches. Open a new checkout and ask for approval again.