2

私は定期的な支払いに Paypal エクスプレス チェックアウトを使用しており、PHP を使用して自分の Web サイトとうまく統合できました。しかし、いくつか質問があります

  1. 繰り返しプロファイルを作成するときに IPN リスナーの URL を設定するにはどうすればよいですか?
  2. ペイパル サーバーが IPN リスナーにヒットしたときに、どのようなデータが返されますか?
  3. 定期支払いの IPN をシミュレートまたはテストするにはどうすればよいですか?

これに関して何か助けていただければ幸いです。

4

2 に答える 2

2

1) PayPal アカウント プロファイル内で IPN URL を設定できます。残念ながら、API リクエスト内の NotifyURL は定期支払いでは機能しません。

2) 以下は、新しいプロファイルが作成されたときに取得する IPN のサンプルです。

payment_cycle = Monthly
txn_type = recurring_payment_profile_created
last_name = Testerson
next_payment_date = 03:00:00 Jul 01, 2013 PDT

residence_country = US
initial_payment_amount = 0.00
rp_invoice_id = 5053
currency_code = USD
time_created = 11:39:03 Jul 01, 2013 PDT
verify_sign = AxuyKPFTDVhGvGlmhi1Hmnox3YnSAxMg2orZ0pTTDYZq.xNVLeRhMlVb

period_type = Regular
payer_status = unverified
tax = 0.00
payer_email = tester@testerson.com
first_name = Tester
receiver_email = payments@domain.com
payer_id = R2UKKKKXGXE

product_type = 1
shipping = 0.00
amount_per_cycle = 1.95
profile_status = Active

charset = windows-1252
notify_version = 3.7
amount = 1.95
outstanding_balance = 0.00
recurring_payment_id = I-JM567DDW38E

product_name = USBSwiper Monthly Subscription
ipn_track_id = 5263496da8a39

これは、そのプロファイルからの完了した支払いに対して取得する IPN のサンプルです。

mc_gross = 1.95
period_type = Regular
outstanding_balance = 0.00
next_payment_date = 03:00:00 Aug 01, 2013 PDT
protection_eligibility = Ineligible
payment_cycle = Monthly
tax = 0.00
payer_id = RLKKKKKFFFGMAJ
payment_date = 03:18:43 Jul 01, 2013 PDT
payment_status = Completed
product_name = USBSwiper Monthly Subscription
charset = windows-1252
rp_invoice_id = 3420
recurring_payment_id = I-W0HKYYYIIIKN
first_name = Tester
mc_fee = 0.39
notify_version = 3.7
amount_per_cycle = 1.95
payer_status = unverified
currency_code = USD
business = payments@domain.com
verify_sign = AX9DPPxdksE8vxjYRM3zoykf7dT4APAKCGYTvrJ1cP7slIeYHUE9eqDh
payer_email = tester@testerson.com
initial_payment_amount = 29.95
profile_status = Active
amount = 1.95
txn_id = 33S38844SG269083S
payment_type = instant
last_name = Testerson
receiver_email = payments@domain.com
payment_fee = 0.39
receiver_id = M5VRAQYEFCSK6
txn_type = recurring_payment

mc_currency = USD
residence_country = US
receipt_id = 4101-1432-9533-3734
transaction_subject = 
payment_gross = 1.95
shipping = 0.00
product_type = 1
time_created = 08:50:12 Mar 01, 2012 PST
ipn_track_id = b9df4ac317b53

定期支払いの IPN をテストするには、サンドボックスで実際に実行するか、実際の IPN で期待されるものと一致する一連の非表示フィールドを含む基本的な HTML フォームを作成する必要があります。このフォームのアクションを IPN URL に設定すると、ブラウザーでこれを送信して画面に結果を表示できます。これにより、スクリプトの問題を取り除き、PayPal システムが通知を送信するのを待たずにテストを実行できます。

そのようにテストした場合、データは実際には PayPal からのものではないため、未検証になることに注意してください。テスト中にコード内で適切に処理する必要があります。

于 2013-07-03T04:22:34.203 に答える