本文整理汇总了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.'));
}
}