3

我正在开发一个可以接受贝宝付款的项目。我使用的顺序如下:

我目前的开发网站的付款步骤:

  1. 用户访问我的网站,
  2. 选择为某事买单,
  3. 被重定向到贝宝,
  4. 在paypal上完成付款,
  5. 然后用户被重定向回我的网站成功 url。

这很好用,因为当贝宝决定确认已承诺的付款并相应地让用户知道时,我使用 IPN 侦听器在后台更新我的数据库。

然而,前几天,我在自己做一些网上购物,并使用贝宝付款。我注意到,当我付款时,我被重定向到贝宝,在那里我登录并看到了贝宝发票。我点击确认,然后我被重定向回卖家网站,在那里我做了一个总结,并被告知要提交购买!!!

所以基本上,序列是这样的:

我在不同卖家网站的购物体验:

  1. 我想为这些物品付款,
  2. 我被重定向到贝宝,
  3. 我是发票并确认付款,
  4. 我被重定向到卖家网站,
  5. 我看到了订单的确认信息,并被要求付款,
  6. 我承诺付款并被告知订单已完成。

不同之处在于,我的网站在 paypal 网站上进行了购买,我使用他们的 IPN 系统听取了 paypal 的回复,但是第二个网站似乎在卖家的实际网站上进行了付款。

我想,哇,从用户体验的角度来看,这让人更加放心。

这是怎么做的?

4

1 回答 1

5

听起来您目前正在使用Payments Standard并且您想要Express Checkout

Express Checkout 与 Standard 非常相似,只是它是基于 API 的,并且用户会在完成付款之前返回您的站点。

它由 3 个 API 调用组成...

1) SetExpressCheckout - 从 PayPal 获取一个令牌,您将其附加到重定向 URL 的末尾,该 URL 将人发送到 PayPal 以登录并查看付款。

2) GetExpressCheckoutDetails - 这允许您将付款人详细信息(姓名、电话、送货地址等)从 PayPal 拉回您的应用程序。这是一个可选步骤。

3) DoExpressCheckoutPayament - 这将完成付款。在此 API 调用发生之前不会转移任何资金,当然,在用户已经回到您的站点并再次进入您自己的应用程序流程之前,它不会发生。

您仍然可以按原样使用 IPN,但您也可以直接在流程中进行操作,因为您可以从 API 获得即时响应,并且您可以根据需要设置自己的评论。

于 2012-12-21T18:12:08.263 回答