Rename plugin; Add text to side of QR code
This commit is contained in:
parent
49e41ea0ea
commit
ad54918c3d
2 changed files with 50 additions and 41 deletions
|
@ -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
50
plugins/deposit_iban_qr
Normal 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;
|
||||
}
|
||||
}
|
Loading…
Add table
Reference in a new issue