本文整理匯總了PHP中Magento\Framework\Object::getParentTransactionId方法的典型用法代碼示例。如果您正苦於以下問題:PHP Object::getParentTransactionId方法的具體用法?PHP Object::getParentTransactionId怎麽用?PHP Object::getParentTransactionId使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Magento\Framework\Object
的用法示例。
在下文中一共展示了Object::getParentTransactionId方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: _getParentTransactionId
/**
* Get payflow transaction id from parent transaction
*
* @param \Magento\Framework\Object $payment
* @return string
*/
protected function _getParentTransactionId(\Magento\Framework\Object $payment)
{
if ($payment->getParentTransactionId()) {
return $payment->getTransaction($payment->getParentTransactionId())->getAdditionalInformation(self::TRANSPORT_PAYFLOW_TXN_ID);
}
return $payment->getParentTransactionId();
}
示例2: _getParentTransactionId
/**
* Parent transaction id getter
*
* @param \Magento\Framework\Object $payment
* @return string
*/
protected function _getParentTransactionId(\Magento\Framework\Object $payment)
{
return $payment->getParentTransactionId();
}
示例3: _refund
/**
* Refund the amount with transaction id
*
* @param \Magento\Framework\Object $payment
* @param float $amount
* @return $this
* @throws \Magento\Framework\Model\Exception
*/
protected function _refund(\Magento\Framework\Object $payment, $amount)
{
if ($amount <= 0) {
throw new \Magento\Framework\Model\Exception(__('Invalid amount for refund.'));
}
if (!$payment->getParentTransactionId()) {
throw new \Magento\Framework\Model\Exception(__('Invalid transaction ID.'));
}
$payment->setAnetTransType(self::REQUEST_TYPE_CREDIT);
$payment->setAmount($amount);
$payment->setXTransId($this->_getRealParentTransactionId($payment));
$request = $this->_buildRequest($payment);
$result = $this->_postRequest($request);
switch ($result->getResponseCode()) {
case self::RESPONSE_CODE_APPROVED:
if ($result->getResponseReasonCode() == self::RESPONSE_REASON_CODE_APPROVED) {
if ($result->getTransactionId() != $payment->getParentTransactionId()) {
$payment->setTransactionId($result->getTransactionId());
}
$shouldCloseCaptureTransaction = $payment->getOrder()->canCreditmemo() ? 0 : 1;
$payment->setIsTransactionClosed(1)->setShouldCloseParentTransaction($shouldCloseCaptureTransaction)->setTransactionAdditionalInfo($this->_realTransactionIdKey, $result->getTransactionId());
return $this;
}
throw new \Magento\Framework\Model\Exception($this->_wrapGatewayError($result->getResponseReasonText()));
case self::RESPONSE_CODE_DECLINED:
case self::RESPONSE_CODE_ERROR:
throw new \Magento\Framework\Model\Exception($this->_wrapGatewayError($result->getResponseReasonText()));
default:
throw new \Magento\Framework\Model\Exception(__('Payment refunding error.'));
}
}