本文整理汇总了PHP中Magento\Sales\Model\Order\Payment::refund方法的典型用法代码示例。如果您正苦于以下问题:PHP Payment::refund方法的具体用法?PHP Payment::refund怎么用?PHP Payment::refund使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Magento\Sales\Model\Order\Payment
的用法示例。
在下文中一共展示了Payment::refund方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: testRefund
/**
* @covers \Magento\Sales\Model\Order\Payment::refund()
*/
public function testRefund()
{
$amount = 204.04;
$this->creditMemoMock->expects(static::once())->method('getBaseGrandTotal')->willReturn($amount);
$this->creditMemoMock->expects(static::once())->method('getGrandTotal')->willReturn($amount);
$this->creditMemoMock->expects(static::once())->method('getDoTransaction')->willReturn(true);
$this->paymentMethodMock->expects(static::once())->method('canRefund')->willReturn(true);
$this->mockInvoice(self::TRANSACTION_ID, 0);
$this->creditMemoMock->expects(static::once())->method('getInvoice')->willReturn($this->invoiceMock);
$captureTranId = self::TRANSACTION_ID . '-' . Transaction::TYPE_CAPTURE;
$captureTransaction = $this->getMockBuilder(Transaction::class)->disableOriginalConstructor()->setMethods(['getTxnId'])->getMock();
$refundTranId = $captureTranId . '-' . Transaction::TYPE_REFUND;
$this->transactionManagerMock->expects(static::once())->method('generateTransactionId')->willReturn($refundTranId);
$captureTransaction->expects(static::once())->method('getTxnId')->willReturn($captureTranId);
$this->transactionRepositoryMock->expects(static::once())->method('getByTransactionId')->willReturn($captureTransaction);
$this->paymentMethodMock->expects(static::once())->method('refund')->with($this->payment, $amount);
$isOnline = true;
$this->getTransactionBuilderMock([], $isOnline, Transaction::TYPE_REFUND, $refundTranId);
$this->currencyMock->expects(static::once())->method('formatTxt')->willReturn($amount);
$this->orderMock->expects(static::once())->method('getBaseCurrency')->willReturn($this->currencyMock);
$status = 'status';
$message = 'We refunded ' . $amount . ' online. Transaction ID: "' . $refundTranId . '"';
$this->mockGetDefaultStatus(Order::STATE_PROCESSING, $status);
$this->assertOrderUpdated(Order::STATE_PROCESSING, $status, $message);
static::assertSame($this->payment, $this->payment->refund($this->creditMemoMock));
static::assertEquals($amount, $this->payment->getData('amount_refunded'));
static::assertEquals($amount, $this->payment->getData('base_amount_refunded_online'));
static::assertEquals($amount, $this->payment->getData('base_amount_refunded'));
}
示例2: refund
/**
* {@inheritdoc}
*/
public function refund($creditmemo)
{
$pluginInfo = $this->pluginList->getNext($this->subjectType, 'refund');
if (!$pluginInfo) {
return parent::refund($creditmemo);
} else {
return $this->___callPlugins('refund', func_get_args(), $pluginInfo);
}
}