在卖家网站上提交付款

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。我看到问题仍然悬而未决。好像我们已经回答过了。 他们在标签中列出了“自适应付款”,遗憾的是无法使用上述“快速结帐”样式流程。

以上是关于在卖家网站上提交付款的主要内容,如果未能解决你的问题,请参考以下文章

我希望我的网站用户从网站上的其他用户那里接收付款? [关闭]

PHP:贝宝集成

PayPal IPN 交付状态设置为已禁用

PayPal Checkout:无法在印度境内进行美元付款

PayPal API - 如何在我的网站上保留付款流程?

登录并使用亚马逊付款 - aspnet mvc