付款

支付是区块链交易的封装,它使你的应用程序、Pi 区块链和 Pi 服务器能够在用户提交区块链交易以在你的应用程序中支付某些东西时保持同步。

它们使应用程序的开发者能够完全确信用户确实进行了交易,同时不必担心与 Pi 区块链交互时涉及的技术细节。

支付流程

支付创建完成后,会经历 3 个主要阶段:

  1. 支付创建和服务器端审批

  2. 用户交互和区块链交易

  3. 服务器端完成

支付流程

第一阶段 - 付款创建和服务器端审批

1.createPayment您的应用前端会创建支付请求。支付流程界面会打开,但在服务器批准支付请求之前,您无法与之交互。

2.onReadyForServerApprovalJS SDK 已获取支付标识符 (PaymentID),并将其传递给您的应用程序以进行服务器端批准。

3.您的应用前端会将支付ID发送到您的应用服务器。这部分实现由您负责。

4.服务器端审批:您的应用服务器通过 API 调用向 Pi Servers 审批付款/approve。这使得用户能够提交区块链交易。

第二阶段 - 用户交互和区块链交易

在此阶段,支付对话框变为交互式,用户可以确认交易、签名并将其提交到 Pi 区块链。

现阶段您无需做任何事情,一切都由 Pi Apps 平台和 Pi 钱包处理。

区块链交易提交后,支付流程不会关闭。您需要通过服务器端完成确认付款,您的应用才能再次显示。

第三阶段 - 服务器端完成

5.onReadyForServerCompletionJS SDK 会将区块链交易标识符 (TxID) 传递给您的应用程序前端。您需要此值来进行服务器端完成流程。

6.您的应用前端会将 TxID 发送到您的应用服务器。这部分实现由您负责。

7.服务器端完成:您的应用程序服务器通过 API 调用向 Pi 服务器确认付款/complete。这使您能够检查区块链交易是否实际发生,并告知 Pi 您已获知该交易。

8.支付流程已完成。您的应用现在对用户可见。您的应用服务器和前端可以交换数据,并更新应用界面,向用户显示确认页面。此实现由您负责。

用户可能对你的应用撒谎!

用户可能正在运行破解版的 SDK,伪装成已完成付款。如果服务器端完成的 API 调用返回非 200 错误代码,请勿将付款标记为已完成,也不要交付用户试图购买的任何商品。

简化流程

此图以简化的方式从您的应用程序的角度展示了相同的支付流程。

支付流程

  1. 使用 Pi SDK 函数发起支付

  2. 由 Pi SDK 自动调用的回调函数(通知您的应用服务器需要发出批准 API 请求)

  3. 从您的应用服务器向 Pi 服务器发出 API 请求以批准付款(让 Pi 服务器知道您已了解此笔付款)。

  4. Pi浏览器会向用户显示支付详情页面,我们正在等待用户签署交易。

  5. 由 Pi SDK 自动调用的回调函数(通知您的应用服务器需要发出完整的 API 请求)

  6. 从您的应用服务器向 Pi 服务器发出 API 请求以完成付款(告知 Pi 服务器您已完成此付款)。

打赏 Pi 打赏 微信打赏