بستههای زیادی واسه این کار است که معروفترینهاش عبارتند از xkeyval, kvoptions, kvsetkeys, pgfkeys
از اونجایی که pgfkeys بخشی از بسته pgf است البته مستقل هست و به تنهایی و بدون فراخوانی کل بسته pgf هم کار میکنه و چون من خودم از بسته pgf زیاد استفاده میکنم بنابراین بسته pgfkeys رو به بقیه بستهها ترجیح میدهم.
کد شما طبق شروط شما به شکل زیر است
\documentclass{article}
\usepackage[margin=1in]{geometry}
\usepackage{tcolorbox}
\usepackage{pgfkeys}
\usepackage{xepersian}
\settextfont{Yas}
\setdigitfont{Yas}
\begin{document}
\pagestyle{empty}
\pgfkeys{
/stinfo/.cd,
name/.store in=\name,
surname/.store in=\surname,
father/.store in=\father,
studentid/.store in=\studentid,
school/.store in=\school,
city/.store in=\city,
name,
surname,
father,
studentid,
school,
city,
}
\tcbset{colframe=red!50!black,colback=white}
\newcommand{\makeinfo}[1]{
\pgfkeys{/stinfo/.cd,#1}
\begin{tcolorbox}[width=\textwidth,colback=red!5!white]
\begin{tabular}{p{5cm}r}
نام: \name & شماره دانش آموزی: \studentid \\
نام خانوادگی: \surname & آموزشگاه: \school\\
نام پدر: \father & شهر: \city\\
\end{tabular}
\end{tcolorbox}}
\makeinfo{
name=جواد,
surname=علوی,
father=حمید,
school=خوارزمی,
city=قم,
studentid=123456,
}
\end{document}
و خروجی آن به شکل زیر است.
امکانات این بسته بسیار زیاد است. جهت راهنمایی راهنمای بسته pgf از صفحه 875 را مطالعه بفرمایید
پیروز باشید.
ویرایش:
جهت برآوردن نیاز شما
\documentclass{article}
\usepackage[margin=1in]{geometry}
\usepackage{tcolorbox}
\usepackage{pgfkeys}
\usepackage{xepersian}
\settextfont{Yas}
\setdigitfont{Yas}
\begin{document}
\pagestyle{empty}
\pgfkeys{
/stinfo/.cd,
name/.store in=\name,
surname/.store in=\surname,
father/.store in=\father,
studentid/.store in=\studentid,
school/.store in=\school,
city/.store in=\city,
}
\tcbset{colframe=red!50!black,colback=white}
\newcommand{\makeinfo}[1]{
\pgfkeys{/stinfo/.cd,name,surname,father,studentid,school,city,#1}
\begin{tcolorbox}[width=\textwidth,colback=red!5!white]
\begin{tabular}{p{5cm}r}
نام: \name & شماره دانش آموزی: \studentid \\
نام خانوادگی: \surname & آموزشگاه: \school\\
نام پدر: \father & شهر: \city\\
\end{tabular}
\end{tcolorbox}
}
\makeinfo{
name=جواد,
surname=علوی,
father=حمید,
school=خوارزمی,
city=قم,
studentid=123456,
}
\makeinfo{
surname=علوی,
father=حمید,
school=خوارزمی,
city=قم,
}
\end{document}
و خروجی به شکل زیر است.
پیروز باشید.