草庐IT

php - 在卖家网站上 promise 付款

coder 2024-05-01 原文

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

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

  1. 用户访问我的网站,
  2. 选择支付某物,
  3. 重定向到 paypal,
  4. 在paypal上完成支付,
  5. 然后用户被重定向回我的网站成功 url。

这很好用,因为当 paypal 决定确认 promise 的付款并相应地通知用户时,我使用 IPN 监听器在后台更新我的数据库。

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

基本上,顺序是这样的:

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

  1. 我想为这些元素付款,
  2. 我被重定向到 paypal,
  3. 我是发票并确认付款,
  4. 我被重定向到卖家网站,
  5. 我看到了订单确认信息并被要求付款,
  6. 我 promise 付款并被告知订单已经完成。

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

我想,哇,从用户体验的角度来看,这让人安心多了。

这是怎么做到的?

最佳答案

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

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

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

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

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

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

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

关于php - 在卖家网站上 promise 付款,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13991139/

有关php - 在卖家网站上 promise 付款的更多相关文章

  1. ruby-on-rails - Ruby on Rails 可以部署在 Azure 网站上吗? - 2

    我可以在Azure网站上部署RubyonRails吗? 最佳答案 还没有。目前仅支持.NET和PHP。 关于ruby-on-rails-RubyonRails可以部署在Azure网站上吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/12964010/

  2. ruby - 如何在非 SSL 或 http 网站上使用 Stripe? - 2

    我正在使用Rails3.2.6和Stipe进行支付。是否有可能在不购买ssl证书的情况下进行付款。我可以使用Stripe页面作为我的支付页面吗? 最佳答案 您可以使用stripe.js在技术上跳过SSL但我强烈建议您设置SSL。它所做的是将信用卡信息直接传递给stripe,然后stripe会给你一个token,用于实际进行收费。这样做意味着信用卡信息永远不会接触您的服务器,您不必担心PCI合规性。但是,您仍应设置SSL以防止中间人攻击。您可以在https://stripe.com/docs/tutorials/forms找到有关如何

  3. ruby-on-rails - 这个 C 和 PHP 程序员如何学习 Ruby 和 Rails? - 2

    按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。我来自C、php和bash背景,很容易学习,因为它们都有相同的C结构,我可以将其与我已经知道的联系起来。然后2年前我学了Python并且学得很好,Python对我来说比Ruby更容易学。然后从去年开始,我一直在尝试学习Ruby,然后是Rails,我承认,直到现在我还是学不会,讽刺的是那些打着简单易学的烙印,但是对于我这样一个老练的程序员来说,我只是无法将它

  4. ruby-on-rails - Rails 还是 Sinatra? PHP程序员入门学习哪个好? - 2

    按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。我使用PHP的时间太长了,对它感到厌倦了。我也想学习一门新语言。我一直在使用Ruby并且喜欢它。我必须在Rails和Sinatra之间做出选择,那么您会推荐哪一个?Sinatra真的不能用来构建复杂的应用程序,它只能用于简单的应用程序吗?

  5. ruby - 并发::Promise.all?不起作用 - 2

    在执行所有promise后,我正在尝试进行一些计算。但是proc从不调用:cbr_promise=Concurrent::Promise.execute{CbrRatesService.call}bitfinex_promise=Concurrent::Promise.execute{BitfinexService.call}proc=Proc.newdoputs10endConcurrent::Promise.all?([cbr_promise,bitfinex_promise]).then{proc}使用concurrent-ruby制作gem。例如,我是否应该创建一个每100毫秒

  6. ruby-on-rails - 如何检查是否在网站上找到了图像? - 2

    我正在使用RubyonRailsv3.0.9,我想检查图像(在我的例子中是favicon.ico图标图像)已成功从网站检索到,如果没有,我想显示自定义图像。为了检索与网站相关的favicon.ico图像,在我的View文件中我有:image_tag"#{web_site.link}/favicon.ico",:size=>"16x16"其中web_site.link值类似于以下内容:http://stackoverflow.com/http://www.stackoverflow.com/http://facebook.com/...如何检查是否在网站上找到了图片(可能使用if...e

  7. ruby-on-rails - PHP 魔术方法 __call、__get 和 __set 的 Ruby 等价物 - 2

    我很确定Ruby有这些(等同于__call、__get和__set),否则find_by将如何在Rails中工作?也许有人可以举一个简单的例子来说明如何定义与find_by相同的方法?谢谢 最佳答案 简而言之你可以映射__调用带有参数的method_missing调用__设置为方法名称以'='结尾的method_missing调用__获取不带任何参数的method_missing调用__调用PHPclassMethodTest{publicfunction__call($name,$arguments){echo"Callingob

  8. ruby - Lisp - 是否适合网络编程/应用程序(交互式)? ruby 的方式是? php的方式是? - 2

    Lisp是否适合Web编程/应用程序(交互式),就像ruby​​和php一样?需要考虑的事情是:易于使用可部署性难度(尤其是对于编程初学者而言)(编辑)在阅读PaulGraham'sessay之后,我特别提到了CommonLisp.将是我的第一门编程语言。在这方面。这样做合适吗?我听说Clojure的宏功能不如CommonLisp的强大,这就是我尝试学习Clojure的原因。它教授编程并且非常强大。 最佳答案 Lisp是一个语系,而不是单一的语言。为了稍微回答您的问题,是的,存在用于各种Lisp方言的Web框架,例如用于Common

  9. ruby - Paymill:如何在测试时模拟失败的付款? - 2

    背景使用Paymill'ssubscriptionbilling开发应用程序特色。利用Rubywrapper,我创建了一个PaymentProvider类和规范如下。问题如何使测试支付失败?(例如卡被拒绝,或卡在未来的订阅付款中过期)Stripewouldletmedothisusingspecialcardnumbers但似乎没有针对Paymill的任何此类文档(英文)。payment_provider.rbclassPaymentProviderPaymill.api_key=ENV['PAYMILL_PRIVATE_KEY']defself.start_new_subscript

  10. 软件工程毕业设计课题(81)微信小程序毕业设计PHP校园跑腿小程序系统设计与实现 - 2

        项目背景和意义 目的:本课题主要目标是设计并能够实现一个基于微信校园跑腿小程序系统,前台用户使用小程序发布跑腿任何和接跑腿任务,后台管理使用基于PHP+MySql的B/S架构;通过后台管理跑腿的用户、查看跑腿信息和对应订单。意义:手机网络时代,大学生通过手机网购日常用品、外卖外卖、代取快递等已不再是稀奇的事情。此外,不少高校还流行着校园有偿工作,校园跑腿就成了大学生创业服务项目。        因为你在校园里,所以不会有进入的限制。并不是所有的外卖平台都可以随意进入校园,比如小黄和小蓝的双打外卖平台。许多大学禁止送餐进入学校,更不用说送餐进入宿舍了。这一措施使得校园服务市场的竞争相对不

随机推荐