カスタム支払い拡張機能で:
チェックアウトの最後のステップでエラー メッセージを表示することはできますか? addError メソッドを使用すると、次のページにメッセージが表示されます。たとえば、ユーザーは住所データを変更できません...
すべての検証関数で Mage::throwException メッセージが Javascript とともにユーザーに表示されますが、承認関数では表示されません。Mage::throwException は次のページのロードをブロックするだけで、メッセージは表示されません。ユーザーに悪い!
public function authorize(Varien_Object $payment, $amount)
{
$error = $this->api_call($payment, $amount);
//no error, proceed to success page
if(strlen($error) == 0)
{
return $this;
}
//error
else
{
//this adds an error message
//which is displayed the next page
$session = Mage::getSingleton("checkout/session");
$session->addError($return);
session_write_close();
//throw exception, which is not displayed anywhere
//if i don't do this, i get success page with addError message,
//but user has to do checkout again
Mage::throwException($return);
}
}