code is the gate’s reason (vault_approval_required, byoc_approval_required, sandbox_mode, per_txn_max_exceeded, …) or the merchant’s (items_unavailable, pos_cart_validation, address_changed). An approval pause carries approval_url and retryable: true: show the link, then send the same confirm again.