When we use
zypper install <package_name>, zypper installs the package along with its dependencies.
What exactly is happening in the background?
Are there any ways to obtain the URL of a specific package(or rpm) using zypper(or any other tool)?
You could grep the zypper.log to retrieve the RPM's URL:
leap15:~ # zypper in xeyes [...]
Depending on your search string you could find the URL to the respective RPM:
leap15:~ # grep 'http://download.opensuse.org' /var/log/zypper.log | grep xeyes 2018-10-15 11:37:16 <1> leap15(15814) [zypp++] MediaCurl.cc(doGetFileCopyFile):1499 URL: http://download.opensuse.org/distribution/leap/15.0/repo/oss/x86_64/xeyes-1.1.1-lp150.1.3.x86_64.rpm