0

Paypal Adaptive API を使用して、次の問題を解決しようとしています。Paypal Adaptive 連鎖支払い API を自分の Web サイトに統合しました。ユーザーが「paypalで支払う」ボタンをクリックすると、支払いのためにpaypalのウェブサイトに移動します。私の問題はここから始まります

  • Paypal は自分の returnURL に戻りますが、返品後に元の支払い要求を結び付けるにはどうすればよいですか。returnURL は、paypal からのクエリ パラメータのない HTTP GET です。
  • IPN を使用したい場合、localhost または 127.0.0.1 をサポートしていないため、ローカルの Windows Web サーバーでテストすることはできません。公開IPを取得して、ルーターにポート転送を設定しようとしても、少しも動じません

さて、ユーザーが支払いに成功したときにデータベースにさまざまな支払い情報をテーブルに表示できるようにしたいのですが、本番環境に入れる前に開発でそれを行うための適切な手段がありません

Paypal のような 10 億ドル規模の企業が、このような役に立たないコードを開発者に提供して統合できることに、私は二重に驚いています。

私もこの回答を見て、Adaptive Payments Paypal : return url without data? . ペイパルの人は言う

ユーザーが returnUrl エンドポイントを返したら、PaymentDetails API を呼び出し、ステータスを確認して続行します。

問題は PaymentDetails を呼び出すことです。paytoken が必要です。returnurlからpaytokenを取得するにはどうすればよいですか? 現在、リターン URL にはクエリ パラメータがありません。

4

1 に答える 1

7

あなたのreturnUrlちょうど追加でpayKey=${payKey}

たとえば、returnUrl がexample.com/return.html?myparameter=value-の場合、 example.com/return.html?myparameter=value&payKey=${payKey}
PayPal は${payKey}実際の PayKey に置き換えられます。これは URL であるため、returnUrl の値を URL エンコードする必要があります。したがって、上記の URL は次のようになります。example.com%2Freturn.html%3Fmyparameter%3Dvalue%26payKey%3D%24%7BpayKey%7D

ここにサンプルcurlコマンドがあります

curl -s --insecure -H "X-Paypal-Security-Userid: XXX" -H "X-Paypal-Security-Password: XXX" -H "X-Paypal-Security-Signature: XXX" -H "X-Paypal-Request-Data-Format: NV" -H "X-Paypal-Response-Data-Format: NV" -H "X-Paypal-Application-Id: APP-80W284485P519543T" https://svcs.sandbox.paypal.com/AdaptivePayments/Pay -d "requestEnvelope.errorLanguage=en_US&clientDetails.ipAddress=127.0.0.1&clientDetails.deviceId=mydevice&clientDetails.applicationId=PreApprovalNvpDemo&cancelUrl=http%3A%2F%2Flocalhost%2Fcancel.html&currencyCode=USD&actionType=PAY&receiverList.receiver(0).email=pd_1265515509_biz@yahoo.com&&receiverList.receiver(0).amount=100.00&feesPayer=EACHRECEIVER&memo=SimplePay&returnUrl=http%3A%2F%2Flocalhost%2Freturn.html%3FpayKey%3D%24%7BpayKey%7D"
于 2013-07-01T04:26:22.350 に答える