nicolasflamel/mwc-pay

v0.3.2 2024-03-07 22:06 UTC

This package is not auto-updated.

Last update: 2024-09-20 00:57:35 UTC


README

描述

PHP SDK for MWC Pay.

安装

从您项目的根目录运行以下命令以安装此库并配置项目使用它。

composer require nicolasflamel/mwc-pay

用法

创建 MwcPay 对象后,可以使用它创建支付、查询支付状态、获取 MimbleWimble 币的当前价格以及获取 MWC Pay 的公共服务器信息。

使用此 SDK 时,支付的生命周期概述包括以下步骤:

  1. 商家创建支付并从响应中获取支付 URL。
  2. 买家将 MimbleWimble 币发送到该 URL。
  3. 商家可以选择通过 getPaymentInfo 方法、createPayment 方法的 receivedCallback 参数、createPayment 方法的 confirmedCallback 参数和/或 createPayment 方法的 expiredCallback 参数监控支付状态。
  4. 支付完成回调会在支付达到所需的链上确认次数后运行。

以下代码简要展示了如何使用此 SDK。一个更完整的示例(包含错误检查)可在此处找到。

<?php

// Require dependencies
require_once __DIR__ . "/vendor/autoload.php";

// Use MWC Pay
use Nicolasflamel\MwcPay\MwcPay;

// Initialize MWC Pay
$mwcPay = new MwcPay("https://:9010");

// Create payment
$payment = $mwcPay->createPayment("123.456", 5, 600, "http://example.com/completed", "http://example.com/received", "http://example.com/confirmed", "http://example.com/expired");

// Get payment info
$paymentInfo = $mwcPay->getPaymentInfo($payment["payment_id"]);

// Get price
$price = $mwcPay->getPrice();

// Get public server info
$publicServerInfo = $mwcPay->getPublicServerInfo();

?>

函数

  1. MWC Pay 构造函数:constructor(string $privateServer = "https://:9010"): MwcPay

    此构造函数用于创建 MwcPay 对象,并接受以下参数

    • string $privateServer (可选):您的 MWC Pay 的私有服务器 URL。如果不提供,则将使用默认值 https://:9010

    此方法返回以下值

    • MwcPay:一个 MwcPay 对象。
  2. MWC Pay 创建支付方法:createPayment(?string $price, ?int $requiredConfirmations, ?int $timeout, string $completedCallback, ?string $receivedCallback = NULL, ?string $confirmedCallback = NULL, ?string $expiredCallback = NULL): array | FALSE | NULL

    此方法用于创建支付,并接受以下参数

    • ?string $price:支付的预期金额。如果为 NULL,则任何金额都将满足支付。
    • ?int $requiredConfirmations:支付必须具有的链上确认次数,在被视为完成之前。如果为 NULL,则使用一个必需的确认次数。
    • ?int $timeout:支付可以被接收的持续时间(秒)。如果为 NULL,则支付永远不会过期。
    • string $completedCallback:当支付完成时将执行的 HTTP GET 请求。如果此请求的响应状态码不是 HTTP 200 OK,则将在稍后时间再次执行相同的请求。此请求不能跟随重定向。即使之前的尝试已经收到 HTTP 200 OK 响应状态码,此请求也可能发生多次,因此请确保为此做好准备,并且如果请求已经发生,则所有请求都应以 HTTP 200 OK 响应状态码响应。所有 __id____completed____received__ 实例都将分别替换为支付 ID、完成时间戳和接收时间戳。
    • ?string $receivedCallback(可选):当收到付款时将执行的HTTP GET请求。如果对该请求的响应状态码不是HTTP 200 OK,则当付款发送方发送付款时,将向其发送一个HTTP 500 内部错误响应。此请求不能跟随重定向。尽管之前尝试已经收到HTTP 200 OK响应状态码,但此请求可能会多次发生,因此请确保为此做好准备,并在请求已经发生时对所有请求以HTTP 200 OK响应状态码进行响应。所有__id____price____sender_payment_proof_address____kernel_commitment____recipient_payment_proof_signature__的实例分别替换为付款的ID、价格、发送方付款证明地址、内核承诺和接收方付款证明签名。如果没有提供或为NULL,则在收到付款时不会执行任何请求。
    • ?string $confirmedCallback(可选):当付款的链上确认次数发生变化且付款未完成时将执行的HTTP GET请求。对此请求的响应状态码无关紧要。此请求不能跟随重定向。所有__id____confirmations__的实例分别替换为付款的ID和链上确认次数。如果没有提供或为NULL,则在付款的链上确认次数发生变化时不会执行任何请求。
    • ?string $expiredCallback(可选):当付款过期时将执行的HTTP GET请求。如果对此请求的响应状态码不是HTTP 200 OK,则稍后将在较晚的时间再次进行相同的请求。此请求不能跟随重定向。尽管之前尝试已经收到HTTP 200 OK响应状态码,但此请求可能会多次发生,因此请确保为此做好准备,并在请求已经发生时对所有请求以HTTP 200 OK响应状态码进行响应。所有__id__的实例替换为付款的ID。如果没有提供或为NULL,则在付款过期时不会执行任何请求。

    此方法返回以下值

    • array:付款已成功创建。此数组包含创建付款的string payment_idstring urlstring recipient_payment_proof_address
    • FALSE:私有服务器上发生错误,并且/或与私有服务器通信失败。
    • NULL:参数无效。
  3. MWC Pay获取付款信息方法:getPaymentInfo(string $paymentId): array | FALSE | NULL

    此方法用于获取付款的状态,并接受以下参数

    • string $paymentId:付款的ID。

    此方法返回以下值

    • array:此数组包含付款的string url?string priceint required_confirmationsbool receivedint confirmations?int time_remainingstring statusstring recipient_payment_proof_address。状态string status可以是以下值之一:ExpiredNot receivedReceivedConfirmedCompleted
    • FALSE:私有服务器上发生错误,并且/或与私有服务器通信失败。
    • NULL:参数无效和/或付款不存在。
  4. MWC Pay获取价格方法:getPrice(): string | FALSE | NULL

    此方法用于获取MimbleWimble币的价格,并返回以下值

    • string:MimbleWimble Coin在USDT中的价格。
    • FALSE:私有服务器上发生错误,并且/或与私有服务器通信失败。
    • NULL:参数无效和/或私有服务器上禁用了价格API。
  5. MWC Pay获取公共服务器信息方法:getPublicServerInfo(): array | FALSE | NULL

    此方法用于获取MWC Pay公共服务器的信息,并返回以下值

    • 数组:此数组包含公共服务器的 字符串 url?字符串 onion_service_address
    • FALSE:私有服务器上发生错误,并且/或与私有服务器通信失败。
    • NULL:参数无效。