Перейти к основному содержимому

Документация по хукам

В этом документе представлен подробный обзор хуков, доступных в клиентском SDK Mileston Payment. Примечание: Все хуки требуют, чтобы MilestonPaymentProvider предоставлял через контекст apikey (checkout api key) и businessid.


Пример: Использование провайдера с хуками

Чтобы использовать любые хуки из этого SDK, оберните приложение или дерево компонентов в MilestonPaymentProvider. Пример:

import React from "react";
import {
MilestonPaymentProvider,
useFetchPayment,
} from "mileston-payment-client";

function PaymentDetails() {
const { data, error, isLoading } = useFetchPayment({
paymentId: "12345",
paymentType: "invoice",
});

if (isLoading) return <p>Загрузка данных платежа...</p>;
if (error) return <p>Ошибка: {error.message}</p>;

return (
<div>
<h2>Детали платежа</h2>
<pre>{JSON.stringify(data, null, 2)}</pre>
</div>
);
}

export default function App() {
return (
<MilestonPaymentProvider apikey="ваш-api-ключ" businessid="ваш-business-id">
<PaymentDetails />
</MilestonPaymentProvider>
);
}

useFetchPayment

Получает детали платежа с помощью React-хука. Идеально подходит для получения информации о платеже в реальном времени.

Использование

import { useFetchPayment } from "mileston-payment-client";

const { data, error, isLoading } = useFetchPayment({
paymentId: "payment-id",
paymentType: "invoice", // или "payment-link", "recurring"
});

Параметры

Имя параметраТипОписание
paymentIdstringИдентификатор платежа для получения.
paymentTypestringТип платежа (например, "invoice", "payment-link", "recurring").

Возвращает

ИмяТипОписание
dataobjectПолученные детали платежа.
errorobjectОшибка, возникшая при получении данных.
isLoadingbooleanФлаг загрузки данных.

Примечания

  • Убедитесь, что MilestonPaymentProvider оборачивает дерево компонентов для предоставления контекста.
  • Обрабатывайте ошибки для улучшения пользовательского опыта.

useGetOnRampData

Получает данные о прямом подключении для платежей. Этот хук полезен для интеграции услуг прямого подключения в ваше приложение.

Использование

import { useGetOnRampData } from "mileston-payment-client";

const { fetchOnRampData, data, error, loading } = useGetOnRampData();

await fetchOnRampData({
amount: "100",
recipientWalletAddress: "0xRecipientAddress",
chain: "eth", // или "avax", "base", "pol", "arb"
});

Параметры

Имя параметраТипОписание
amountstringСумма для прямого подключения.
recipientWalletAddressstringАдрес кошелька получателя.
chainstringБлокчейн-сеть (например, "eth").

Возвращает

ИмяТипОписание
fetchOnRampDatafunctionФункция для получения данных о прямом подключении.
dataOnRampLinkResponse | nullПолученные данные о прямом подключении.
errorstring | nullОшибка, возникшая при получении данных.
loadingbooleanФлаг загрузки данных.

Примечания

  • Этот хук зависит от MilestonPaymentProvider для контекста, который предоставляет apikey и businessid.
  • Проверьте объект params, чтобы убедиться, что все обязательные поля предоставлены.
  • Обрабатывайте ошибки для улучшения пользовательского опыта.

useGetOnRampPaymentStatus

Получает статус платежа по прямому подключению. Этот хук необходим для отслеживания хода платежа.

Использование

import { useGetOnRampPaymentStatus } from "mileston-payment-client";

const { fetchOnRampPaymentStatus, data, error, loading } =
useGetOnRampPaymentStatus();

await fetchOnRampPaymentStatus({
id: "payment-id",
amount: "100",
chain: "eth", // или "avax", "base", "pol", "arb"
recipientWalletAddress: "0xRecipientAddress",
});

Параметры

Имя параметраТипОписание
idstringИдентификатор платежа.
amountstringСумма платежа.
chainstringБлокчейн-сеть (например, "eth").
recipientWalletAddressstringАдрес кошелька получателя.

Возвращает

