本文整理汇总了PHP中Magento\Sales\Model\Order::loadByIncrementId方法的典型用法代码示例。如果您正苦于以下问题:PHP Order::loadByIncrementId方法的具体用法?PHP Order::loadByIncrementId怎么用?PHP Order::loadByIncrementId使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Magento\Sales\Model\Order
的用法示例。
在下文中一共展示了Order::loadByIncrementId方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getLastRealOrder
/**
* Get order instance based on last order ID
*
* @return \Magento\Sales\Model\Order
*/
public function getLastRealOrder()
{
$orderId = $this->getLastRealOrderId();
if ($this->_order !== null && $orderId == $this->_order->getIncrementId()) {
return $this->_order;
}
$this->_order = $this->_orderFactory->create();
if ($orderId) {
$this->_order->loadByIncrementId($orderId);
}
return $this->_order;
}
示例2: procesWebhook
public function procesWebhook($json = null)
{
/**
* Se valida el request y se transforma con la cadena a un objeto de tipo CpOrderInfo con el Factory
*/
if (empty($json) || !($resp_webhook = Factory::cpOrderInfo($json))) {
die('Tipo de Request no Valido');
}
/**
* Gurdamos la informacion necesaria para el Cliente
* las llaves de compropago y el modo de ejecucion de la tienda
*/
$publickey = $this->model->getPublicKey();
$privatekey = $this->model->getPrivateKey();
$live = $this->model->getLiveMode();
// si es modo pruebas cambiar por 'false'
/**
* Se valida que las llaves no esten vacias (No es obligatorio pero si recomendado)
*/
//keys set?
if (empty($publickey) || empty($privatekey)) {
die("Se requieren las llaves de compropago");
}
try {
/**
* Se incializa el cliente
*/
$client = new Client($publickey, $privatekey, $live);
/**
* Validamos que nuestro cliente pueda procesar informacion
*/
Validations::validateGateway($client);
} catch (\Throwable $e) {
//something went wrong at sdk lvl
die($e->getMessage());
}
/**
* Verificamos si recivimos una peticion de prueba
*/
if ($resp_webhook->getId() == "ch_00000-000-0000-000000") {
die("Probando el WebHook?, <b>Ruta correcta.</b>");
}
try {
/**
* Verificamos la informacion del Webhook recivido
*/
$response = $client->api->verifyOrder($resp_webhook->getId());
/**
* Comprovamos que la verificacion fue exitosa
*/
if ($response->getType() == 'error') {
die('Error procesando el número de orden');
}
$this->orderManager->loadByIncrementId($response->getOrderInfo()->getOrderId());
/**
* Generamos las rutinas correspondientes para cada uno de los casos posible del webhook
*/
switch ($response->getType()) {
case 'charge.success':
$this->orderManager->setState('processing');
break;
case 'charge.pending':
$this->orderManager->setState('pending_payment');
break;
case 'charge.declined':
$this->orderManager->setState('canceled');
break;
case 'charge.expired':
$this->orderManager->setState('canceled');
break;
case 'charge.deleted':
$this->orderManager->setState('canceled');
break;
case 'charge.canceled':
$this->orderManager->setState('canceled');
break;
default:
die('Invalid Response type');
}
} catch (\Exception $e) {
//something went wrong at sdk lvl
die($e->getMessage());
}
}