我正在开发一个能够接受PayPal付款的项目。我使用的顺序如下:
我当前的开发网站的付款步骤:
这很好用,因为当paypal决定确认已提交的付款时,我使用IPN监听器在后台更新我的数据库,并让用户相应地知道。
然而,几天前,我正在做自己的网上购物,并使用paypal付款。我注意到,当我付款时,我被重定向到paypal,我在那里登录并看到了paypal发票。我点击确认,我被重定向回到卖家网站,在那里我总结并被告知要提交购买!!!
所以基本上,序列是这样的:
我来自不同卖家网站的购物体验
不同之处在于,我的网站在paypal网站上进行了购买,我使用他们的IPN系统听取了PayPal的响应,但第二个网站似乎是在卖家的实际网站上付款。
我想,哇,从用户体验的角度来看,这让人感到更放心。
这是怎么做到的?
答案 0 :(得分:5)
听起来您正在使用Payments Standard,而您想要Express Checkout。
Express Checkout与Standard非常相似,只是它基于API,用户在最终确定付款之前会返回您的网站。
它包含3个API调用...
1)SetExpressCheckout - 从PayPal获取一个令牌,您将其附加到重定向网址的末尾,该网址会将此人发送到PayPal以登录并查看付款。
2)GetExpressCheckoutDetails - 这允许您从PayPal将付款人详细信息(姓名,电话,送货地址等)提取回您的应用程序。这是一个可选步骤。
3)DoExpressCheckoutPayament - 这最终确定了付款。在此API调用发生之前,不会移动任何资金,当然,直到用户已经回到您的网站并再次访问您自己的应用流程中时,才会发生这种情况。
您仍然可以按照自己的方式使用IPN,但也可以直接在流程中使用,因为您可以从API获得即时回复,并且您可以根据需要设置自己的评论。