2012-01-24 16 views
4

新しいPaypal API(Adaptive Payment)を使用して支払いシステムを実装しようとしています。PayPalアダプティブ決済を使用したPayKeyによるワークフロー

これまでのところ、私はこのワークフローを持っている:これは有料要求を作成し、3時間(source

  • 有効ですpayKeyを返すAdaptivePayments/Pay
    • はのためにペイパルにリクエストを送ります今、私はpaypalが私にIPNを通して要求を送るのを待つ。それが可能になると、私はそれと一緒にpay_keyを得るでしょう
    • このpay_keyを使って、私はAdaptivePayments/PaymentDetailsに支払いの状態を知らせるでしょう。

    しかし、3時間以上経過していたらどうすればいいですか? (払い戻しの場合のように)

    どうすればよいのですか?

    ありがとうございました!

  • 答えて

    10

    さて、私はそれを少しずつ読んでいます。

    AdaptivePayments/Payを呼び出すときに指定されたpayKeyを使用する代わりに、他の解決策はtrackingIdを使用することです。 、あなたはAdaptivePayments/Payを作成し、trackingId(一意である必要があります)を指定

    まずステップ:対応して

    { 
        "actionType":"PAY", 
        "currencyCode":"USD", 
        "receiverList":{"receiver":[{"amount":"1.00","email":"[email protected]"}]}, 
        "returnUrl":"http://apigee.com/console/-1/handlePaypalReturn", 
        "cancelUrl":"http://apigee.com/console/-1/handlePaypalCancel?", 
        "trackingId":"abcde-12345-unique-of-course", 
        "ipnNotificationUrl":"http://apigee.com/console/-1/ipn", 
        "requestEnvelope":{"errorLanguage":"en_US", "detailLevel":"ReturnAll"} 
    } 
    

    を、あなたがあなたをリダイレクトますpayKeyを持っています。ここ

    の方法です購入者に、支払いを行うために。

    この支払いの進展のために、IPN URL(ここでは「http://apigee.com/console/-1/ipn」)に通知されます。

    このアドレスで(POST)リクエストを受け取ると、paypalの有効性をチェックすると、パラメータにtrackingIdが表示されます。このtrackingIdが存在することを確認してから、このようなことtrackingIdでAdaptivePayments/PaymentDetailsを尋ねる:

    { 
    "trackingId":"{put here}", 
    "requestEnvelope":{"errorLanguage":"en_US", "detailLevel":"ReturnAll"} 
    } 
    

    をそして、あなたは見返りにお支払いの完全なdetailled状態になります。

    さて、あなたは私のために役立ちました何:)

    を使用してデータベースを更新するための作業を行う、あなたのバイヤーを呼び出し、などなど:

    +2

    いいね! Paypalのドキュメントは複雑なので、プロセスを理解することは難しいです。 –