Для некоторых платежных систем сделал возможность в качестве идентификатора абонента использовать не только платежный код, но или логин или другое поле в дополнительных данных.
В разных модулях немного по-разному т.к. они писались в разное время. Более поздние используют подмодуль paysystem и однообразно передают ему параметры, в старых иначе.
В easypay: в начала файла easypay.pl:
my $account_field = 0; # 1: аккаунт - это логин клиента, 0: платежный код, 2: дополнительное поле
my $account_as_dopfield = '_adr_telefon'; # имя дополнительного поля когда $account_field = 2
В epay: в файла epay.pl:
my $it = nod::paysystem->new(
account_as_login => 1,
или
my $it = nod::paysystem->new(
account_as_dopfield => '_adr_telefon',
В citypay, kaznachey аналогично epay.