在创建付款响应中缺少送货地址和卖家须知

时间:2013-03-27 03:59:07

标签: paypal paypal-sandbox

我正在使用REST API在payment_method =“paypal”中创建付款(在沙盒环境中)。出于某种原因,我没有在响应中的payer_info对象中获得送货地址。我也不确定如何通过REST API获取“卖家注释”。任何指针都将非常感激。

2 个答案:

答案 0 :(得分:1)

我们提供的REST API中的PayPal交易目前不会返回送货地址数据,除非最初随请求提交送货地址。

我们的新REST API正在不断发展,但我们已经看到了您的所有要求,所以我肯定会传递这些信息。

在此期间,您可以考虑再次调用我们的经典GetExpressCheckoutDetails API。这只需要Express Checkout令牌(EC-xxxxx),经典API用户名,API密码和API签名,并在回复(docs)中向您返回送货地址数据(以及其他内容)。

答案 1 :(得分:0)

现在支持Paypal REST Api的送货地址。设置ShippingAddress对象,然后将其添加到ItemList对象

 $shippingAddress = new ShippingAddress();
 $shippingAddress->setLine1($_POST['shipstreet'])
->setCity($_POST['shipcity'])
->setState($_POST['shipstate'])
->setPostalCode($_POST['shipzip'])
->setCountryCode($_POST['shipcountry'])
->setRecipientName($_POST['shipname']);

 $itemList = new ItemList();
 $itemList->setItems($itemsarr); //my array of items
 $itemList->setShippingAddress($shippingAddress);

您可能希望在发送之前清理POST变量。其他一些有趣的说明,您可以设置payer_info的名字和姓氏以及电子邮件地址。

 $payerinfo = new PayerInfo();
 $payerinfo->setEmail($_POST['email'])
->setFirstName($_POST['firstName'])
->setLastName($_POST['lastName']);

 $payer = new Payer();
 $payer->setPaymentMethod("credit_card")
->setPayerInfo($payerinfo)
->setFundingInstruments(array($fi));