0

Paypal をショッピング カートに統合しています。支払いを作成した後で、ユーザーの配送情報を取得したいと考えています。以前のAPIを使って行う方法があったことは知っていますが、developer.paypal.comを立ち上げた時点でAPIが変わったようです。支払い者の詳細情報を取得するために使用する必要がある URL がわかりません。

これまでのところ、作成のためにユーザーをペイパルに送信しており、ユーザーが戻ってきたときに支払人 ID とトークンを取得しています。前回の呼び出しから、実行リンクはありますが、詳細リンクはありません。ペイパルに連絡する前に、ユーザーに配送情報の入力を強制する必要がありますか? その場合、Paypal が自分のシステムではなく、自分のシステムからの配送情報を表示するのは紛らわしいように思えます。

支払い者が金額を承認したら、paypal から支払い者の配送の詳細を取得するにはどうすればよいですか?

4

1 に答える 1

0

ほとんどのマーチャントは、PayPal 即時支払い通知 (IPN) を使用して、配送先住所を含む支払いの詳細を受け取ります。これにより、支払いが行われたと思われるときに PayPal に ping を送信するのではなく、PayPal からリアルタイムで通知を受け取ることができます。以下は、IPN を取得して検証し、なりすましの試みではないことを確認する単純な PHP スクリプトです。検証が完了したら、データベースを更新したり、電子メールを送信したり、支払いが行われたことがわかったら必要なタスクを送信したりできます。

// Validate with curl
  $req = 'cmd=_notify-validate';

  foreach ($_POST as $key => $value)  
  {  
       $value =  urlencode(stripslashes($value));  
       $req .=  "&" . $key . "=" . $value;  
  }

  $curl_result=$curl_err='';
  $ch = curl_init();
  curl_setopt($ch, CURLOPT_URL,'www.paypal.com');//Change URL to sandbox.paypal.com if testing in our developer environment
  curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
  curl_setopt($ch, CURLOPT_POST, 1);
  curl_setopt($ch, CURLOPT_POSTFIELDS, $req);
  curl_setopt($ch, CURLOPT_HTTPHEADER,  array("Content-Type: application/x-www-form-urlencoded",  "Content-Length: " . strlen($req)));
  curl_setopt($ch, CURLOPT_HEADER , 0);  
  curl_setopt($ch, CURLOPT_VERBOSE, 1);
  curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
  curl_setopt($ch, CURLOPT_TIMEOUT, 30);
  $curl_result = @curl_exec($ch);
  $curl_err = curl_error($ch);
  curl_close($ch);

  //Set validation flag
  if (strpos($curl_result, "VERIFIED")!==false)
       $valid  = true;
  else
       $valid  = false;

この方法は、消費者がサイトに戻って支払いを行う必要がないため、支払いデータ転送 (PDT) よりもはるかに信頼性が高くなります。

于 2013-03-20T23:30:08.707 に答える