Skip to content
This repository was archived by the owner on Aug 6, 2019. It is now read-only.

Commit 7278ed7

Browse files
author
Pieter Poorthuis
authored
Merge pull request #6 from innoppl-developers/master
Bitpay OrderId fix
2 parents 178a7f2 + 6e3054b commit 7278ed7

File tree

2 files changed

+26
-25
lines changed

2 files changed

+26
-25
lines changed

Diff for: app/code/Bitpay/Core/Model/Ipn.php

+22-16
Original file line numberDiff line numberDiff line change
@@ -51,35 +51,41 @@ public function _construct()
5151
*
5252
* @return boolean
5353
*/
54-
function GetStatusReceived($quoteId, $statuses)
55-
{
54+
function GetStatusReceived($quoteId, $statuses) {
5655
$objectmanager = \Magento\Framework\App\ObjectManager::getInstance();
57-
if (!$quoteId)
58-
{
56+
if (!$quoteId) {
5957
return false;
6058
}
61-
$quote_model = $objectmanager->get('\Magento\Quote\Model\Quote');
62-
$quote = $quote_model->load($quoteId, 'entity_id');
63-
if (!$quote)
64-
{
65-
$objectmanager->get('\Bitpay\Core\Helper\Data')->debugData('[ERROR] quote not found.');
59+
60+
$order = $objectmanager -> get('\Magento\Sales\Model\Order') -> load($quoteId, 'quote_id');
61+
if (!$order) {
62+
$objectmanager -> get('\Bitpay\Core\Helper\Data') -> debugData('[DEBUG] Bitpay_Core_Model_Ipn::GetStatusReceived(), order not found for quoteId');
6663
return false;
6764
}
6865

69-
$collection = $this->_ipnCollectionFactory->load();//$objectmanager->create('\Bitpay\Core\Model\Ipn')->getCollection();
66+
$orderIncrementId = $order -> getIncrementId();
7067

71-
foreach ($collection as $i)
72-
{
73-
$postData = json_decode($i->getData('pos_data'), true);
74-
if (isset($postData['quoteId']) && $quoteId == $postData['quoteId']) {
75-
if (in_array($i->getData('status'), $statuses)) {
68+
if (false === isset($orderIncrementId) || true === empty($orderIncrementId)) {
69+
$objectmanager -> get('\Bitpay\Core\Helper\Data') -> debugData('[DEBUG] Bitpay_Core_Model_Ipn::GetStatusReceived(), orderId not found for quoteId' . $orderIncrementId);
70+
return false;
71+
}
72+
$collection = $objectmanager->create('\Bitpay\Core\Model\Ipn')->getCollection();//$this -> _ipnCollectionFactory -> load();
73+
74+
foreach ($collection as $i) {
75+
$pos=json_decode($i -> getPosData(), true);
76+
if(!isset($pos['orderId'])){
77+
continue;
78+
}
79+
if ($orderIncrementId == $pos['orderId']) {
80+
if (in_array($i -> getData('status'), $statuses)) {
7681
return true;
7782
}
7883
}
7984
}
80-
return false;
85+
return false;
8186
}
8287

88+
8389
/**
8490
* @param string $quoteId
8591
*

Diff for: app/code/Bitpay/Core/Model/Method/Bitcoin.php

+4-9
Original file line numberDiff line numberDiff line change
@@ -445,15 +445,10 @@ private function prepareInvoice($invoice, $payment, $amount)
445445
$quote = $objectmanager->create('\Magento\Quote\Model\Quote')->load($quote_session->getId());
446446
$order = $payment->getOrder();
447447

448-
if ($this->_scopeConfig->getValue('payment/bitpay/fullscreen')) {
449-
$invoice->setOrderId($order->getIncrementId());
450-
$invoice->setPosData(json_encode(array('orderId' => $order->getIncrementId())));
451-
} else {
452-
$invoice->setOrderId($quote->getId());
453-
$invoice->setPosData(json_encode(array('quoteId' => $quote->getId())));
454-
// $convertQuote = $this->quoteManagement;//$objectmanager->create('\Magento\Quote\Model\QuoteManagement');
455-
// $order = $convertQuote->submit($quote);
456-
}
448+
//Passing Order Ids
449+
$invoice->setOrderId($order->getIncrementId());
450+
$invoice->setPosData(json_encode(array('orderId' => $order->getIncrementId())));
451+
457452
$invoice = $this->addCurrencyInfo($invoice, $order);
458453
$invoice = $this->addPriceInfo($invoice, $order->getGrandTotal());
459454
$invoice = $this->addBuyerInfo($invoice, $order);

0 commit comments

Comments
 (0)