Magento支付网关/退款在线

时间:2014-12-18 13:53:30

标签: php magento magento-1.7

我正在尝试使用在线退款来实施支付网关。 在模型中我有

protected $_canCapture = true;
protected $_canRefund = true;

public function capture(Varien_Object $payment, $amount) {
    ....
    return $this;
}

public function refund(Varien_Object $payment, $amount) {
    ....
    return $this;
}

它正在捕获付款罚款,但是当我进入发票和贷记凭证时,我只能离线退款。

有谁知道我还需要什么?

由于

1 个答案:

答案 0 :(得分:1)

为了使在线退款工作,捕获方法需要设置付款ID

$payment->setTransactionId($api->getPaymentId());
    $payment->setParentTransactionId($payment->getTransactionId());
    $transaction = $payment->addTransaction(Mage_Sales_Model_Order_Payment_Transaction::TYPE_AUTH, null, true, ""
    );
    $transaction->setIsClosed(true);

然后退款在线工作和退款()方法被称为