ИмяТипОписание
fetchOnRampPaymentStatusfunctionФункция для получения статуса платежа по прямому подключению.
dataOnRampPaymentStatusResponse | nullПолученные данные о статусе платежа.
errorstring | nullОшибка, возникшая при получении данных.
loadingbooleanФлаг загрузки данных.

Примечания

  • Этот хук зависит от MilestonPaymentProvider для контекста, который предоставляет apikey и businessid.
  • Используйте этот хук, чтобы предоставлять пользователям обновления в реальном времени.
  • Обрабатывайте ошибки для улучшения пользовательского опыта.

useUserDetails

Получает детали пользователя с помощью React-хука. Этот хук полезен для получения информации, специфичной для пользователя.

Использование

import { useUserDetails } from "mileston-payment-client";

const { data, loading, error } = useUserDetails("business-id");

Параметры

Имя параметраТипОписание
pathBusinessIdstringИдентификатор бизнеса для включения в URL (необязательно).

Возвращает

ИмяТипОписание
dataIGetUser | nullПолученные детали пользователя.
loadingbooleanФлаг загрузки данных.
errorError | nullОшибка, возникшая при получении данных.

Примечания

  • Этот хук зависит от MilestonPaymentProvider для контекста, который предоставляет apikey и businessid.
  • Используйте этот хук, чтобы проверять информацию о пользователе перед выполнением чувствительных операций.
  • Обрабатывайте ошибки для улучшения пользовательского опыта.

usePayment

Обрабатывает операции платежа с помощью React-хука. Этот хук упрощает процесс инициализации платежей.

Использование

import { usePayment } from "mileston-payment-client";

const { initiatePayment, error, isProcessing } = usePayment();

await initiatePayment({
type: "invoice", // или "payment-link", "recurring"
body: {
/* детали платежа */
},
nativeTokens: "опциональные-родные-токены",
});

Параметры

Имя параметраТипОписание
typestringТип платежа (например, "invoice", "payment-link", "recurring").
bodyobjectДетали платежа.
nativeTokensstringРодные токены для платежа (например, AVAX, POL, ETH). (необязательно).

Возвращает

ИмяТипОписание
initiatePaymentfunctionФункция для запуска процесса платежа.
errorobjectОшибка, возникшая во время процесса платежа.
isProcessingbooleanФлаг, указывающий, находится ли платеж в процессе обработки.

Примечания

  • Убедитесь, что MilestonPaymentProvider оборачивает ваше дерево компонентов.
  • Обрабатывайте ошибки для улучшения пользовательского опыта.

useSavePayment

Сохраняет детали платежа с помощью React-хука. Этот хук полезен для безопасного хранения информации о платеже.

Использование

import { useSavePayment } from "mileston-payment-client";

const { triggerSavePayment, data, error, loading } = useSavePayment();

await triggerSavePayment(
"invoice", // или "payment-link", "recurring"
{
/* детали платежа */
},
"опциональные-родные-токены"
);

Параметры

Имя параметраТипОписание
typestringТип платежа (например, "invoice", "payment-link", "recurring").
bodyobjectДетали платежа.
nativeTokensstringРодные токены для платежа (например, AVAX, POL, ETH). (необязательно).

Возвращает

ИмяТипОписание
triggerSavePaymentfunctionФункция для сохранения данных о платеже.
dataSavePaymentResponse | nullОтвет от операции сохранения.
errorstring | nullОшибка, возникшая во время процесса сохранения.
loadingbooleanФлаг загрузки данных.

Примечания

  • Этот хук зависит от MilestonPaymentProvider для контекста, который предоставляет apikey и businessid.
  • Используйте этот хук для безопасного хранения данных о платеже.
  • Обрабатывайте ошибки для улучшения пользовательского опыта.

useSuiPayment

React-хук для обработки платежей в блокчейне Sui.

Использование

import { useSuiPayment } from "mileston-payment-client";

const { handleSuiPayment } = useSuiPayment("test");

handleSuiPayment({
amount: "100",
recipientWalletAddress: "0xRecipientAddress",
});

Параметры

Имя параметраТипОписание
envstringСреда выполнения (например, "test", "prod").
amountstringСумма для платежа.
recipientWalletAddressstringАдрес кошелька получателя.

Возвращает

ИмяТипОписание
handleSuiPaymentfunctionФункция для инициализации платежей в Sui.

