去除(或预填)PayPal Express Checkout的地址详细信息

5
我想使用PayPal作为我建立的自定义购物车的支付选项。我已经设置了购物车和结账界面。它要求用户输入他们的地址。一旦他们完成所有字段,点击“Pay with PayPal”。这并没有直接将他们发送到PayPal。首先它会处理他们输入的数据,然后再将他们重定向到PayPal进行付款。
这全部使用PayPal Express Checkout。
期望的流程是这样的。
  1. 用户将商品添加到购物车中。这一切都在我的服务器上处理,没有调用PayPal。我希望用户在我的网站上管理购物车,而不是在PayPal上。
  2. 完成后,用户点击“结账”按钮。然后他们会被带到我的服务器上的另一个页面(例如http://mywebsite.com/store/checkout/),在那里他们确认购物车并输入送货地址和其他详细信息。
  3. 完成后,他们单击“使用PayPal付款”按钮,然后被发送到我的服务器上的另一个页面(例如http://mywebsite.com/store/checkout/pay/),在那里我的Web应用程序处理订单和信息,并将其添加到数据库中。现在,这就是我想要PayPal魔法发生的地方。
  4. 在上一页(第三步)处理期间,我希望我的Web应用程序使用SetExpressCheckout API联系PayPal,并将用户重定向到PayPal支付页面。
  5. 用户在https://paypal.com上输入他们的信用卡或PayPal详细信息并进行支付。
  6. 用户随后被发送回我的网站,告知已收到付款(如果已收到),或者任何其他需要注意的警报。订单状态相应更新,订单被发货。
我很确定这一切都是可能的。是吗?我正在使用Python和Django。
我的唯一问题是,我不希望用户必须在我的网站和PayPal支付网站上输入他们的运输/付款地址两次。我不想让用户在PayPal支付网站上输入他们的运输/付款地址。因为我已经有了这个信息,所以没有必要。是否可以从PayPal网站删除地址字段,或者只是使用来自我的网站的数据填充它们?

可以实现,但是你使用的是哪种编程语言? - random
@echo: 抱歉。Python和Django。 - Josh Hunt
3个回答

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)

0
在您的SetExpressCheckout调用中,您可以将“NOSHIPPING”设置为1。这将从PayPal付款页面中请求任何送货地址详细信息。然而,它也意味着支付没有附加任何送货详情(如果您或客户希望从PayPal账户内获取此类信息)。

0

大卫,你完全可以在新的PayPal客户中传递地址,以便预先填写,或者根本不要求PayPal询问地址。

然而,一旦你做到了这一点,我还想鼓励你添加一个PayPal的“快捷方式”,直接从“结账”按钮旁边跳转到PayPal进行付款,使用客户在PayPal上存档的地址(除非你在SetEC的实例中抑制地址)。同样,在你要求填写地址的页面顶部添加它。

对于美国的小企业来说,以这种方式添加PayPal通常会提高收入超过25%,往往更多。你必须记住,仅在美国就有5500万活跃的PayPal客户,并且他们习惯于不重新输入数据。

祝你好运,

PayPal Joel


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接