Skip to content

Commit

Permalink
Merge pull request #4 from yandex-money/release/v1.0.7
Browse files Browse the repository at this point in the history
Исправлены ошибки со списанием товаров при оплате/отмене заказа
  • Loading branch information
artemlopatin authored Sep 5, 2018
2 parents 0833179 + a7624f6 commit 2cba2c9
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 19 deletions.
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
### v1.0.7 от 05.09.2018
* Исправлены ошибки со списанием товаров при оплате/отмене заказа
* Теперь заказ после оплаты переходит в статус "Принят"
* На станице заказа теперь отображается комментарий пользователя

### v1.0.6 от 05.06.2018
* Добавлена отправка описания платежа в ЛК Яндекс.Кассы

Expand Down
4 changes: 2 additions & 2 deletions payment/YandexMoneyApi/YandexMoneyApi.php
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
<?php
/**
* Version: 1.0.6
* Version: 1.0.7
* License: Любое использование Вами программы означает полное и безоговорочное принятие Вами условий лицензионного договора, размещенного по адресу https://money.yandex.ru/doc.xml?id=527132 (далее – «Лицензионный договор»). Если Вы не принимаете условия Лицензионного договора в полном объёме, Вы не имеете права использовать программу в каких-либо целях.
*/
require_once 'api/Simpla.php';
require_once 'autoload.php';
require_once 'YandexMoneyLogger.php';
define(YAMONEY_MODULE_VERSION, '1.0.6');
define(YAMONEY_MODULE_VERSION, '1.0.7');

use YandexCheckout\Client;
use YandexCheckout\Model\Payment;
Expand Down
30 changes: 13 additions & 17 deletions payment/YandexMoneyApi/YandexMoneyCallbackHandler.php
Original file line number Diff line number Diff line change
Expand Up @@ -40,11 +40,10 @@ public function processReturnUrl()
$this->completePayment($order, $paymentId);
$logger->info('Complete payment #'.$paymentId.' orderId: '.$orderId);
} else {
$this->simplaApi->orders->close($order->id);
$logger->info('Close order. OrderId: '.$orderId);
$logger->info('Capture order fail. OrderId: '.$orderId);
}
} elseif ($paymentInfo->status == PaymentStatus::CANCELED) {
$this->simplaApi->orders->close($order->id);
$logger->info('Cancel order. OrderId: '.$orderId);
} elseif ($paymentInfo->status == PaymentStatus::SUCCEEDED) {
$this->completePayment($order, $paymentId);
$logger->info('Complete payment #'.$paymentId.' orderId: '.$orderId);
Expand Down Expand Up @@ -82,7 +81,7 @@ public function processNotification()
$logger = new YandexMoneyLogger($settings['ya_kassa_debug']);
$logger->info('Notification: '.$body);
$apiClient->setLogger($logger);
$paymentId = $payment->getId();
$paymentId = $payment->getId();
if (!$order) {
$logger->error('Order not found. OrderId: '.$orderId);
header("HTTP/1.1 404 Not Found");
Expand All @@ -105,8 +104,7 @@ public function processNotification()
$this->completePayment($order, $paymentId);
$logger->info('Complete payment #'.$paymentId.' orderId: '.$orderId);
} else {
$this->simplaApi->orders->close($order);
$logger->info('Close order. OrderId: '.$orderId);
$logger->info('Capture order fail. OrderId: '.$orderId);
}
header("HTTP/1.1 200 OK");
header("Status: 200 OK");
Expand All @@ -117,14 +115,13 @@ public function processNotification()
header("Status: 400 Bad Request");
break;
case PaymentStatus::SUCCEEDED:
$this->completePayment($order, $paymentId );
$this->completePayment($order, $paymentId);
$logger->info('Complete payment #'.$paymentId.' orderId: '.$orderId);
header("HTTP/1.1 200 OK");
header("Status: 200 OK");
break;
case PaymentStatus::CANCELED:
$this->simplaApi->orders->close($order);
$logger->info('Close order. OrderId: '.$orderId);
$logger->info('Cancel order. OrderId: '.$orderId);
header("HTTP/1.1 200 OK");
header("Status: 200 OK");
break;
Expand Down Expand Up @@ -175,16 +172,15 @@ private function getPaymentId($orderId)

private function completePayment($order, $paymentId)
{
$comment = "Номер транзакции в Яндекс.Кассе: {$paymentId}. Сумма: {$order->total_price}";
$query = $this->simplaApi->db->placehold(
"UPDATE s_orders SET paid=1, status=2, payment_date=NOW(),comment='{$comment}',modified=NOW() WHERE id=?",
intval($order->id)
);
$result = $this->simplaApi->db->query($query);
$this->simplaApi->orders->pay($order->id);
$comment = $order->comment." Номер транзакции в Яндекс.Кассе: {$paymentId}. Сумма: {$order->total_price}";
$this->simplaApi->orders->update_order($order->id, array(
'paid' => 1,
'status' => 1,
'comment' => $comment,
));

// отправляем уведомление администратору
$this->simplaApi->notify->email_order_admin((int)$order->id);

return $result;
}
}

0 comments on commit 2cba2c9

Please sign in to comment.