使用最新的 Android 和 iOS 库集成 PayPal 支付到 REACT NATIVE。

10

经过长时间的研究,我发现目前PayPal不支持SDK,提供的解决方案只适用于旧版本的RN。需要专家的意见来节省开发人员的时间。谢谢。 - Brijmohan Karadia
有找到任何解决方案吗? - Kartavya Parekh
3个回答

19
很遗憾,就我所知,目前没有一个由社区维护且更新及时的仓库。这就是为什么你的选择有限的原因。
利用 PayPal API
PayPal 为不同的用例提供了各种 API,您可以使用它们而不必担心 SDK 本身。它们提供了许多功能,当然可能不像 SDK 本身那样平稳,但是它可以很好地解决您的问题。
如果您同时为移动设备和 Web 开发,则可为两者都使用自己的 API,因为它们不依赖于具体的平台。
解决方案
我的解决方案非常简单明了。如果您不想混乱本机功能并且不确定为什么需要它,请勿使用 PayPal SDK。 PayPal 具有各种 API,您可以在服务器端或客户端 client side 上使用它们,而无需触碰本机代码。下面我会给出一个简单的场景,使用 ExpressCheckout API 并在服务器端进行处理。
对于以下所有步骤,您可以使用 PHP、Node 或任何其他服务器端语言。我只简要介绍一下步骤,其余的工作由您来完成!
1. 为您的交易创建访问令牌。详见以下链接。

https://developer.paypal.com/docs/integration/direct/make-your-first-call

2. 创建支付交易。 您需要传递您的付款详细信息,例如货币和总金额。在此步骤中,您还可以传递您的“return_url”和“cancel_url”。请确保将您的订单 ID 或订单代码附加到它们两个上,以便您可以在任一触发时跟踪订单并相应地更改订单状态。

https://developer.paypal.com/docs/integration/direct/express-checkout/integration-jsv4/advanced-payments-api/create-express-checkout-payments/

3. 将支付链接发送给React Native并通过WebView加载。 在这一步中,您可以在React Native中使用WebView组件,并在其中加载PayPal URL。稍后,为了检查支付是否完成,您可以使用节流函数或使用其他替代方案,例如WebSocket。目标是知道交易是否完成或取消。

当付款完成时,请摆脱WebView并将用户重定向到感谢页面以及任何其他必要的操作。

可能有更优雅的方法来完成此操作,但我相信对于简单的场景(甚至更多!)这已经足够了。


你能分享一个正在执行此类操作的示例应用程序吗?同时,我们可以仅使用客户端实现,为服务器端使用https://www.paypalobjects.com/api/checkout.js用于React Native吗? - Shubhi Sood
请问您如何使用WebSocket在Webview中跟踪付款状态?@DanialKalbasi - Tanmoy Sarker
@DanialKalbasi 3DS支付怎么样?如何实现3DS?提供给WebView的URL是否会将用户重定向到银行3DS页面以完成支付? - 0x01Brain

4

如Danial所建议的,如果您不想让应用程序依赖第三方的React Native库,则可以尝试使用WebView包装器集成Paypal。以下是我是如何做到的:在React Native应用中集成Paypal


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接