在卖家网站上提交付款
Posted
技术标签:
【中文标题】在卖家网站上提交付款【英文标题】:Committing payment on sellers website 【发布时间】:2012-12-09 02:13:37 【问题描述】:我正在开发一个可以接受贝宝付款的项目。我使用的顺序如下:
我目前开发网站的付款步骤:
-
用户访问我的网站,
选择支付某事,
被重定向到贝宝,
在paypal上完成支付,
然后用户被重定向回我的网站成功 url。
这很好用,因为当 paypal 决定确认已承诺的付款并相应地通知用户时,我使用 IPN 侦听器在后台更新我的数据库。
但是,几天前,我自己在网上购物,并使用贝宝付款。我注意到,当我付款时,我被重定向到贝宝,在那里我登录并看到了贝宝发票。我点击了确认,然后我被重定向回卖家网站,在那里我做了一个总结并被告知要提交购买!!!
所以基本上,顺序是这样的:
我在不同卖家网站的购物体验:
-
我想为这些物品付款,
我被重定向到贝宝,
我是发票并确认付款,
我被重定向到卖家网站,
我看到了订单确认信息,并被要求付款,
我已付款并被告知订单已完成。
不同之处在于,我的网站在 paypal 网站上进行了购买,而我使用他们的 IPN 系统听取了 paypal 的回复,但第二个网站似乎在卖家的实际网站上进行了付款。
我想,哇,从用户体验的角度来看,这让我更加放心。
这是怎么做到的?
【问题讨论】:
Paypal API 文档中有什么内容吗? 它可能会验证订单但不处理它。然后它会发回订单 ID,卖家网站可能会使用 API 调用来处理订单。 cms.paypal.com/ca/cgi-bin/… 应该会给你一个好的开始。 【参考方案1】:听起来您目前正在使用Payments Standard,并且您想要Express Checkout。
Express Checkout 与 Standard 非常相似,只是它基于 API,并且用户会在完成付款之前返回您的网站。
它由 3 个 API 调用组成...
1) SetExpressCheckout - 从 PayPal 获取一个令牌,您将其附加到重定向 URL 的末尾,该 URL 将人发送到 PayPal 以登录并查看付款。
2) GetExpressCheckoutDetails - 这允许您将付款人详细信息(姓名、电话、送货地址等)从 PayPal 拉回您的应用程序。这是一个可选步骤。
3) DoExpressCheckoutPayament - 这将完成付款。在此 API 调用发生之前,不会转移任何资金,当然,在用户已经回到您的站点并再次进入您自己的应用流程之前,它不会发生。
您仍然可以按原样使用 IPN,但也可以直接在流程中进行操作,因为您可以从 API 获得即时响应,并且您可以根据需要设置自己的评论。
【讨论】:
注意:除了关注 API 响应之外,我强烈建议您坚持使用 IPN,因为您的 IPN 侦听器将在人工审核下的付款被释放时被调用(这发生在一个小交易数量)。 您对我的回答有什么特别不喜欢的地方吗? 不,就 Express Checkout 本身而言,它绝对是正确的。虽然我觉得我需要指出 IPN 的重要性,这样人们才不会仅仅因为他们在交易时查看 DoExpressCheckoutPayment API 响应而认为他们可以完全摆脱它。 我想我是在问 oshirowanen。我看到问题仍然悬而未决。好像我们已经回答过了。 他们在标签中列出了“自适应付款”,遗憾的是无法使用上述“快速结帐”样式流程。以上是关于在卖家网站上提交付款的主要内容,如果未能解决你的问题,请参考以下文章