web-dev-qa-db-ja.com

WorldPayでリピーターページ設定を作成するにはどうすればよいですか?

WorldPayのドキュメント 何時間も読んで再読した後で理解するのは本当に難しい 。 (実際、多くのドキュメントで間違ったライブURLが提供されたため、たとえば、ライブURLを見つけるために、Webを見回して試行錯誤しながら試行する必要がありました。)

WorldPayを使用してページを返す設定を作成するにはどうすればよいですか?これは、誰かが支払いを投稿してから、WorldPayサイトで支払うときに、WorldPayがその成功した場合、買い物客をサイトのページに自動的にリダイレクトします。これを行う方法を知りたいです。私はそれを以下に推測したと思うが、それが機能するかどうかは不明ですか?

<?php ?>
<html><head><title></title></head><body>
<form action="https://secure.wp3.rbsworldpay.com/wcc/purchase" method="post">
    <input type="hidden" name="testMode" value="0">
    <input type="hidden" name="instId" value="<?= $this->INST_ID ?>">
    <input type="hidden" name="cartId" value="<?= $this->CART_ID ?>">
    <input type="hidden" name="amount" value="<?= $this->AMOUNT ?>">
    <input type="hidden" name="currency" value="<?= $this->CURRENCY_CODE ?>">
    <input type="hidden" name="desc" value="Photos">
    <input type="hidden" name="MC_success" value="<?= $this->RETURNING_PAGE_ON_MY_SITE ?>">
    <input type="submit" value="Click here for the secure payment form">
</form>
</body></html>

