[解決済み] paypal決済モジュールの不具合

2010 年 9 月 4 日

ホーム フォーラム 使い方全般 [解決済み] paypal決済モジュールの不具合

このトピックには5件の返信が含まれ、2人の参加者がいます。7 年、 3 ヶ月前 nanbu さんが最後の更新を行いました。

6件の投稿を表示中 - 1 - 6件目 (全6件中)
  • 投稿者
    投稿
  • #49927

    hazeleye
    参加者

    いつもお世話になっております。

    paypal決済モジュールの設定で不具合が出ているためご連絡をさせていただきます。

    paypal_sample_ja.phpに

     ・$usces_paypal_business

     ・$usces_paypal_url

     ・$auth_token

    を記入後、ファイル名をpaypal.phpに変更。

    その後、システム設定の「決済モジュールパス」と基本設定の決済モジュール指定を終え、カートにpaypalの支払い画像が表示されました。

    ので、パスはちゃんと通っているかと思います。

    ですが、paypalの支払い画像をクリックするとリンク先が

     https://cgi-bin/webscr

    になっています。

    変だなと思い、直前のHTMLソースを確認すると

    formのアクションURLが

     https:///cgi-bin/webscr

    となっていました。

    usc-e-shop/templates/cart/の「confirm.php」で処理をしていると思うのですが、

    こちらに$usces_paypal_urlと$usces_paypal_businessがうまく引き渡されない現象の原因は何かありますでしょうか?

    文字コード等は通常通りUTF-8にしているのですが。。。

    お手数をおかけし申し訳ございませんがよろしくお願いいたします。

    #60209

    nanbu
    参加者

    こんにちは。

    支払方法でpaypal を選択できたということはモジュールのパスの設定は間違いないと思います。

    confirm.php をカスタマイズしていない限りモジュールが読み込まれれば変数は引き渡されるはずです。

    その現象は変数に値が設定されていない可能性が高いと思います。

    つまり、設定しているモジュールと違うpaypal.php を読み込んではいないでしょうか。

    #60210

    hazeleye
    参加者

    いろいろ試した結果、どうやら自分の作成したテーマファイルだと支払い画面に遷移ができないようです。

    パスやファイルの設定はそのままで、デフォルトのWelcartテーマファイルだと支払い画面に遷移します。

    ですが、自分が作成したテーマだと上記のような不具合になります。

    カート周りの事ですし、そういう事(テーマ絡み)ってありえるものでしょうか?

    テーマ内に設定しておかなければならない変数なりがあるのでしょうか?

    また違う事をお伺いしたいのですが、現在PayPal Sandboxで試しています。

    支払いはできるのですが、支払い完了後の通知メールが来ません。

    それと、WelCartの管理画面内に注文が反映されていません。

    こちらはSandboxならではの現象でしょうか?

    #60211

    nanbu
    参加者

    デフォルトテーマだとうまく変数が引き渡されるのであれば、有り得るかどうかは別として、テーマを疑うのは自然です。

    PayPal モジュールは、ページ遷移は同期処理(PDT)、データベース登録は非同期処理(IPN)で行われます。非同期処理用のURLはnotify_url と言うフィールドで指定しています。問題のフォームの中に有ります。

    残念ながらPayPal はIPNの処理結果をPDTに渡すことができません。従って完了しましたと言うページが出ているにも拘らずデータが登録されていないと言う矛盾した結果を生むことになります。これはPayPal の仕様の欠点と言えるかもしれません。

    しかしながら、正常な設定の下であればPDTに成功すれば大概はIPNにも成功するはずなのです。

    適切に処置されていればきっとうまく行くはずです。うまく行かないのはどこかに原因があるからです。原因を特定するために、まずはデフォルトテーマでテストを行ってください。

    ログは確認していますでしょうか。paypal.php の46行目で「ログを取る」に設定してください。モジュールと同じ場所にログファイルができます。

    Sandbox は非常に厄介ですが、PDTに成功しているのであればあと一息です。

    がんばって下さい。

    #60212

    hazeleye
    参加者

    お世話になっております。

    >デフォルトテーマだとうまく変数が引き渡されるのであれば、有り得るかどうかは別として、テーマを疑うのは自然です。

    こちらローラー作戦(しらみつぶし)で、テーマフォルダのファイルを入れ替えて対応しました。

    そうしましたところ、heder.phpで独自で設定していたSEO対策用のプログラムが悪さをしていたようです。

    それを外すと通常通り動作いたしました。

    >適切に処置されていればきっとうまく行くはずです。うまく行かないのはどこかに原因があるからです。

    こちらもいろいろ原因は何だろうと考えて試しました。

    原因はサイトを公開させないために設定していた.htaccessのアクセス制限でした。

    初歩的な事でした。

    諸処お騒がせして申し訳ございません。

    またありがとうございました。

    今後ともよろしくお願いします。

    #60213

    nanbu
    参加者

    うまく行ってよかったです。

    こちらこそよろしくお願いします。

6件の投稿を表示中 - 1 - 6件目 (全6件中)

このトピックに返信するにはログインが必要です。