@bounceapp/react-native-paypal

中文文档
1.0.0发布于 2026/10/09MITTypeScriptESM + CJS零依赖近 30 天下载 1.2万

反应原生包装以桥接 PayPal iOS 和 Android SDK

中文使用文档
文档目录10 节
  1. 平台兼容性
  2. 文档
  3. 安装
  4. 所需资源
  5. Android 返回 URL 软件
  6. 零工流量
  7. 博览
  8. 用法实例
  9. 捐款
  10. 许可证

@ bunceapp/ react-native-paypal (英语)

Package version MIT license PRs Welcome

反应原生包装机 连接PayPal iOS和Android SDK, 仅支持 requestBillingAgreement 现在

平台兼容性

Android 设备Android 模拟器iOS 设备iOS 模拟器博览会网页
✅✅✅✅❌❌

文档

API 参考。 。 。 .

从0.8.x升级? 1.0.0 移动到 Braintree Android v5 和 iOS v7 和 是一个破解的释放。 见 移徙指南。 。 。 .

安装

yarn add @bounceapp/react-native-paypal

这个 博览模块,所以你的应用程序 需求 expo 软件包。 裸体反应原生应用程序可以添加 npx install-expo-modules@latest它需要博览会SDK 56或以后.

所需资源

最低
博览SDK 56 (英语)
iOS系统16.0 (Braintree iOS v7) (英语)
机器人API 23 (Braintree Android v5) (英语)

Android 返回 URL 软件

Braintree Android v5 从 PayPal 流出返回 Android 应用程序 链接,所以你需要一个域 您控制服务 assetlinks.json 上面列出了你的应用程序。 传出此 URL 为 appLinkReturnUrl 每页 requestBillingAgreement 电话.

给 App 链接自己的路径, 例如 /paypal,并涵盖意图过滤器 用一个 pathPrefix。没有一条,过滤器就声称 主机,所以如果你使用您的主要域名,它的所有网络链接都会打开您的应用程序.

关于Braintree如何处理回归的两件事:

  • 这个 pathPrefix 只有Android发送到您的应用程序的瞄准镜。 脑树 本身与单机和主机的返回匹配,所以同一上的另一个链接 在流中到达应用程序的主机不是 PayPal 返回 。 它解决为 Canceled。 。 。 .
  • 如果App Link没有被验证,Braintree就会倒回 ${applicationId}.braintree 计划本身.

这个 ${applicationId}.braintree 方案仍然被使用,现在作为 已经关闭“开放支持链接”的购买者。 这个图书馆来源于 您的应用程序 ID 自动 - 您只需要继续声明.

零工流量

// android/app/src/main/AndroidManifest.xml
<activity
  android:name=".MainActivity"
  // ...
  >
  // ...
  <!-- App Link: the primary return path. -->
  <intent-filter android:autoVerify="true">
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />
    <data
      android:scheme="https"
      android:host="your-app.example.com"
      android:pathPrefix="/paypal" />
  </intent-filter>
  <!-- Deep link: the fallback return path. -->
  <intent-filter>
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />
    <data android:scheme="${applicationId}.braintree" />
  </intent-filter>
</activity>

博览

以您通过的相同 URL 添加配置插件 appLinkReturnUrl数字 :

// app.json
{
  "expo": {
    "plugins": [
      [
        "@bounceapp/react-native-paypal",
        { "appLinkReturnUrl": "https://your-app.example.com/paypal" }
      ]
    ]
  }
}

在预建时,它将两个意图过滤器添加到你的主要活动: App Link, 以一个 pathPrefix,则 .braintree 倒计时 计划,来源于 android.package 恰好是图书馆在 运行时间。 如果你宣称自己过滤到下面 expo.android.intentFilters,删除它.

用法实例

// App.tsx
import { useState } from "react"
import { Button } from "react-native"
import { requestBillingAgreement } from "@bounceapp/react-native-paypal"

export default function App() {
  const [loading, setLoading] = useState(false)

  const onPress = async () => {
    setLoading(true)
    const res = await requestBillingAgreement({
      clientToken: "CLIENT_TOKEN",
      // Android only: your verified App Link. Ignored on iOS.
      appLinkReturnUrl: "https://your-app.example.com/paypal",
    })

    setLoading(false)

    if (res.error) {
      console.error(res.error)
      return
    }
  }

  return <Button title="Pay with PayPal" onPress={onPress} disabled={loading} />
}

每个预期成果都决定: payload,或一个 error 谁 code 实值 Canceled 或者说 Failed。承诺只拒绝编程 错误, 如错误类型的选项, 因此不需要 try编号 :catch 绕着呼叫正常使用.

捐款

见 贡献指南 学习如何为储存库和发展工作流程作出贡献.

许可证

源代码载于 麻省理工学院许可证。一些依赖性可以使用不同的许可证,例如BSD许可证.

版本与发布记录

@bounceapp/react-native-paypal 共发布 15 个版本,首次发布于 2022/08/02;过去 12 个月发布了 1 个版本。

版本发布日期距今
1.0.0latest2026/10/0930 天前
0.8.02025/10/131.1 年前
0.7.12025/07/031.3 年前
0.7.02025/07/011.4 年前
0.6.02024/12/171.9 年前
0.5.22024/06/052 年前

关于 @bounceapp/react-native-paypal 的常见问题

@bounceapp/react-native-paypal 是什么?

反应原生包装以桥接 PayPal iOS 和 Android SDK

如何安装 @bounceapp/react-native-paypal?

在项目目录运行 npm install @bounceapp/react-native-paypal,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:expo(>=56.0.0)、react(*)、react-native(>=0.85.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@bounceapp/react-native-paypal 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@bounceapp/react-native-paypal 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@bounceapp/react-native-paypal 可以商用吗?

@bounceapp/react-native-paypal 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@bounceapp/react-native-paypal 的下载量有多少?

根据 npm 官方下载统计,@bounceapp/react-native-paypal 在 2026/10/09 – 2026/11/07 这 30 天内被下载 12,364 次,日均约 412 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@bounceapp/react-native-paypal 还在维护吗?

最新版本 1.0.0 发布于 2026/10/09(30 天前);至今共发布 15 个版本,其中过去 12 个月发布了 1 个;首次发布于 2022/08/02。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。