Exemplo n.º 1
0
$transactions = new TransactionManager();
$views = new ViewManager();
$views->globalData['input_amount'] = $input['amount'];
$views->globalData['url'] = $url;
switch ($input['action']) {
    case 'check':
        $r = $pay->get($input['trans_id'], $input['id_get']);
        if ($r == 1) {
            $tr = $transactions->get($input['id_get']);
            if ($tr) {
                if ($tr['status'] == 1) {
                    $views->display('layout', ['title' => 'خطا', 'error' => 'این تراکنش قبلا انجام شده بود!']);
                } else {
                    $tr['status'] = 1;
                    $tr['trans'] = $input['trans_id'];
                    $transactions->put($input['id_get'], $tr);
                    $views->display('layout', ['title' => 'سپاس', 'ok' => 'تراکنش با موفقیت انجام شد!']);
                }
            } else {
                $views->display('layout', ['title' => 'خطا', 'error' => 'تراکنش منقضی شده است.']);
            }
        } else {
            $views->display('layout', ['title' => 'خطا', 'error' => $pay->getError($r)]);
        }
        break;
    default:
        if ($input['submit']) {
            $r = $pay->send($input['amount'], $url . '?action=check');
            if ($r > 0) {
                $transactions->put($r, ['amount' => $input['amount'], 'status' => '0']);
                $pay->go($r);