1 |
358 |
ahitrov |
SUCCESS |
2 |
|
|
<%once> |
3 |
|
|
|
4 |
|
|
use Digest::MD5; |
5 |
|
|
|
6 |
|
|
</%once> |
7 |
|
|
<%args> |
8 |
|
|
|
9 |
|
|
$MNT_ID => undef |
10 |
|
|
$MNT_TRANSACTION_ID => undef |
11 |
|
|
$MNT_OPERATION_ID => undef |
12 |
|
|
$MNT_AMOUNT => 0 |
13 |
|
|
$MNT_CURRENCY_CODE => undef |
14 |
|
|
$MNT_TEST_MODE => 0 |
15 |
|
|
$MNT_SIGNATURE => undef |
16 |
|
|
$MNT_USER => undef |
17 |
|
|
$MNT_CORRACCOUNT => undef |
18 |
|
|
$MNT_CUSTOM1 => undef |
19 |
|
|
$MNT_CUSTOM2 => undef |
20 |
|
|
$MNT_CUSTOM3 => undef |
21 |
|
|
|
22 |
|
|
</%args> |
23 |
|
|
<%init> |
24 |
|
|
|
25 |
|
|
warn Dumper \%ARGS if $DEBUG; |
26 |
|
|
unless ( $MNT_ID && $MNT_TRANSACTION_ID && $MNT_OPERATION_ID && $MNT_AMOUNT && $MNT_CURRENCY_CODE ) { |
27 |
|
|
$m->out('FAIL'); |
28 |
|
|
return; |
29 |
|
|
} |
30 |
|
|
|
31 |
|
|
my ($obj) = $keeper->get_documents( |
32 |
|
|
class => 'monetaru::Transaction', |
33 |
|
|
operation_id => $MNT_OPERATION_ID, |
34 |
|
|
order_id => $MNT_TRANSACTION_ID, |
35 |
|
|
limit => 1, |
36 |
|
|
); |
37 |
|
|
my $str = $MNT_ID . $MNT_TRANSACTION_ID . $MNT_OPERATION_ID . $MNT_AMOUNT . $MNT_CURRENCY_CODE . $MNT_TEST_MODE . $state->{monetaru}->{moneta_sig_code}; |
38 |
|
|
my $md5 = Digest::MD5::md5_hex ( $str ); |
39 |
|
|
unless ( $MNT_SIGNATURE eq $md5 ) { |
40 |
|
|
$m->out('FAIL'); |
41 |
|
|
return; |
42 |
|
|
} |
43 |
|
|
|
44 |
|
|
unless ( $obj ) { |
45 |
|
|
$obj = monetaru::Transaction->new( $keeper ); |
46 |
|
|
$obj->status( $MNT_TEST_MODE || 0 ); |
47 |
|
|
$obj->account_id( $MNT_ID ); |
48 |
|
|
$obj->order_id( $MNT_TRANSACTION_ID ); |
49 |
|
|
$obj->operation_id( $MNT_OPERATION_ID ); |
50 |
|
|
$obj->sum( $MNT_AMOUNT ); |
51 |
|
|
$obj->currency_code( $MNT_CURRENCY_CODE ); |
52 |
|
|
$obj->account_user( $MNT_USER ); |
53 |
|
|
$obj->account_corr( $MNT_CORRACCOUNT ); |
54 |
|
|
$obj->payment_system( $ARGS{'paymentSystem.unitId'} ); |
55 |
|
|
$obj->name( $MNT_CUSTOM1 ); |
56 |
|
|
$obj->custom1( $MNT_CUSTOM1 ); |
57 |
|
|
$obj->custom2( $MNT_CUSTOM2 ); |
58 |
|
|
$obj->custom3( $MNT_CUSTOM3 ); |
59 |
|
|
$obj->store; |
60 |
|
|
} |
61 |
|
|
|
62 |
|
|
</%init> |