DSKペイメントサービスで決済画面へ移動しない

フォーラム 使い方全般 DSKペイメントサービスで決済画面へ移動しない

  • このトピックには7件の返信、2人の参加者があり、最後にyokoyeにより7年、 1ヶ月前に更新されました。
8件の投稿を表示中 - 1 - 8件目 (全8件中)
  • 投稿者
    投稿
  • #82295
    yokoye
    参加者

    ——————————————-
    WordPress のバージョン:4.6.3
    Welcart のバージョン:1.9.1
    ご利用のテーマ:独自テーマ
    症状を確認したブラウザ:firefox51.0.1, IE11.0.38, Chrome56.0.2924.87
    サーバー(会社名、サービス名):さくらレンタルサーバー
    SSLの利用:なし
    WordPress のパーマリンク設定:/%category%/%postname%/
    ——————————————–

    お世話になります。
    現在DSKペイメントサービスと契約を完了し、実際のサイトにて導入テストを行っています。

    Welcartのクレジット設定画面にて、
    DSKペイメントサービスから支給されたテスト環境用の
     ・マーチャントID
     ・サービスID
     ・ハッシュキー
    を正しく入力し、クレジット、コンビニ決済、ペイジーを利用&テスト環境を選択しました。

    カートの支払い方法でクレジット、コンビニ決済、ペイジーいずれかを選び、最後の確認画面で「注文」ボタンをクリックしても、決済サイトに移動せず「ERROR」が表示されます。
    注文自体が確定せず、カートの中に商品が残ったままになります。

    ちなみに、DSKとは関係ない「代引き」などは、問題なく注文できます。

    エラーが表示されているときのURLは、下記のようになっています。
    ****/usces-cart/?acting=dsk_card&acting_return=0

    また、「acting_transaction.log」を見てみると、
    ——————————————————–
    21:55:44] dsk_card error : Array
    (
    [acting] => dsk_card
    [acting_return] => 0
    )
    ——————————————————–
    のような、エラーログが記録されていました。

    さらに、クレジット設定画面で「テスト環境」ではなく、「接続支援サイト」を選択してテストしてみた結果、
    「接続失敗」
    「ハッシュチェックに失敗しました」
    と表示され、なぜかチェックサム(ハッシュキー)には、クレジット設定画面で入力している文字列とはまったく違う文字列が表示されています。
    また、この画面では商品名も
    �����t���Z�b�g�����^���iM�T�C�Y�j
    (もとは「小物フルセットレンタル(Mサイズ)」)
    のように文字化けしてしまっておりました。

    こうした状況をDSKのサポートに報告し、解決法を問い合わせたところ、
    『キャプチャの商品名称が文字化けしていますので、
     そのあたりが原因の可能性がございます。
     正しい文字コードでデータがPOSTされれば、
     チェックサムも一致するのではないかと存じますので、
     ご確認ください。』
    という回答でした。

    なお、こちらのWelcart設置サイトは、UTF8(BOM無)で作成していますが、
    DSKの接続支援サイトの文字コードはSift-JISとなっているようです。
    (ページのソースコードで確認しました)

    そこで、どなたかお分かりになる方がいらっしゃいましたら、下記についてお教えいただきたくお願いいたします。
    ——————————————————–
    ・何か設定が間違っているのでしょうか?
    ・どのようにしたら、文字化けせずにPOSTできるのでしょうか?
    ・同様の症状があって、解決された方はいらっしゃいますでしょうか?
     その場合、どのように解決されたのでしょうか?
    ——————————————————–
    以上、長々と申し訳ありませんが、現在、決済できずにたいへん困っております。
    お忙しいところ誠に恐れ入りますが、なにとぞ、どうぞよろしくお願いいたします。

    #82305
    yokoye
    参加者

    たびたび申し訳ありません。

    PaymentDSK.class.php

    を見てみたところ、チェックサムはハッシュキーそのものではないことが分かりました。
    従ってクレジット設定画面で入力している文字列と違って当たり前ということも分かりました。
    勘違いしており、申し訳ありませんでした。

    その上でさらにお伺いさせていただきたいのですが、
    このチェックサムの内容が文字化けしているかどうかを知ることは可能でしょうか?
    また、文字化けしているとしたら、どのようにして解決したらよいでしょうか?

    何かヒントでもあれば、お教えいただきたくお願いいたします。

    #82312
    yskysmr
    キーマスター

    こんにちは。

    以下をご参照いただき、導入マニュアルもダウンロードしてご一読ください。
    クレジット決済設定 DSKペイメントサービス

    DSKペイメントは独自SSL の導入が必須となっていますが、SSLの導入がなくても利用できるのか、DSKペイメントのほうにお問い合わせください。

    #82314
    yokoye
    参加者

    キーマスター様

    お返事ありがとうございます。

    お知らせいただいたURLおよび導入マニュアルについては、確認しております。

    DSKペイメントサービスは、
    「テスト環境」ではSSLは必要ないということです。
    DSKのカスタマーサービスに確認しておりますし、
    Welcartのクレジット設定画面にも
    「本番環境では独自SSLが必要」と書かれています。

    そうしたわけで、SSLなしの状態でとりあえずテストをしていた次第です。

    しかし、どうしてもエラーになってしまうことと、
    いずれにせよ本番環境ではSSLが必要ということで、
    最初の投稿をしたあとに、独自SSLを導入しました。

    導入後も同じようにテストをしてみましたが、
    状況は同じです。

    DSK側にも接続できないことについて、問い合わせてはいますが、
    文字化けの理由を含め、原因はまだ分からないといわれています。

    #82319
    yskysmr
    キーマスター

    yokoye 様

    DSK ペイメントサービスの主体は、ソフトバンクペイメントサービスです。
    もしかしたら、以下の投稿の内容と同じかもしれません。
    Welcart フォーラム 【急】ソフトバンクペイメント 購入完了時のエラーについて

    対処法などご確認ください。

    #82320
    yokoye
    参加者

    キーマスター様

    ありがとうございます。
    リンク先内容を確認させていただきました。
    さっそくパッチをあてて試してみましたが、状況は変わりませんでした。
    なお、当該サイトのSSLはSHA256です。

    そもそもSSL不要という「接続支援サイト」「テスト環境」で試しているので、やはり関係ないのかもしれません。

    その後も、こちらでいろいろ試してみているのですが、その中で商品名の文字化けが解消したので、ご報告させていただきます。
    ——————————————————–
    PaymentDSK.class.php の 271行目

    <input type=”hidden” name=”item_name” value=”‘.mb_convert_encoding($item_name, ‘SJIS’, ‘UTF-8’).'” />

    となっていたのを、

    <input type=”hidden” name=”item_name” value=”‘.$item_name.'” />

    として、文字コード変換処理を削除したところ、文字化けしなくなりました。
    ——————————————————–

    そして、このときに気になったのですが、
    同じく PaymentDSK.class.php の 254行目~255行目

    $sps_hashcode = $pay_method.$acting_opts[‘merchant_id’].$acting_opts[‘service_id’].$cust_code.$dsk_cust_no.$dsk_payment_no.$rand.$item_id.$item_name.$amount.$pay_type.$auto_charge_type.$service_type.$div_settle.$last_charge_month.$camp_type.$terminal_type.$success_url.$cancel_url.$error_url.$pagecon_url.$free1.$free_csv.$request_date.$limit_second.$acting_opts[‘hash_key’];

    この中の $item_name は、文字化けすることはないのでしょうか?

    さらに キーマスター様からSHA256についてのコメントをいただいて、
    同じように気になったのですが・・・

    255行目

    $sps_hashcode = sha1( $sps_hashcode );

    という部分があり、この最後のところで sha1() でハッシュ化(?)していると思うのですが、これはSSLのSHA256とは関係ないものなのでしょうか?

    まったく見当違いの質問していたら申し訳ありません。
    何かお分かりになることがありましたら、ぜひ教えていただきたくお願いいたします。

    #82323
    yokoye
    参加者

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

    DSK側より連絡があり、
    接続支援サイト専用のID、ハッシュキーを使うことにより、
    とりあえず接続支援サイトには接続成功しました。

    しかし、その後
    あらためてテスト環境用にID、ハッシュキーを設定しなおし、
    注文ボタンをクリックしてみましたが、
    やはり決済サイトへ移動せず
    エラーが表示されてしまいます。

    テスト環境用のID、ハッシュキーなどの情報が正しくないのでは?
    と思い、DSKに問い合わせましたが、
    まだはっきりとした回答は得られておりません。

    また、キーマスター様よりご回答いただいた、
    ソフトバンクペイメントサービスの件の場合、
    決済サイトの画面へは移動できていたようなので、
    やはり今回の件とは、原因が違っていると思われます。

    #82350
    yokoye
    参加者

    お世話になります。
    解決しましたので、ご報告いたします。

    原因は、「3Dセキュア」の設定が間違っていたことでした。
    当初、DSK側へは、
    クレジット設定画面の設定状況のキャプチャ画像を送り、
    「何か間違っていないか?」と問い合わせていたのですが、
    じつはDSK側もこの設定について、よく分かっていなかったらしく
    「設定に間違いはない・原因が分からない・Welcartの問題かも」
    と回答を返してきていました。

    しかし、DSK側に、
    ソフトバンクペイメントのエラーログを確認してほしいと
    依頼したところ、
    「ソフトバンクペイメントへ問い合わせた結果
     pay_method は credit ではなく credit3d に
     してくださいとのことです」
    と回答があり、3Dセキュアの設定に気がついたという次第です。

    いろいろお騒がせして申し訳ありませんでした。
    キーマスター様、お忙しい中ご回答いただきましてありがとうございました。

8件の投稿を表示中 - 1 - 8件目 (全8件中)
  • このトピックに返信するにはログインが必要です。