payment implementation starts