删除(或预填)PayPal快速结账的地址详情

5 投票
3 回答
5971 浏览
提问于 2025-04-15 13:19

我正在考虑在我自己搭建的购物车中使用PayPal作为支付选项。我已经设置好了购物车和“完成结账”页面。这个页面会要求用户输入他们的地址。当用户填写完所有信息后,他们点击“用PayPal支付”。这时候还不会直接跳转到PayPal。首先会处理他们输入的数据,然后再把他们引导到PayPal进行支付。

这一切都是通过PayPal的快速结账功能来实现的。

我希望的流程大致是这样的:

  1. 用户将商品添加到购物车。这一切都在我的服务器上处理,不需要调用PayPal。我希望用户在我的网站上管理购物车,而不是在PayPal上。
  2. 完成购物后,用户点击“结账”。这会把他们带到我服务器上的另一个页面(例如 http://mywebsite.com/store/checkout/),在这里他们可以确认购物车并输入送货地址和其他信息。
  3. 完成这些后,他们点击“用PayPal支付”按钮,会被引导到我服务器上的另一个页面(例如 http://mywebsite.com/store/checkout/pay/),在这里我的网页应用会处理订单和信息,并将其添加到数据库中。现在,我希望在这里实现PayPal的功能。
  4. 在处理上一个页面(第三步)时,我希望我的网页应用通过SetExpressCheckout API联系PayPal,并将用户重定向到PayPal的支付页面。
  5. 用户在 https://paypal.com 输入他们的信用卡或PayPal信息进行支付。
  6. 支付完成后,用户会被送回我的网站,告知他们支付是否成功(如果成功的话)或其他需要注意的事项。订单状态会相应更新,订单也会被发货。

我相信这一切都是可能的,对吧?我使用的是Python和Django。

我唯一的问题是,我不希望用户在我的网站和PayPal支付网站上都输入他们的送货/支付地址。我不想让用户在PayPal支付网站上再次输入他们的送货/支付地址,因为我已经有这些信息了。有没有办法去掉PayPal网站上的地址字段,或者直接用我网站上的数据预填这些字段呢?

3 个回答

0

在你调用SetExpressCheckout的时候,可以把"NOSHIPPING"设置为1。这样做会让PayPal的支付页面不再要求填写任何送货地址的信息。不过,这也意味着,如果你或者客户希望在PayPal账户中查看这些送货信息,就无法获取了。

0

大卫,你可以把地址传进去,这样新注册的PayPal用户就能自动填好地址,或者让PayPal根本不询问这个信息。

一旦你搞定了这个功能,我建议你再加一个PayPal的“快捷方式”,这样用户可以直接从你旁边的“结账”按钮跳转到PayPal付款,使用他们在PayPal上保存的地址(我们会把这个地址传回给你,除非你在SetEC的这个情况下选择不显示地址)。同样的,也可以把这个快捷方式放在页面顶部,那里你本来是要用户填写地址的。

对于美国的小企业来说,以这种方式添加PayPal通常能让收入增加超过25%,而且很多时候增幅会更大。你要记住,美国有5500万活跃的PayPal用户,他们习惯了不再重新输入信息。

祝好运,

PayPal 乔尔

2

是的,Paypal的API里有一个选项,可以让你覆盖地址输入。你可以在这里查看:

https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_api_ECCustomizing#id0864F070OHS__id0864H804030

为了方便,这里复制了一些相关信息:

To override the shipping address:

Set the ADDROVERRIDE parameter to 1 in the call to SetExpressCheckout.
Set the following shipping address parameters in the call to SetExpressCheckout to the address values you want to use for the new address.

SHIPTONAME
SHIPTOSTREET
SHIPTOCITY
SHIPTOSTATE (Optional)
SHIPTOCOUNTRYCODE
SHIPTOZIP
SHIPTOSTREET2 (Optional)

撰写回答