gpt4 book ai didi

android - 带有服务器和数据库的移动应用程序中的 Paypal 支付流程

转载 作者:行者123 更新时间:2023-11-30 01:05:14 27 4
gpt4 key购买 nike

我正在开发具有 Paypal 支付功能的 Android 应用程序。我对付款流程有疑问。

考虑以下两个示例:

  1. 客户点击 Android 应用中的订购按钮。 App 连接到 Azure App Service 并向其发送一些订单信息。应用服务正在处理该信息并将信息写入 MS SQL 数据库表并将其发送回应用程序。之后,应用程序拥有订单 ID、价格和一些其他值,并启动 Paypal 流程。付款完成后成功后,Paypal 向 App 发送“PaymentConfirmation info”消息。该应用程序按顺序连接到我的应用程序服务写 payment_status = "true"。现在我可以使用 Windows 应用程序(由我编写)从数据库中提取所有订单以进行进一步处理。为此,我搜索所有订单payment_status =“真”。之后,我用“order_finished”=“true”标记它们,这样下次我从数据库中提取订单时,我只会获得 payment_status =“true”和 order_finished =“false”的新订单。

  2. 与上面完全一样,但是现在在 Paypal 向 App 发送“PaymentConfirmation info”消息后,互联网连接得到中断(这可能在开车或坐火车时发生),因此该应用程序无法连接到我的 Azure 应用程序服务,因此无法连接到数据库以写入 payment_status =“true”。这意味着我的客户为他们的订单付款,但我永远无法处理他们的订单……大问题。

问题:将特定订单(根据订单 ID)的付款确认信息输入我的数据库的最佳方式是什么?还有什么其他方法可以将 Paypal 确认信息输入数据库?其他 Paypal 付款流程如何运作,或者您如何实现成功的 Paypal 付款流程?

问候,

亚当

编辑:(对 Adrian Hall 的回答)

考虑我的第二个例子,其中互联网连接丢失,!after!用户支付了他的订单。将一些信息保存到离线表并不能 100% 解决我的问题。一旦连接丢失并且我强制用户(客户)建立互联网连接,以便我的 android 应用程序能够将 payment_status = "true"(借助离线表)设置到我在 Azure Cloud 中的 SQL Server(借助我的应用程序(移动)服务),客户可以中断该过程。否则,他可能无法在给定的时间内恢复互联网连接,因此他被迫关闭应用程序,并且可能再也不会启动我的应用程序,所以我永远不会得到 payment_status ="true".这将导致这种情况,即他支付了他的订单,却从未从我这里收到他的 cargo 。

难道没有机会将“订单 ID”与 Paypal 付款关联起来吗?然后我可以扩展我的 Windows 应用程序并向 Paypal 服务器询问该“订单 ID”以及它是否已付款,然后进一步处理已付款的订单。

已编辑:

有一种叫做 Paypal IPN 的东西。 IPN 联系您服务器上的给定 URL 并发送一些信息来验证付款。也许我应该在我的服务器上实现一个 IPN Lister...但是我应该如何告诉 Paypal 将我生成的“订单 ID”连同 IPN 请求一起发送到我的服务器,以便我可以识别特定的订单。然后我可以在“订单 ID”的帮助下设置 payment_status =“true”。

知道如何实现吗?

最佳答案

使用 Azure 移动应用程序,您可以使数据库表“离线”。在这种情况下,您可以写入本地 SQLite 数据库,然后随时将更改推送到远程数据库。大多数时候,您会写入 SQLite 数据库,然后立即同步。如果失败,您可以重试计时器,等待 an event或者让用户按下按钮。届时,更改将被同步。

由于您始终在用户设备上拥有数据副本,因此您始终可以通过手机查询状态,即使在断开连接时也是如此。但是,在设备再次连接之前,远程数据库不会反射(reflect)更改。

Azure 文档中提供了更多信息:https://azure.microsoft.com/en-us/documentation/articles/app-service-mobile-android-get-started-offline-data/

关于android - 带有服务器和数据库的移动应用程序中的 Paypal 支付流程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38920438/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com