2017-03-08 7 views
0

さて、Joomlaを使用するメンバーサイトと、ユーザーが特定のタスク(チームの作成)を実行できるようにするコンポーネントがあります。彼らはログインしてチームを作ることができますが、$ 25.00の料金を支払うまでメンバーをこのチームに追加することはできません。なぜペイパル通知のURLが異なるのですか

これはPaypal IPNによって発生します。以下に本質的にこのフォームがあります(一部の個人データが削除されました)。

\t 
 
\t <input type="hidden" name="cmd" value="_xclick"> 
 
\t <input type="hidden" name="item_name" value="<?php echo $item_name;?>"> 
 
\t <input type="hidden" name="business" value="[email protected]"> 
 
\t <input type="hidden" name="amount" value="25"> 
 
\t <input type="hidden" name="quantity" value="1"> 
 
\t <input type="hidden" name="no_note" value="1"> 
 

 
     <!--<input name="userId" value="<?php //echo $user->id;?>" type="hidden">--> 
 
     <!--<input name="task" value="paypal_register" type="hidden">--> 
 
\t <input type="hidden" name="currency_code" value="USD"> 
 
\t <!-- Enable override of buyers's address stored with PayPal . --> 
 
\t <!-- Set variables that override the address stored with PayPal. --> 
 
\t <input type="hidden" name="return" value="<?php echo JURI::ROOT().'index.php?option=com_fastball&view=payment&task=paypal_register';?>"> 
 
\t <input type="hidden" name="notify_url" value="<?php echo JURI::ROOT().'index.php?option=com_fastball&view=payment&task=paypal_register&userId='.$user->id.'&ipn=1';?>"> 
 
\t <!--<input type="image" name="submit" border="0" src="https://www.paypal.com/en_US/i/btn/btn_buynow_LG.gif" alt="PayPal - The safer, easier way to pay online">--> 
 
</form>

今、時々IPNは、リダイレクトし、うまく動作します。しかし、それ以外の場合は、「index.php?option = com_fastball」という短いURLを切り捨てることもあります。そのため、Joomlaのビューを有効にしていないため、「index.php?option = com_fastball」と表示されません。通知時にデータベースを更新するコード。

かなりランダムなようです。いくつかのシナリオがあります.1 - 新規ユーザー新規チームを作成する。 2 - 古いユーザーが新しいチームを作成しています。 3古いユーザーの更新古いチーム。

しかし、それにかかわらず、彼らはすべてこの支払いフォームのボタンをヒットし、THESE URLを隠し入力として通知します。

私はpaypalがどちらのAか分かりません。短縮URLを取得するか、B)何らかの理由で短くカットしています。これは非常にイライラされていると私はとてもよく、それを説明していない可能性があり

URLパラメータに示すペイパルポスト情報(& ST =完了& AMT = paypalsサーバから25.00など)のすべてと短縮URLに戻りますご質問やご意見がございましたら、私にお知らせください。ありがとう!

答えて

0

URLパスの場合、JURI::base()ではなくJURI::ROOTを使用する必要があります。ここで文書を確認することができますhttps://docs.joomla.org/Constants

0

これは最近のPayPalの問題です。すべてのURL(return、cancel_return、およびnotify_url)PayPalは、最初の「&」の後にすべてのコンテンツのURLを取り除いています。

この問題は断続的であるようにも見えます。接続先のPayPalサーバー(QueryString values removed from the IPN endpoint by PayPal)に依存している可能性があります。

「&」を'&amp;'(エンコードされたバージョン)に置き換えた自分のPayPalフォームにいくつか修正を加えましたが、それはうまくいくようです。

+0

私は今日、PayPalから問題を解決したと回答しました(3/15)。 – avariant

関連する問題