[proofplan]
We count the same finite set of ordered data in two ways. First, we count ordered pairs of distinct elements of $D$, obtaining $k(k-1)$. Second, we group those ordered pairs according to their nonzero difference $x-y$; the difference set hypothesis says that each of the $v-1$ nonzero elements of $G$ occurs exactly $\lambda$ times. Equating the two counts gives the parameter equation.
[/proofplan]
[step:Count ordered distinct pairs in $D$]
Define
\begin{align*}
P := \{(x,y) \in D \times D : x \neq y\}.
\end{align*}
Since $|D| = k$, for each fixed $x \in D$ there are exactly $k-1$ choices of $y \in D$ with $y \neq x$. Therefore
\begin{align*}
|P| = k(k-1).
\end{align*}
[/step]
[step:Partition the ordered pairs by their nonzero differences]
For each $g \in G \setminus \{0_G\}$, define
\begin{align*}
P_g := \{(x,y) \in D \times D : x \neq y \text{ and } x-y=g\}.
\end{align*}
If $(x,y) \in P$, then $x-y \neq 0_G$, because $x-y=0_G$ would imply $x=y$ in the group $G$. Hence every element of $P$ belongs to $P_g$ for exactly one $g \in G \setminus \{0_G\}$, namely $g=x-y$. Thus the family $(P_g)_{g \in G \setminus \{0_G\}}$ is a disjoint partition of $P$.
[guided]
We now reorganize the same ordered pairs by the value of their difference. For each nonzero group element $g \in G \setminus \{0_G\}$, define
\begin{align*}
P_g := \{(x,y) \in D \times D : x \neq y \text{ and } x-y=g\}.
\end{align*}
The sets $P_g$ are pairwise disjoint: if an ordered pair $(x,y)$ lies in both $P_g$ and $P_h$, then $x-y=g$ and $x-y=h$, so $g=h$.
It remains to check that these sets cover all of $P$. Let $(x,y) \in P$. By definition of $P$, we have $x,y \in D$ and $x \neq y$. In a group, $x-y=0_G$ is equivalent to $x=y$, so $x-y \neq 0_G$. Therefore $(x,y)$ lies in $P_{x-y}$, and $x-y$ is one of the indices in $G \setminus \{0_G\}$. Hence
\begin{align*}
P = \bigcup_{g \in G \setminus \{0_G\}} P_g
\end{align*}
as a disjoint union.
[/guided]
[/step]
[step:Use the difference set multiplicity condition]
By the definition of a $(v,k,\lambda)$ difference set, every $g \in G \setminus \{0_G\}$ has exactly $\lambda$ ordered representations $g=x-y$ with $x,y \in D$ and $x \neq y$. Therefore
\begin{align*}
|P_g| = \lambda
\end{align*}
for every $g \in G \setminus \{0_G\}$. Since $|G|=v$, the set $G \setminus \{0_G\}$ has cardinality $v-1$. Using the disjoint partition from the previous step,
\begin{align*}
|P|
= \sum_{g \in G \setminus \{0_G\}} |P_g|
= \sum_{g \in G \setminus \{0_G\}} \lambda
= \lambda(v-1).
\end{align*}
[/step]
[step:Compare the two counts]
The first count gave $|P|=k(k-1)$, while the second count gave $|P|=\lambda(v-1)$. Therefore
\begin{align*}
k(k-1)=\lambda(v-1),
\end{align*}
which is the desired parameter equation.
[/step]