_id}'
WHERE
`buy_id` = '{$buy_id['buy_id']}'
";
db_get($upd_shop, 'chitatel'); # фиксируем shop_id от Юкассы
header("Location: $pay_url"); // перенаправляем на оплату
}
}
# получение результатов оплаты заказа
function resultpay_kuri(){
$source = file_get_contents('php://input');
//$source = file_get_contents('/thosts/anpdf/app/tests/result.json');
$fjson = '/thosts/anpdf/app/tests/result.json';
file_put_contents($fjson, $source);
// logsave('yk', $source);
$result = json_decode($source, true);
if (isset($result['event'])) {
$shop_id = $result['object']['id'];
$find_sql = "SELECT `buy_id`, `delivery_id`, `number_id`, `date_end` FROM `anbuy` WHERE `shop_id` = '$shop_id' LIMIT 1";
$find_order = db_get($find_sql);
if (!isset($find_order['buy_id'])) {
return False;
}
if ($result['event'] == "payment.succeeded"){
$currdate = date('Y-m-d H:i:s');
if ($find_order['number_id'] == 486){
$date_end = date("Y-m-d H:i:s", strtotime("+1 year"));
}
else {
$date_end = $find_order['date_end'];
}
$supd = "
UPDATE
`anbuy`
SET
`buy_status` = '1',
`buy_active` = '1',
`date` = '$currdate',
`date_end` = '$date_end'
WHERE
`buy_id` = '{$find_order['buy_id']}'";
$result = db_get($supd, 'chitatel'); // фисксируем что оплату получил
}
# SELECT * FROM `price` WHERE `priceslug` = 'saturn-pod-priczelom-smersha';
elseif ( $result['event'] == "payment.canceled"){
if ($find_order['delivery_id'] > 1 ){ #физический товар возвращаем на место
$find_order = db_get("SELECT `pieces` FROM `price` WHERE `price_id` = '{$find_order['number_id']}'");
if (isset($find_order['pieces'])){
$newpieces = $find_order['pieces'] + 1;
$return_tovar = db_get("UPDATE `price` SET `pieces` = '$newpieces' WHERE `price_id` = '{$find_order['number_id']}'");
}
}
}
}
else {
echo "order not fount";
exit;
}
return True;
}
function yk_pay($buy, $return_url = ''){
if ($return_url == '')
$return_url = SITE;
$client = new Client();
$client->setAuth(YID, YKEY);
$items = array(
'amount' => array(
'value' => $buy['currprice'],
'currency' => 'RUB',
),
'confirmation' => array(
'type' => 'redirect',
'return_url' => $return_url,
),
"receipt" => array(
"customer" => array(
"email" => $buy['buy_email'],
),
"items" => array(
array(
"description" => $buy['pricename'],
"quantity" => "1.00",
"amount" => array(
"value" => $buy['currprice'],
"currency" => "RUB"
),
"vat_code" => "4",
"payment_mode" => "full_prepayment",
"payment_subject" => "commodity"
)
)
),
'capture' => true,
'description' => $buy['pricename'],
);
$id = uniqid('', true);
$payment = $client->createPayment(
$items, $id
);
return $payment;
}
# уведомление доставлено
function push_ok($buy_id){
return db_get( "UPDATE `anbuy` SET `mail_status` = '1' WHERE `buy_id` = $buy_id", 'chitatel');
}
#оповещаем письмом об успешном заказе
function sendstatus_kuri(){
/**
* обнуление доставки заказов
* UPDATE `anbuy` SET `mail_status` = '1' WHERE `buy_status` = 1 AND `mail_status` = '0';
**/
# ищем не пушнутые с Яндекс Кассы на почту заказку
$orders = db_get("SELECT * FROM `anbuy` WHERE `buy_status` = 1 AND `mail_status` = '0'");
foreach($orders as $order){
if (isset($order['buy_email'])){ # есть почта куда пушить
if ($order['delivery_id'] == 1) { #электронный платеж отправляем личный кабинет
$find_client = api_add_client($order['buy_email']); // создаем клиента
if (isset($find_client['client_id'])){
$upd = "UPDATE `anbuy` SET `client_id` = '{$find_client['client_id']}' WHERE `buy_id` = '{$order['buy_id']}'";
db_get($upd, 'chitatel');
}
$message = "Ваш заказ выполнен.
Он будет всегда доступен в Вашем личном кабинете.
Чтобы войти в КЛАН перейдите по ссылке - https://klan.argumenti.ru/login. Введите свой логин и пароль. Если Вы еще не пользовались кабинетом создайте пароль, использую эту электронную почту. Если пароль забыли, воспользуйтесь опцией Забыли пароль, используя эту электронную почту.";
$subject = "Аргументы Недели: заказ выполнен";
$result = klanmail($order['buy_email'], $subject, $message, set('klanmail'));
}
else {
$message = "Ваш платеж подтвержден. Номер заказа {$order['buy_id']}. \n
Сообщите его менеджеру при необходимости";
$subject = "Аргументы Недели: платеж подтвержден";
$result = klanmail($order['buy_email'], $subject, $message, set('klanmail'));
}
# меняем на статус доставлено
if ($result == True){
push_ok($order['buy_id']);
}
}
}
return;
}