我正在制作一个网站,我们将在其中举办活动,并希望用户“USER A”能够开始活动 - 输入他们的贝宝帐户信息并设置价格。然后其他用户可以注册他们的活动并直接向用户 A 付款,而无需我们处理他们的信用卡。我们希望没有贝宝账户的用户能够使用信用卡支付。
看起来 Paypal 的自适应支付是我们用来完成此任务的最佳 API。我让它在沙盒环境中工作。我的问题是 - 用户点击注册用户 A 的活动,然后他们输入所有信息(姓名、地址、公司等),我们需要将此信息保存在我们的数据库中,因此需要先完成此操作。然后他们会点击一个按钮,上面写着“Paypal 支付”。这将创建一个支付密钥并将用户重定向到用户有 2 个选项的 Paypal 登录页面(a. 登录 paypal 或 b. 再次输入个人信息和信用卡信息)
我想知道如何在 Paypal 页面中填写所有字段,这样用户就不必再次输入他们的所有信息。如果帐单地址恰好不同,他们将能够删除文本框中的数据。但是我见过的所有网站,如果它们相同,则不会让用户输入此信息两次。现在我知道这是可能的,因为我已经看到其他网站这样做了。我已经研究过 SetPaymentOptions API,但不是很清楚它是如何工作的,我需要传递用户信息,即使 Paypal 还不知道它们。
我尝试按照这样的 Paypal 教程中的建议添加值
<INPUT TYPE="hidden" NAME="first_name" VALUE="John">
<INPUT TYPE="hidden" NAME="last_name" VALUE="Doe">
<INPUT TYPE="hidden" NAME="address1" VALUE="9 Elm Street">
但这不起作用,这是来自请求的 Fiddler 的原始数据:
POST https://svcs.sandbox.paypal.com/AdaptivePayments/Pay HTTP/1.1
Content-Type: text/xml;charset=utf-8
X-PAYPAL-SECURITY-USERID: scotts_XXXXXXXXX_biz_api1.live.com
X-PAYPAL-SECURITY-PASSWORD: 1344XXXXX
X-PAYPAL-SECURITY-SIGNATURE: AOLbPDojAEUdeQJ3wXagJXkxYeJDARg4IXXXXXXXXXXXXXXXXXXX
X-PAYPAL-SERVICE-VERSION: 1.1.0
X-PAYPAL-APPLICATION-ID: APP-80W2844XXXXXXXXX
X-PAYPAL-REQUEST-DATA-FORMAT: XML
X-PAYPAL-RESPONSE-DATA-FORMAT: XML
Host: svcs.sandbox.paypal.com
Content-Length: 810
Expect: 100-continue
Connection: Keep-Alive