在卖家网站上付款

时间:2012-12-21 13:34:26

标签: php paypal paypal-ipn paypal-adaptive-payments

我正在开发一个能够接受PayPal付款的项目。我使用的顺序如下:

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

  1. 用户访问我的网站
  2. 选择支付某些费用,
  3. 重定向到paypal,
  4. 付款已在paypal上完成,
  5. 然后用户被重定向回我的网站成功网址。
  6. 这很好用,因为当paypal决定确认已提交的付款时,我使用IPN监听器在后台更新我的数据库,并让用户相应地知道。

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

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

    我来自不同卖家网站的购物体验

    1. 我想支付这些物品,
    2. 我被重定向到paypal,
    3. 我是发票并确认了付款,
    4. 我被重定向到卖家网站
    5. 我被告知订单确认,并被要求提交付款,
    6. 我付了款,并被告知订单已经完成。
    7. 不同之处在于,我的网站在paypal网站上进行了购买,我使用他们的IPN系统听取了PayPal的响应,但第二个网站似乎是在卖家的实际网站上付款。

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

      这是怎么做到的?

1 个答案:

答案 0 :(得分:5)

听起来您正在使用Payments Standard,而您想要Express Checkout

Express Checkout与Standard非常相似,只是它基于API,用户在最终确定付款之前会返回您的网站。

它包含3个API调用...

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

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

3)DoExpressCheckoutPayament - 这最终确定了付款。在此API调用发生之前,不会移动任何资金,当然,直到用户已经回到您的网站并再次访问您自己的应用流程中时,才会发生这种情况。

您仍然可以按照自己的方式使用IPN,但也可以直接在流程中使用,因为您可以从API获得即时回复,并且您可以根据需要设置自己的评论。

相关问题