Payflow Advanced をサイトに統合し、サンドボックスでテストしています。[今すぐ支払う] ボタンのあるページがあります。必要なすべてのアカウント、ホストされたページなどを取得し、安全なトークンを正常に取得しました。これらのトークンを使用して、ホストされたページにアクセスする 2 つの方法を試しました。
1) [今すぐ支払う] ボタンをクリックすると、ホストされているページが次のように iframe のソースとして指定されている別の HTML ページが開きます。
<p>This is a test of hosted pages</p>
<iframe src="https://payflowlink.paypal.com?SECURETOKEN=73nQZctvqskKbJooHoBr9DQlB&SECURETOKENID=DTesting5991376569967&MODE=TEST& BILLTOSTREET=33 Ames Road&BILLTOCITY=Groton&BILLTOSTATE=MA&BILLTOZIP=01451&BILLTOPHONE=408-110-7975" name="test_iframe" scrolling="no" width="700px" height="700px"></iframe>
このページを開くと、ホストされているページが iframe にあり、すべての情報が正しいです。数秒後、PayPal コードの何かがブラウザを完全にホストされたページにリダイレクトします。このページ全体でもすべてが正しいです。
2) この方法では、中間の HTML ページをバイパスし、HTML フォームを使用して PayFlow に直接アクセスします。フォームには、方法 1 の src とまったく同じ文字列に設定された ACTION と、フォームを送信するためのボタンがあります。のように
<form id='payment' action="https://payflowlink.paypal.com?SECURETOKEN=73nQZctvqskKbJooHoBr9DQlB& SECURETOKENID=DTesting5991376569967&MODE=TEST&BILLTOSTREET=33 Ames Road&BILLTOCITY=Groton&BILLTOSTATE=MA&BILLTOZIP=01451&BILLTOPHONE=408-110-7975">
<input display="inline" type='button' id='paypalbutton' value="Pay with Credit Card or PayPal" class='buttons' onClick="buttonclick('ccpay');">
</form>
フォームが送信されると、無効なマーチャント メッセージが表示され、ホストされたページは表示されません。
正しく機能するだけであれば、どの方法を使用してもかまいません。方法 1 で、リダイレクトを回避するにはどうすればよいですか? 方法 2 で、無効なマーチャント エラーが表示されるのはなぜですか?
ありがとう