埋め込み連鎖支払いを実装しようとしています。
PHP PayPal SDK をダウンロードしましたが、埋め込みオプションなしで問題なく動作します。問題は、埋め込みを行おうとすると発生します。
sdk で payKey を取得します。次のようなものが返されます。
支払い - 応答 responseEnvelope.timestamp: 2012-09-30T16:30:09.512-07:00 responseEnvelope.ack: 成功 responseEnvelope.correlationId: 297f1e4a38b63 responseEnvelope.build: 3779320 payKey: AP-9EB01133M3012281Y paymentExecStatus: CREATED * URL を支払い完了にリダイレクト
(リンク先: https://www.sandbox.paypal.com/webscr&cmd=_ap-payment&paykey=AP-9EB01133M3012281Y )
次に、ペイキー (AP-9EB01133M3012281Y) をコピーして、次の html コードに貼り付けます。
<script type="text/javascript" src="https://www.paypalobjects.com/js/external/dg.js"></script>
<form action= "https://www.sandbox.paypal.com/webapps/adaptivepayment/flow/pay" target="PPDGFrame">
<input id="type" type="hidden" name="expType" value="light"></input>
<input id="paykey" type="hidden" name="paykey" value="AP-3GH99339RW1696440"> </input>
<button id="submitBtn" value="Pay with PayPal"><p style="font-size:20px">Pay</button>
</form>
<script>var dgFlow = new PAYPAL.apps.DGFlow({ trigger: 'submitBtn' });</script>
ボタンをクリックすると、iframe は正しく表示されますが、「トランザクションがキャンセルされました。この機能は一時的に利用できません」というエラーが表示されます。キャンセル ボタンをクリックすると、sdk ページに正しくリダイレクトされます (埋め込まれていない場合も同様です)。
サンドボックスを使用しています。