nicolasflamel / mwc-pay
MWC Pay 的 PHP SDK
Requires
- php: >=8.0.0
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 时,支付的生命周期概述包括以下步骤:
- 商家创建支付并从响应中获取支付 URL。
- 买家将 MimbleWimble 币发送到该 URL。
- 商家可以选择通过
getPaymentInfo
方法、createPayment
方法的receivedCallback
参数、createPayment
方法的confirmedCallback
参数和/或createPayment
方法的expiredCallback
参数监控支付状态。 - 支付完成回调会在支付达到所需的链上确认次数后运行。
以下代码简要展示了如何使用此 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();
?>
函数
-
MWC Pay 构造函数:
constructor(string $privateServer = "https://:9010"): MwcPay
此构造函数用于创建
MwcPay
对象,并接受以下参数string $privateServer
(可选):您的 MWC Pay 的私有服务器 URL。如果不提供,则将使用默认值https://:9010
。
此方法返回以下值
MwcPay
:一个MwcPay
对象。
-
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_id
、string url
和string recipient_payment_proof_address
。FALSE
:私有服务器上发生错误,并且/或与私有服务器通信失败。NULL
:参数无效。
-
MWC Pay获取付款信息方法:
getPaymentInfo(string $paymentId): array | FALSE | NULL
此方法用于获取付款的状态,并接受以下参数
string $paymentId
:付款的ID。
此方法返回以下值
array
:此数组包含付款的string url
、?string price
、int required_confirmations
、bool received
、int confirmations
、?int time_remaining
、string status
和string recipient_payment_proof_address
。状态string status
可以是以下值之一:Expired
、Not received
、Received
、Confirmed
或Completed
。FALSE
:私有服务器上发生错误,并且/或与私有服务器通信失败。NULL
:参数无效和/或付款不存在。
-
MWC Pay获取价格方法:
getPrice(): string | FALSE | NULL
此方法用于获取MimbleWimble币的价格,并返回以下值
string
:MimbleWimble Coin在USDT中的价格。FALSE
:私有服务器上发生错误,并且/或与私有服务器通信失败。NULL
:参数无效和/或私有服务器上禁用了价格API。
-
MWC Pay获取公共服务器信息方法:
getPublicServerInfo(): array | FALSE | NULL
此方法用于获取MWC Pay公共服务器的信息,并返回以下值
数组
:此数组包含公共服务器的字符串 url
和?字符串 onion_service_address
。FALSE
:私有服务器上发生错误,并且/或与私有服务器通信失败。NULL
:参数无效。