自述文件

前端 JavaScript SDK

JS SDK 是前端 SDK,旨在用于您的 HTML 页面或单页应用程序,并在 Pi 浏览器中运行。

为了使 SDK 能够正常运行,您需要在开发者门户上声明您的应用程序(在 Pi 浏览器中打开 develop.pi 以访问开发者门户)。

此 SDK不适用于服务器端 NodeJS 应用程序。

安装

script在所有需要调用 Pi Apps SDK 的页面中添加以下标签:

<script src="https://sdk.minepi.com/pi-sdk.js"></script>
<script>Pi.init({ version: "2.0" })</script>

这将把 Pi Network JS SDK 作为全局window.Pi对象加载。

用法

对用户进行身份验证

在成功验证用户身份之前,您无法执行任何与用户相关的操作(例如读取用户信息、向用户请求付款)。首次访问时,系统会弹出对话框,询问用户是否同意与您的应用共享其数据。

// Authenticate the user, and get permission to request payments from them:
const scopes = ['payments'];
// Read more about this callback in the SDK reference:
function onIncompletePaymentFound(payment) { /* ... */ };
Pi.authenticate(scopes, onIncompletePaymentFound).then(function(auth) {
  console.log(`Hi there! You're ready to make payments!`);
}).catch(function(error) {
  console.error(error);
});

请求付款(用户到应用)

该createPayment方法允许您请求当前用户向您的应用帐户付款。

Pi 钱包会弹出一个模态框,用户可以通过该模态框签署交易并将其提交到 Pi 区块链。

Pi.createPayment({
  // Amount of π to be paid:
  amount: 3.14,
  // An explanation of the payment - will be shown to the user:
  memo: "...", // e.g: "Digital kitten #1234",
  // An arbitrary developer-provided metadata object - for your own usage:
  metadata: { /* ... */ }, // e.g: { kittenId: 1234 }
}, {
  // Callbacks you need to implement - read more about those in the detailed docs linked below:
  onReadyForServerApproval: function(paymentId) { /* ... */ },
  onReadyForServerCompletion: function(paymentId, txid) { /* ... */ },
  onCancel: function(paymentId) { /* ... */ },
  onError: function(error, payment) { /* ... */ },
});

请求付款(应用对用户)

如果您想通过应用向用户发送 Pi,则需要使用 Pi Network 的后端 SDK,具体取决于您的后端代码所使用的编程语言。 更多信息,请参阅高级支付指南。

为了确保所有相关方(您的应用程序、您的服务器、Pi 服务器和 Pi 区块链)保持同步,付款需要经过服务器端批准流程(对于用户到应用程序的付款)和/或服务器端完成 流程(对于所有类型的付款)。

请参阅:

请参阅完整的付款文档,了解完整的付款流程。

请参阅高级支付文档,了解应用到用户的支付流程。

请查阅平台 API 文档,了解如何确认付款并从您的服务器进行确认。

客户端 SDK 文档详细介绍了 Pi Apps SDK 及其提供的方法。

运行演示应用程序,查看如何在应用程序代码中实现各种必需流程的示例。

打赏 Pi 打赏 微信打赏