[〜#〜] edit [〜#〜]:WorldPayテクニカルサポートは、アクションは「 https:// secure .worldpay.com/wcc/purchase "であり、MC_successパラメーターは機能しません。結果ページでヘッダーを交換し、メタリダイレクトをサイトのページに戻すように、フォームポストでwpdisplayパラメーターを使用するように彼にアドバイスしました。私は例を求めました、そして、彼は何もないと言いました。彼ができることは私にこれを指摘することだけでした 紛らわしいドキュメント これは本当にこれをまったく説明していません。 (私は技術サポート担当者のせいではありません-彼は与えられた弱いツールで仕事をしているだけです。)

22
Volomike

3〜4日を費やして、Worldpayの紛らわしくて質の悪いドキュメントをすべて読んだ後、どういうわけか、あるページに戻ってWorldpayから返された応答を処理する方法を見つけました。トランザクションの詳細を含むレコードをデータベースに挿入したかったのです。だから私は解決策を探していました。さて、ここに私のために働いた解決策があります:

  1. worldpayにログインし、目的のインストールを開いて編集します
  2. 「支払い応答は有効ですか?」にチェックを入れます。
  3. POST worldpayからのデータを受信/処理するページに「支払い応答URL」を提供します。
  4. 「ショッパーリダイレクトURL」に同じURLを入力してください
  5. 「買い物客のリダイレクトボタンが有効」にチェックを入れます
  6. 「買い物客の応答を有効にする」にチェックを入れます
  7. 「支払い応答URL」に入力されたURLでprint_r($ _ POST)(phpユーザーの場合)を使用すると、Worldpayから返されたすべての詳細を確認できます。
  8. 処理後、メタリフレッシュテクニックを使用してユーザーを別のページにリダイレクトするか、「ありがとう」メッセージを同じページのユーザーに印刷できます。

私はこのスレッドが1歳以上であることを知っていますが、誰かがこれが役に立ったと思った場合は、ここに私の解決策を投稿しています。

編集: "WorldPay支払い応答ガイド" ドキュメント

編集:これは私のために働いた私の設定のスクリーンショットです screenshot of my settings

33

完全に同情することができます、これは私にとってもセットアップするのは少し悪夢でした。これまでにMC_successパラメーターを使用していませんが、直接リダイレクトできないことがわかっている限り、支払い後にWorldpayページを表示する必要がありますが、このページはカスタマイズできます。

支払いが成功すると(または失敗すると)、WorldpayはユーザーにHTMLページを表示します。これらのHTMLページは、Worldpayのコントロールパネルに保存されます。カスタマイズする場合は、ここに新しいファイルをアップロードする必要があります。トランザクションの成功と失敗時に表示されるファイルは、それぞれresultY.htmlresultC.htmlです。

高度なカスタマイズガイド を確認し、そのガイドの右上でresultY.htmlを検索する必要があります。これにより、いくつかのヘルプが得られます。

これらのファイルで、Worldpayは実際のデータを<wpdisplay item=cartId><wpdisplay item=banner default="">などの特定のタグに自動的に置き換えます。 Worldpayのコントロールパネルにログインして、現在使用しているファイルをダウンロードし、そこからカスタマイズします。

インストールでは、resultY.htmlページに次のような行を含めるだけです...

<p><a href="http://example.com/worldpay/cartid/<wpdisplay item=cartId>">Redirect back to my shop</a></p>

...これにより、URLにcartIdが含まれるユーザーがサイトに戻り、そこから注文の詳細を取得して、自分の成功ページを表示します。ただし、上記のサンプルフォームの追加の投稿フィールドに沿って送信することで、独自のタグを作成できます。変数の名前の前にはMC_を付ける必要がありますが、resultY.htmlファイルに含めることができます。つまり。

<form action="https://secure.wp3.rbsworldpay.com/wcc/purchase" method="post">
    <input type="hidden" name="testMode" value="0">
    <input type="hidden" name="instId" value="<?= $this->INST_ID ?>">
    <input type="hidden" name="cartId" value="<?= $this->CART_ID ?>">
    <input type="hidden" name="amount" value="<?= $this->AMOUNT ?>">
    <input type="hidden" name="currency" value="<?= $this->CURRENCY_CODE ?>">
    <input type="hidden" name="desc" value="Photos">

    <input type="hidden" name="MC_myText" value="This is my custom text">

    <input type="submit" value="Click here for the secure payment form">
</form>

そして、resultY.htmlファイルに<WPDISPLAY ITEM=MC_myText>タグを含めるだけです。ユーザーが支払いページのソースを表示する場合、すべてのフォームフィールドがユーザーに表示されることを意識する必要があるため、有効なMC_downloadLinkを貴重なダウンロードに配置することはお勧めできません。

これらのページを確認してください。これらは、カスタマイズガイドで最も便利なページです。

質問がある場合はコメントを追加してください。幸運を!!

16
Chris

ResultY.htmlの編集は厳密には必要ありません。「支払い応答」機能を使用して、支払いページエディターの使用をスキップできます。

インストール設定では、サーバー上のスクリプトのURLを提供します。支払いが承認されると(または買い物客が支払いページで[キャンセル]をクリックすると)、WorldPayは次のパラメーターをPOSTします。 http://www.worldpay.com/support/kb/bg/paymentresponse/pr5201.html

「買い物客の応答を有効にする」設定も有効にすると、WorldPayは指定されたHTML出力をダウンロードし、これを結果ページとして使用します(独自のサーバーでホストされます)。 (安全にホストされている画像が必要な場合は、支払いページエディターでアップロードする必要があります)

これにより、resultY.htmlを使用せずに動的な結果ページを作成できます(OSCommerceおよび他のショッピングカートでこのメソッドを使用して結果ページをカスタマイズできます)。

結果ページでメタリフレッシュを使用しても、誤解を招くような問題がなければ問題はないと思います(たとえば、買い物客に支払いの結果を提供し、すぐにホームページに送信しないでください)。

6

私はworldpayが最終的に Shopper Response メタリフレッシュを通じてサイトにリダイレクトすることを許可すると思います。

サーバー側のコールバックからHTML応答を生成するだけです。

1
Sxc

@Chrisは本当にこの質問に答えましたが、これが私がやったことです。実際にMC_successパラメーターを使用しましたが、次のように設定しました。

<input type="hidden" name="MC_success" value="Click here to return to the merchant: <?= $this->RETURNING_PAGE_ON_MY_SITE ?>">

次に、これにより、商人はWorldPayのresultY.htmlページを編集し、このパラメーターをその本文セクションのどこかに挿入する必要があります。

<div><strong><WPDISPLAY ITEM=success></strong></div>

これにより、WorldPayでホストされている成功した支払い応答ページに次のようなものが表示されます。

ここをクリックして販売者に戻ります: http://example.com/my-success-return-link-here

今、すべての顧客がこれを行う方法を知っているわけではありません。したがって、私が作成している私の支払いゲートウェイで、誰かがWorldPayによって支払ったこと、および私たちの製品の管理インターフェイスを介して顧客に手動で写真を送信する必要があることを管理者にメールで送信しました。

さらに、これを適切なアクションURLに投稿する必要があります。これは、[〜#〜] edit [〜#〜]の元の投稿で修正しました上記のセクション。

最後に重要なことですが、自動リダイレクトは実行できません。実際、WorldPayはこれを厳格に禁止するポリシーを持っています。

http://www.worldpay.com/support/kb/bg/paymentresponse/pr5402.html

「警告:買物客の応答機能を使用した自動リダイレクトは禁止されており、ログに記録される障害と機能の停止の可能性があります。」

0
Volomike

2020年現在、これはまだ文書化されておらず、多くのリンクが壊れています:(

@ www.amitpatil.meで承認された回答を行った後も、それは私にとってはうまくいきませんでした。

この追加のフォームフィールドをフォームポストに追加することで機能しましたが、無関係なGoogleタブのように見えたため、これを見つけました。

<input type="hidden" name="successURL" value="https://www.example.com/thanks/">

私はそれが誰かを助けることを望みます。

0
Joe