0

カスタム支払い拡張機能で:

チェックアウトの最後のステップでエラー メッセージを表示することはできますか? 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);
    }
}
4

1 に答える 1