@blocklet/payment-react
Version:
Reusable react components for payment kit v2
84 lines (59 loc) • 3.39 kB
Markdown
# 入門指南
本指南將引導您完成安裝 `@blocklet/payment-react` 並將一個基本的、功能齊全的支付表單整合到您的應用程式中的必要步驟。只需幾分鐘,您就能擁有一個可運作的結帳體驗。
## 步驟 1:安裝
首先,使用 npm 或您偏好的套件管理器將該函式庫新增至您的專案中。
```bash Installation Command icon=lucide:terminal
npm install @blocklet/payment-react
```
## 步驟 2:設定 PaymentProvider
此函式庫中的大多數元件都需要存取共用的支付上下文。`PaymentProvider` 元件提供了這個上下文,並且必須放置在您的應用程式或將處理支付的元件樹的根部。
它需要來自您應用程式身份驗證上下文的 `session` 物件和 `connect` API 函式才能正常運作。
```tsx App.tsx icon=logos:react
import { PaymentProvider } from '@blocklet/payment-react';
// 這是您應用程式身份驗證上下文掛鉤的佔位符。
// 它應返回當前使用者會話和一個 API 連接器。
import { useSessionContext } from './contexts/session';
function App({ children }) {
const { session, connectApi } = useSessionContext();
return (
<PaymentProvider session={session} connect={connectApi}>
{/* 您的支付元件將會放在這裡 */}
{children}
</PaymentProvider>
);
}
```
> 有關設定您的會話上下文和進階 `PaymentProvider` 配置的詳細資訊,請參閱 [PaymentProvider 文件](./providers-payment-provider.md)。
## 步驟 3:新增 CheckoutForm
`CheckoutForm` 是呈現支付流程的主要元件。它可以處理從支付連結發起的單次支付和訂閱。
要使用它,只需將其放置在 `PaymentProvider` 內部,並傳入支付連結(`plink_...`)或結帳會話(`cs_...`)所需的 `id`。
## 完整範例
這是一個結合了上述步驟的完整、最小化的範例。您可以使用此程式碼作為整合的起點。
```tsx PaymentPage.tsx icon=logos:react
import { PaymentProvider, CheckoutForm } from '@blocklet/payment-react';
// 這是您應用程式身份驗證上下文掛鉤的佔位符。
import { useSessionContext } from './contexts/session';
function PaymentPage() {
const { session, connectApi } = useSessionContext();
// 支付連結 ID 是從您的 Payment Kit 儀表板生成的。
const paymentLinkId = 'plink_xxx';
return (
<PaymentProvider session={session} connect={connectApi}>
<CheckoutForm
id={paymentLinkId}
mode="inline" // 將表單直接嵌入到您的頁面中
showCheckoutSummary={true}
onChange={(state) => console.log('Checkout State Changed:', state)}
onPaid={(result) => console.log('Payment Successful:', result)}
/>
</PaymentProvider>
);
}
export default PaymentPage;
```
透過此設定,`CheckoutForm` 將呈現一個完整的支付使用者介面,處理使用者輸入,並無縫地處理交易。
## 後續步驟
恭喜!您已成功整合您的第一個支付表單。現在您可以開始探索更多進階功能和元件。
- **[CheckoutForm](./components-checkout-checkout-form.md)**:深入了解 `CheckoutForm` 的屬性和自訂選項。
- **[Providers](./providers.md)**:了解更多關於支援此函式庫的上下文提供者。
- **[Components](./components.md)**:探索所有可用的 UI 和業務邏輯元件。