PayPal自适应支付Api预先填充用户数据

时间:2012-08-10 17:36:07

标签: c# asp.net paypal paypal-adaptive-payments

我正在建立一个网站,我们将举办活动,并希望用户“用户A”能够开始活动 - 输入他们的PayPal帐户信息并设定价格。然后其他用户可以注册他们的活动并直接向用户A付款,而我们不得不处理他们的信用卡。我们希望没有PayPal帐户的用户能够使用信用卡付款。

看起来Paypal的自适应支付是我们用来实现这一目标的最佳API。我让它在沙盒环境中工作。我的问题是这样 - 用户点击注册USER A的事件,然后他们输入我们需要将这些信息保存在我们的数据库中的所有信息(名称,地址,公司等),所以这需要先完成。然后他们会点击一个显示“Pay with Paypal”的按钮。这会创建一个付费密钥并将用户重定向到Paypal登录页面,其中用户有2个选项(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

4 个答案:

答案 0 :(得分:1)

我认为你的问题不是真正的弹出窗口中的paypal登录,而是paypal注册过程能够用信用卡支付。自适应支付API中有一个api调用,允许您代表用户处理注册。

您可以使用自己的设计直接在页面上预先填写paypal信息。在提交时,您使用自适应支付API创建一个PayPal帐户,此过程的最后一步将需要您打开一个paypal弹出窗口,该弹出窗口将要求用户通过添加密码和信用卡信息来完成其注册。

在此之后,您将使用简单的paypal登录找回相同的付款行为。


请注意通过paypal更加整合您的所有网站,您可以添加预先批准,然后用户只会看到一次PayPal网站:当他接受预批准时(轻微的PayPal弹出窗口中的两个步骤:登录&gt;接受)

当用户第一次结帐时:

  1. 选择创建帐户(使用我上面解释的方式)或Pay with paypal
  2. 创建预批准密钥(请参阅api上的文档,您不需要知道用户的paypal登录信息),如returnUrl,使用本地user_id指定网址
  3. 使用上一步返回的网址打开paypal弹出客户端。用户需要使用他的paypal帐户登录,然后接受预先批准的特征(时间限制,限额)
  4. Paypal将重定向到step2的returnUrl,它可以是一个页面,当你只是说“这个窗口将自动关闭”,用js来关闭页面
  5. 您现在可以使用预先批准密钥代表用户进行付款
  6. 第一次用户结账后:

    1. 要求确认“您的链接PayPal将会收取$ XX 帐户“
    2. 使用预先批准密钥付款,就完成了!
    3. 希望它会有所帮助!

答案 1 :(得分:0)

PayPal的官方回应:

“自适应付款在文件中没有任何功能。我为此造成的不便深表歉意。”

我会将这个问题保持开放,但万一有人有更好的途径去完成我在问题中解释的内容。

编辑:

如果其他人遇到这种情况,那是非常100%不可能 - 我最终使用了Express Payment API,使用它很容易传递用户参数。

答案 2 :(得分:0)

不要使用自适应支付API

自2017年12月1日起,自适应支付已停止使用,贝宝市场等效于自适应支付。

您可以在PayPal开发人员门户网站上进一步了解Marketplace产品:https://developer.paypal.com/docs/marketplaces/pp4mp/?mark=marketplaces

答案 3 :(得分:-1)