useGetPaymentWallet

Получает детали кошелька для определенного типа кошелька с помощью React-хука. Этот хук полезен для получения информации о кошельке, такой как баланс и история транзакций.

Использование

import { useGetPaymentWallet } from "mileston-payment-client";

const { fetchWallet, wallet, error, loading } = useGetPaymentWallet();

await fetchWallet("sui"); // или "evm"

Параметры

Имя параметраТипОписание
walletTypeWalletTypeТип кошелька (например, "sui", "evm").

Возвращает

ИмяТипОписание
fetchWalletfunctionФункция для получения деталей кошелька.
walletGetPaymentWallet | nullПолученные детали кошелька.
errorstring | nullОшибка, возникшая при получении данных.
loadingbooleanФлаг загрузки данных.

Примечания

  • Этот хук зависит от MilestonPaymentProvider для контекста, который предоставляет apikey и businessid.
  • Используйте этот хук, чтобы получить информацию о кошельке перед выполнением транзакций, связанных с кошельком.
  • Обрабатывайте ошибки для улучшения пользовательского опыта.

useVerifyPaymentWithWallet

Подтверждает платеж с помощью кошелька. Этот хук полезен для подтверждения платежей, выполненных через кошельки.

Использование

import { useVerifyPaymentWithWallet } from "mileston-payment-client";

const { verify, data, error, loading } = useVerifyPaymentWithWallet();

await verify(
"invoice", // или "payment-link", "recurring"
{
/* детали платежа */
},
"опциональные-родные-токены"
);

Параметры

Имя параметраТипОписание
typestringТип платежа (например, "invoice", "payment-link", "recurring").
bodyobjectДетали платежа.
nativeTokensstringРодные токены для платежа (необязательно).

Возвращает

ИмяТипОписание
verifyfunctionФункция для подтверждения платежа.
dataVerifyPaymentWithWallet | nullОтвет от процесса подтверждения.
errorstring | nullОшибка, возникшая во время процесса подтверждения.
loadingbooleanФлаг, указывающий, находится ли процесс подтверждения в процессе.

Примечания

  • Этот хук зависит от MilestonPaymentProvider для контекста, который предоставляет apikey и businessid.
  • Используйте этот хук для безопасного подтверждения платежей.
  • Обрабатывайте ошибки для улучшения пользовательского опыта.

usePaymentContext

Предоставляет доступ к PaymentContext, который содержит apikey и businessid, переданные в MilestonPaymentProvider. Этот хук необходим для доступа к этим значениям в компонентах или других хуках.

Использование

import { usePaymentContext } from "mileston-payment-client";

function MyComponent() {
const { apikey, businessid } = usePaymentContext();

return (
<div>
<p>API Key: {apikey}</p>
<p>Business ID: {businessid}</p>
</div>
);
}

Возвращает

ИмяТипОписание
apikeystringAPI-ключ, предоставленный MilestonPaymentProvider.
businessidstringИдентификатор бизнеса, предоставленный MilestonPaymentProvider.

Примечания

  • Этот хук должен использоваться внутри компонента, обернутого в MilestonPaymentProvider.
  • Если использовать вне провайдера, он вызовет ошибку.

useSolanaPayment

React-хук для обработки платежей в блокчейне Solana.

Использование

import { useSolanaPayment } from "mileston-payment-client";

const { handleSolanaPayment } = useSolanaPayment("test");

handleSolanaPayment({
amount: "100",
recipientWalletAddress: "RecipientAddress",
token: "SOL", // или "USDC", "USDT"
});

Параметры

Имя параметраТипОписание
envstringСреда выполнения (например, "test", "prod").
amountstringСумма для платежа.
recipientWalletAddressstringАдрес кошелька получателя.
tokenstringТип токена (например, "SOL", "USDC").

Возвращает

ИмяТипОписание
handleSolanaPaymentfunctionФункция для инициализации платежей в Solana.

Примечания

  • Параметр env определяет, работает ли хук в тестовой или производственной среде.
  • Убедитесь, что адрес кошелька получателя действителен, чтобы избежать ошибок платежа.
  • Используйте параметр token, чтобы указать тип токена для платежа.