Revision 563 (by ahitrov, 2016/04/12 12:53:34) |
Payment plugin contenido interface. Order finder and order actions
|
<%once>
my %NAMES = (
'MerchantBlock' => 'Authorized',
'MerchantPay' => 'Charged',
'MerchantRefund' => 'Refunded',
);
</%once>
<%args>
$SessionId => undef
$OrderId => undef
$Notification => undef
$Success => undef
$Amount => undef
$CardNumber => undef
$MerchantContract => undef
</%args>
<%init>
warn Dumper \%ARGS;
my $provider = payments::Provider::PayTure->new;
my (@operations, $transaction);
if ( $OrderId ) {
@operations = $keeper->get_documents(
class => 'payments::Operation',
order_id => $OrderId,
order_by => 'ctime',
);
($transaction) = $keeper->get_documents (
class => 'payments::Transaction',
provider => $provider->payment_system,
order_id => $OrderId,
order_by => 'ctime desc',
limit => 1,
);
}
if ( ref $transaction ) {
$transaction->name( $NAMES{$Notification} );
$transaction->success( $Success eq 'True' ? 1 : 0 );
$transaction->store;
if ( $transaction->success && $keeper->can('_payture_handler') ) {
$keeper->_payture_handler( $transaction );
}
}
</%init>
Небольшая справка по веткам
cnddist – контейнер, в котором хранятся все дистрибутивы всех библиотек и программных пакетов, которые использовались при построении различных версий Contenido. Если какой-то библиотеки в данном хранилище нет, инсталлятор сделает попытку "подтянуть" ее с веба (например, с CPAN). Если библиотека слишком старая, есть очень большая вероятность, что ее там уже нет. Поэтому мы храним весь хлам от всех сборок. Если какой-то дистрибутив вдруг отсутствует в cnddist - напишите нам, мы положим его туда.
koi8 – отмирающая ветка, чей код, выдача и все внутренние библиотеки заточены на кодировку KOI8-R. Вносятся только те дополнения, которые касаются внешнего вида и функционала админки, баги ядра, обязательные обновления портов и мелочи, которые легко скопипастить. В дальнейшем планируется полная остановка поддержки по данной ветке.
utf8 – актуальная ветка, заточенная под UTF-8.
Внутри каждой ветки: core – исходники ядра; install – скрипт установки инсталляции; plugins – плагины; samples – "готовые к употреблению" проекты, которые можно поставить, запустить и посмотреть, как они работают.