0

埋め込み連鎖支払いを実装しようとしています。

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 ページに正しくリダイレ​​クトされます (埋め込まれていない場合も同様です)。

サンドボックスを使用しています。

4

1 に答える 1

4

PayRequest メッセージを作成するときに、senderEmail を設定しないと、問題が解決するはずです。PayPal 埋め込みフローでは、購入者/送信者が自分のメールを PayPal に手動で挿入する必要があるようです。

于 2012-10-18T12:25:19.760 に答える