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 – "готовые к употреблению" проекты, которые можно поставить, запустить и посмотреть, как они работают.