質問

私は自分の店を一緒にテストしようとしています PayPalサンドボックス。 2つの異なる状況で2つの異なるエラーが発生します。
1. PayPalで順序が終了するまですべてが正常に動作します。その後、メッセージを取得します:

申し訳ありませんが、PayPalは米国の住民が購入を(どこでも)出荷することを許可していません

2. 2番目の状況は、買い手の配送先住所を変更したときです。 PayPalの最初のページで、次のエラーが発生します。

支払いを処理できません。商人が提供する配送先住所が無効であるため、商人に連絡してください。商人はあなたの注文をその住所に出荷する必要があることを要求しました。

フォームを見つけました ここ, 、これが多くの人にとって問題のようです。から ここ 関係があることがわかりました address_override 方法と ここ オフにすることがお勧めします。
Magentoでそれをオフにする方法はありますか?それをオフにするのは安全ですか?なぜそれがそもそもそこにあるのですか?または、他にどのようなソリューションがありますか? :

Magentoでaddress_overrideメソッドを見つけました

app code core mage paypal model api stardent.php line:238 $ request ['address_override'] = 1;

に変更しました '0' そして今、PayPal Sandboxが機能しています。もうエラーはありません。しかし、Magentoのコアファイルを変更せずにこれを行うにはどうすればよいですか?そして、それは安全ですか?

役に立ちましたか?

解決

コアファイルを変更したくない場合は、次のことを行うことができます。

  1. フォルダーを作成します Mage/Paypal/Model/Api/app/code/local/
  2. ファイルをコピーします Standard.php から /app/code/core/Mage/Paypal/Model/Api
  3. ファイルを貼り付けます Standard.php/app/code/local/Mage/Paypal/Model/Api
  4. ラインを変更します 238 から
$request['address_override'] = 1;

$request['address_override'] = 0;

他のヒント

address_override パラメーターは、Magento ShopがPayPalの側に保存された顧客の配送先住所の代わりに、PayPalに送信アドレスとして送信する配送先住所を設定するためにあります。

もしも address_override に設定されています 1, 、これはMagentoでは、PayPalが配送先住所を検証します。パラメーターがに設定されている場合 0, 、おそらくそうではありません。したがって、有効かつ適切にフォーマットされた住所をPayPalに送信していることを確認してください。

「状態」値が欠落しているため、私はこの問題に遭遇しました。 PayPalは、「カリフォルニア」の「CA」のような状態の略語のみを受け入れます。他の国では、メキシコの場合、デフォルトではマゼントのインストールで州が利用できない場合があります。

チェックアウトで配送先住所フィールドをカスタマイズしましたか?

これらのスタックオーバーフローの回答をチェックしてください:
https://stackoverflow.com/questions/5978153
https://stackoverflow.com/questions/11281543

基本的に、すばやく汚い方法は、ファイル全体をあなたにコピーすることです app/code/local/Mage 世界ですが、1つの孤独な関数だけを過負荷できる場合、アップグレードにはさらに優れています。

また、まだそうでない場合は、githubを使用してバージョンコントロールを使用してください。それは私を複数回節約しました!あなたが悪いとコアファイルを編集している場合でも、すべての変更を簡単に追跡できます。

ライセンス: CC-BY-SA帰属
所属していません magento.stackexchange
scroll top