Rename plugin; Add text to side of QR code

This commit is contained in:
Juerd Waalboer 2019-05-12 21:35:33 +02:00
parent 49e41ea0ea
commit ad54918c3d
2 changed files with 50 additions and 41 deletions

View file

@ -1,41 +0,0 @@
#!perl
use List::Util qw(sum);
sub command { NEXT }
sub hook_deposit_methods {
my ($class, $message, $hash) = @_;
$$message=~s/('iban'.*)$/$1\n'mobile': IBAN transfer via an EPC QR code\n Note: Only ING and Bunq support this method in the NL currently./gm;
$hash->{mobile} = { description => "Deposit (IBAN transfer using QR)"};
}
sub hook_checkout {
my ($class, $cart, $user, $transaction_id) = @_;
my @items = $cart->select_items("is_deposit");
my $amount = sum map $_->{amount}, grep $_->{method} eq "mobile", @items;
if (defined $amount && $amount > 0) {
print "Here's your EPC QR code:\n";
open my $pipe, "| qrencode -t ansiutf8 -m 2"
or die "Couldn't run qrencode";
print $pipe join(
"\n",
"BCD", "002", 1, "SCT",
"",
"Your Hackerspace", # Account name
"NL12ABCD1234567890", # IBAN Number
"EUR" . $amount, # Amount
"",
"",
"deposit", # $user (T: $transaction_id)", # Description
"",
);
close $pipe;
}
}

50
plugins/deposit_iban_qr Normal file
View file

@ -0,0 +1,50 @@
#!perl
use IPC::Open2 qw(open2);
use List::Util qw(sum);
my $iban = "NL99ABCD1234567890";
my $benificiary = "Account Name";
sub command { NEXT }
sub hook_checkout {
my ($class, $cart, $user, $transaction_id) = @_;
my @items = $cart->select_items("is_deposit");
my $amount = sum map $_->{amount}, grep $_->{method} eq "iban", @items;
if (defined $amount && $amount > 0) {
my $pid = open2 my $out, my $in, qw(qrencode -t ansiutf8 -m 2)
or die "Couldn't run qrencode";
print $in join(
"\n",
"BCD", "002", 1, "SCT",
"",
$benificiary,
$iban,
"EUR" . $amount, # Amount
"",
"",
"rb $user",
"",
);
close $in;
local $/ = "\n";
my @lines = readline $out;
close $out;
waitpid($pid, 0);
$lines[1] =~ s/$/ Note: ING and Bunq are the only/;
$lines[2] =~ s/$/ Dutch banks that support these/;
$lines[3] =~ s/$/ EPC QR codes./;
$lines[5] =~ s/$/ For manual transfers, use this/;
$lines[6] =~ s/$/ IBAN: $iban/;
print @lines;
}
}