在创建销售后获取paypal用户信息

时间:2013-03-20 21:59:51

标签: paypal

我正在将Paypal集成到购物车中,我想在创建付款后获取用户的送货信息。我知道有一种方法可以使用旧的api来实现,但是当developer.paypal.com启动时,似乎api已经改变了。我没有看到我需要使用哪个网址才能获得更多的付款人信息。

到目前为止,我将用户发送给PayPal进行创建,当用户回来时,我有付款人ID和令牌。从上一次调用,我有一个执行链接,但没有详细信息链接。在联系PayPal之前,我是否需要强制用户输入送货信息?如果是这种情况,Paypal会显示来自他们系统而不是我的系统的运输信息,这似乎令人困惑。

如果他们批准了金额,我如何从paypal获得付款人的送货详情?

1 个答案:

答案 0 :(得分:0)

大多数商家使用PayPal即时付款通知(IPN)来接收付款详细信息,包括送货地址。这使您可以从PayPal接收实时通知,而不是在您认为付款后立即通知我们。下面是一个简单的PHP脚本,它将获取IPN并对其进行验证,以确保它不是欺骗尝试。验证完成后,您可以在知道付款后更新数据库,发送电子邮件或任何需要的任务。

// 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)更可靠,因为它不依赖于消费者返回您的网站进行付款。