python – 删除(或预填充)PayPal Express Checkout的地址详细信息

我正在寻找使用PayPal作为我建立的自定义购物车的付款选项.我已经设置了购物车,并且结帐“完成”.它询问用户的地址.一旦他们完成了所有领域,他们就会点击“Pay with PayPal”.这还没有将它们发送到PayPal.首先,它处理他们输入的数据,然后将它们重定向到PayPal进行支付.

这都是使用PayPal Express Checkout.

期望的流程是这样的.

>用户将项目添加到购物车.所有这些都发生了,并且已经由我的服务器处理,没有调用PayPal.我希望用户管理我的网站上的购物车,而不是PayPal.
>完成后,用户点击“结账”.然后将它们带到我服务器上的另一个页面(例如http://mywebsite.com/store/checkout/),在那里他们确认购物车并输入他们的送货地址和其他详细信息.
>完成后,他们点击“Pay with PayPal”按钮并发送到MY服务器上的另一个页面(例如,http://mywebsite.com/store/checkout/pay/),我的Web应用程序处理订单和信息并将其添加到数据库.现在,HERE是我想要PayPal魔术发生的地方.
>在处理上一页(第三步)期间,我希望我的Web应用程序使用SetExpressCheckout API联系paypal,并将用户重定向到PayPal付款页面.
>用户输入他们的信用卡或PayPal详细信息并在https://paypal.com付款.
>然后,用户被发送回我的网站,被告知已收到付款(如果有)或他们需要知道的任何其他警报.订单状态会相应更新,订单将被退出.

我很确定这一切都是可能的.是吗?我正在使用Python和Django.

我唯一的问题是我不希望用户必须输入他们的运输/付款地址TWICE(一次在我的网站上,一次在paypal支付网站上).我不希望用户必须在PayPal支付网站上输入他们的送货/付款地址.没有必要,因为我已经拥有它.是否可以从PayPal网站删除地址字段,或者只是从我的网站预先填写数据?

最佳答案 是的,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)
点赞