@blocklet/payment-react 1.20.16 → 1.20.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.aigne/doc-smith/config.yaml +7 -1
- package/.aigne/doc-smith/upload-cache.yaml +441 -0
- package/docs/components-business-auto-topup.ja.md +187 -0
- package/docs/components-business-auto-topup.zh-TW.md +187 -0
- package/docs/components-business-auto-topup.zh.md +187 -0
- package/docs/components-business-overdue-invoice-payment.ja.md +196 -0
- package/docs/components-business-overdue-invoice-payment.zh-TW.md +197 -0
- package/docs/components-business-overdue-invoice-payment.zh.md +197 -0
- package/docs/components-business-resume-subscription.ja.md +190 -0
- package/docs/components-business-resume-subscription.zh-TW.md +190 -0
- package/docs/components-business-resume-subscription.zh.md +190 -0
- package/docs/components-business.ja.md +21 -0
- package/docs/components-business.zh-TW.md +21 -0
- package/docs/components-business.zh.md +21 -0
- package/docs/components-checkout-checkout-donate.ja.md +259 -0
- package/docs/components-checkout-checkout-donate.zh-TW.md +259 -0
- package/docs/components-checkout-checkout-donate.zh.md +259 -0
- package/docs/components-checkout-checkout-form.ja.md +163 -0
- package/docs/components-checkout-checkout-form.zh-TW.md +163 -0
- package/docs/components-checkout-checkout-form.zh.md +163 -0
- package/docs/components-checkout-checkout-table.ja.md +148 -0
- package/docs/components-checkout-checkout-table.zh-TW.md +148 -0
- package/docs/components-checkout-checkout-table.zh.md +149 -0
- package/docs/components-checkout.ja.md +65 -0
- package/docs/components-checkout.zh-TW.md +65 -0
- package/docs/components-checkout.zh.md +65 -0
- package/docs/components-history-credit-grants-list.ja.md +73 -0
- package/docs/components-history-credit-grants-list.zh-TW.md +73 -0
- package/docs/components-history-credit-grants-list.zh.md +73 -0
- package/docs/components-history-credit-transactions-list.ja.md +106 -0
- package/docs/components-history-credit-transactions-list.zh-TW.md +106 -0
- package/docs/components-history-credit-transactions-list.zh.md +106 -0
- package/docs/components-history-invoice-list.ja.md +110 -0
- package/docs/components-history-invoice-list.zh-TW.md +110 -0
- package/docs/components-history-invoice-list.zh.md +110 -0
- package/docs/components-history-payment-list.ja.md +44 -0
- package/docs/components-history-payment-list.zh-TW.md +44 -0
- package/docs/components-history-payment-list.zh.md +44 -0
- package/docs/components-history.ja.md +67 -0
- package/docs/components-history.zh-TW.md +67 -0
- package/docs/components-history.zh.md +67 -0
- package/docs/components-ui-form-elements-address-form.ja.md +121 -0
- package/docs/components-ui-form-elements-address-form.zh-TW.md +121 -0
- package/docs/components-ui-form-elements-address-form.zh.md +121 -0
- package/docs/components-ui-form-elements-country-select.ja.md +126 -0
- package/docs/components-ui-form-elements-country-select.zh-TW.md +126 -0
- package/docs/components-ui-form-elements-country-select.zh.md +126 -0
- package/docs/components-ui-form-elements-currency-selector.ja.md +108 -0
- package/docs/components-ui-form-elements-currency-selector.zh-TW.md +108 -0
- package/docs/components-ui-form-elements-currency-selector.zh.md +108 -0
- package/docs/components-ui-form-elements-phone-input.ja.md +138 -0
- package/docs/components-ui-form-elements-phone-input.zh-TW.md +138 -0
- package/docs/components-ui-form-elements-phone-input.zh.md +139 -0
- package/docs/components-ui-form-elements.ja.md +91 -0
- package/docs/components-ui-form-elements.zh-TW.md +91 -0
- package/docs/components-ui-form-elements.zh.md +91 -0
- package/docs/components-ui-payment-summary.ja.md +109 -0
- package/docs/components-ui-payment-summary.zh-TW.md +109 -0
- package/docs/components-ui-payment-summary.zh.md +109 -0
- package/docs/components-ui-pricing-table.ja.md +140 -0
- package/docs/components-ui-pricing-table.zh-TW.md +140 -0
- package/docs/components-ui-pricing-table.zh.md +140 -0
- package/docs/components-ui.ja.md +71 -0
- package/docs/components-ui.zh-TW.md +71 -0
- package/docs/components-ui.zh.md +71 -0
- package/docs/components.ja.md +122 -0
- package/docs/components.zh-TW.md +122 -0
- package/docs/components.zh.md +122 -0
- package/docs/getting-started.ja.md +84 -0
- package/docs/getting-started.zh-TW.md +84 -0
- package/docs/getting-started.zh.md +84 -0
- package/docs/guides-theming.ja.md +213 -0
- package/docs/guides-theming.zh-TW.md +213 -0
- package/docs/guides-theming.zh.md +213 -0
- package/docs/guides-utilities.ja.md +197 -0
- package/docs/guides-utilities.zh-TW.md +197 -0
- package/docs/guides-utilities.zh.md +197 -0
- package/docs/guides.ja.md +18 -0
- package/docs/guides.zh-TW.md +18 -0
- package/docs/guides.zh.md +18 -0
- package/docs/hooks-use-mobile.ja.md +84 -0
- package/docs/hooks-use-mobile.zh-TW.md +84 -0
- package/docs/hooks-use-mobile.zh.md +84 -0
- package/docs/hooks-use-subscription.ja.md +111 -0
- package/docs/hooks-use-subscription.zh-TW.md +111 -0
- package/docs/hooks-use-subscription.zh.md +110 -0
- package/docs/hooks.ja.md +14 -0
- package/docs/hooks.zh-TW.md +14 -0
- package/docs/hooks.zh.md +14 -0
- package/docs/overview.ja.md +80 -0
- package/docs/overview.zh-TW.md +80 -0
- package/docs/overview.zh.md +80 -0
- package/docs/providers-donate-provider.ja.md +153 -0
- package/docs/providers-donate-provider.zh-TW.md +153 -0
- package/docs/providers-donate-provider.zh.md +153 -0
- package/docs/providers-payment-provider.ja.md +191 -0
- package/docs/providers-payment-provider.zh-TW.md +191 -0
- package/docs/providers-payment-provider.zh.md +191 -0
- package/docs/providers.ja.md +42 -0
- package/docs/providers.zh-TW.md +42 -0
- package/docs/providers.zh.md +42 -0
- package/package.json +3 -3
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# チェックアウトコンポーネント
|
|
2
|
+
|
|
3
|
+
`@blocklet/payment-react` ライブラリは、さまざまな支払いシナリオに対応する、すぐに使える完全なエントリーポイントとして設計された、高レベルのチェックアウトコンポーネントのセットを提供します。これらのコンポーネントは、製品の選択から支払いの完了まで、ユーザーフロー全体をカプセル化しており、最小限の設定で複雑な支払い体験を統合できます。
|
|
4
|
+
|
|
5
|
+
価格表の表示、寄付の受付、または直接支払いリンクの処理が必要な場合でも、これらのコンポーネントはセッション作成、状態管理、UIレンダリングの基盤となるロジックを処理します。
|
|
6
|
+
|
|
7
|
+
### コンポーネントフロー
|
|
8
|
+
|
|
9
|
+
一般的なフローでは、ユーザーが `CheckoutTable` や `CheckoutDonate` のようなエントリーポイントコンポーネントと対話します。これらのコンポーネントは `CheckoutSession` を作成し、最終的な支払い処理をコアの `CheckoutForm` コンポーネントに委任します。
|
|
10
|
+
|
|
11
|
+
```d2 チェックアウトコンポーネントフロー icon=mdi:transit-connection-variant
|
|
12
|
+
direction: down
|
|
13
|
+
|
|
14
|
+
User: {
|
|
15
|
+
shape: c4-person
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
Checkout-Flow: {
|
|
19
|
+
label: "チェックアウトフロー"
|
|
20
|
+
|
|
21
|
+
Entry-Points: {
|
|
22
|
+
label: "ユーザー向けコンポーネント"
|
|
23
|
+
shape: rectangle
|
|
24
|
+
|
|
25
|
+
CheckoutTable: {
|
|
26
|
+
label: "CheckoutTable"
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
CheckoutDonate: {
|
|
30
|
+
label: "CheckoutDonate"
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
Core-Processor: {
|
|
35
|
+
label: "コア決済プロセッサー"
|
|
36
|
+
shape: rectangle
|
|
37
|
+
|
|
38
|
+
CheckoutForm: {
|
|
39
|
+
label: "CheckoutForm"
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
User -> Checkout-Flow.Entry-Points.CheckoutTable: "サブスクリプションを選択"
|
|
45
|
+
User -> Checkout-Flow.Entry-Points.CheckoutDonate: "寄付を行う"
|
|
46
|
+
Checkout-Flow.Entry-Points.CheckoutTable -> Checkout-Flow.Core-Processor.CheckoutForm: "プラン選択時"
|
|
47
|
+
Checkout-Flow.Entry-Points.CheckoutDonate -> Checkout-Flow.Core-Processor.CheckoutForm: "寄付アクション時"
|
|
48
|
+
Checkout-Flow.Core-Processor.CheckoutForm -> User: "支払い結果"
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
以下のコンポーネントを調べて、アプリケーションのニーズに最適なものを見つけてください。
|
|
52
|
+
|
|
53
|
+
<x-cards data-columns="3">
|
|
54
|
+
<x-card data-title="CheckoutForm" data-icon="lucide:credit-card" data-href="/components/checkout/checkout-form">
|
|
55
|
+
支払いを処理するための基本的なコンポーネントです。`paymentLink` または `checkoutSession` ID を受け取り、完全な支払いUIをレンダリングします。
|
|
56
|
+
</x-card>
|
|
57
|
+
<x-card data-title="CheckoutTable" data-icon="lucide:table" data-href="/components/checkout/checkout-table">
|
|
58
|
+
完全な価格表を表示します。ユーザーがプランを選択すると、自動的にチェックアウトセッションを開始し、支払いフォームをレンダリングします。
|
|
59
|
+
</x-card>
|
|
60
|
+
<x-card data-title="CheckoutDonate" data-icon="lucide:heart-handshake" data-href="/components/checkout/checkout-donate">
|
|
61
|
+
寄付機能を追加するための柔軟なコンポーネントです。寄付の設定、サポーター履歴の表示、寄付の支払いフローを管理します。
|
|
62
|
+
</x-card>
|
|
63
|
+
</x-cards>
|
|
64
|
+
|
|
65
|
+
これらの各コンポーネントは、高度にカスタマイズ可能であり、アプリケーションにシームレスに統合できるように設計されています。いずれかのカードをクリックして、詳細なドキュメントと使用例をご覧ください。
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# 結帳元件
|
|
2
|
+
|
|
3
|
+
`@blocklet/payment-react` 函式庫提供了一組高階的結帳元件,旨在為各種支付場景提供完整、即用的入口點。這些元件封裝了從選擇產品到完成支付的整個使用者流程,讓您能以最少的設定整合複雜的支付體驗。
|
|
4
|
+
|
|
5
|
+
無論您需要顯示價格表、接受捐贈,還是處理直接支付連結,這些元件都能處理會話建立、狀態管理和 UI 渲染的底層邏輯。
|
|
6
|
+
|
|
7
|
+
### 元件流程
|
|
8
|
+
|
|
9
|
+
典型的流程是使用者與像 `CheckoutTable` 或 `CheckoutDonate` 這樣的入口點元件互動。這些元件接著會建立一個 `CheckoutSession`,並將最終的支付處理委託給核心的 `CheckoutForm` 元件。
|
|
10
|
+
|
|
11
|
+
```d2 Checkout Component Flow icon=mdi:transit-connection-variant
|
|
12
|
+
direction: down
|
|
13
|
+
|
|
14
|
+
User: {
|
|
15
|
+
shape: c4-person
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
Checkout-Flow: {
|
|
19
|
+
label: "結帳流程"
|
|
20
|
+
|
|
21
|
+
Entry-Points: {
|
|
22
|
+
label: "面向使用者的元件"
|
|
23
|
+
shape: rectangle
|
|
24
|
+
|
|
25
|
+
CheckoutTable: {
|
|
26
|
+
label: "CheckoutTable"
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
CheckoutDonate: {
|
|
30
|
+
label: "CheckoutDonate"
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
Core-Processor: {
|
|
35
|
+
label: "核心支付處理器"
|
|
36
|
+
shape: rectangle
|
|
37
|
+
|
|
38
|
+
CheckoutForm: {
|
|
39
|
+
label: "CheckoutForm"
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
User -> Checkout-Flow.Entry-Points.CheckoutTable: "選擇一個訂閱"
|
|
45
|
+
User -> Checkout-Flow.Entry-Points.CheckoutDonate: "進行捐贈"
|
|
46
|
+
Checkout-Flow.Entry-Points.CheckoutTable -> Checkout-Flow.Core-Processor.CheckoutForm: "選擇方案時"
|
|
47
|
+
Checkout-Flow.Entry-Points.CheckoutDonate -> Checkout-Flow.Core-Processor.CheckoutForm: "捐贈操作時"
|
|
48
|
+
Checkout-Flow.Core-Processor.CheckoutForm -> User: "支付結果"
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
探索下方的元件,找到最適合您應用程式需求的選擇。
|
|
52
|
+
|
|
53
|
+
<x-cards data-columns="3">
|
|
54
|
+
<x-card data-title="CheckoutForm" data-icon="lucide:credit-card" data-href="/components/checkout/checkout-form">
|
|
55
|
+
用於處理支付的基礎元件。它接受一個 `paymentLink` 或 `checkoutSession` ID,並渲染完整的支付 UI。
|
|
56
|
+
</x-card>
|
|
57
|
+
<x-card data-title="CheckoutTable" data-icon="lucide:table" data-href="/components/checkout/checkout-table">
|
|
58
|
+
顯示一個完整的價格表。當使用者選擇一個方案時,它會自動啟動一個結帳會話並渲染支付表單。
|
|
59
|
+
</x-card>
|
|
60
|
+
<x-card data-title="CheckoutDonate" data-icon="lucide:heart-handshake" data-href="/components/checkout/checkout-donate">
|
|
61
|
+
一個用於新增捐贈功能的彈性元件。它處理捐贈設定、顯示支持者歷史記錄,並管理捐贈支付流程。
|
|
62
|
+
</x-card>
|
|
63
|
+
</x-cards>
|
|
64
|
+
|
|
65
|
+
這些元件中的每一個都設計為高度可自訂,並且可以無縫整合到您的應用程式中。點擊任何卡片以查看其詳細文件和使用範例。
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# Checkout 组件
|
|
2
|
+
|
|
3
|
+
`@blocklet/payment-react` 库提供了一套高级 Checkout 组件,旨在为各种支付场景提供完整、即用型的入口点。这些组件封装了从选择产品到完成支付的整个用户流程,让您能够以最少的设置集成复杂的支付体验。
|
|
4
|
+
|
|
5
|
+
无论您需要显示定价表、接受捐赠,还是处理直接支付链接,这些组件都会处理会话创建、状态管理和 UI 渲染的底层逻辑。
|
|
6
|
+
|
|
7
|
+
### 组件流程
|
|
8
|
+
|
|
9
|
+
典型流程涉及用户与入口点组件(如 `CheckoutTable` 或 `CheckoutDonate`)进行交互。这些组件随后会创建一个 `CheckoutSession`,并将最终的支付处理委托给核心的 `CheckoutForm` 组件。
|
|
10
|
+
|
|
11
|
+
```d2 Checkout Component Flow icon=mdi:transit-connection-variant
|
|
12
|
+
direction: down
|
|
13
|
+
|
|
14
|
+
User: {
|
|
15
|
+
shape: c4-person
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
Checkout-Flow: {
|
|
19
|
+
label: "Checkout Flow"
|
|
20
|
+
|
|
21
|
+
Entry-Points: {
|
|
22
|
+
label: "User-Facing Components"
|
|
23
|
+
shape: rectangle
|
|
24
|
+
|
|
25
|
+
CheckoutTable: {
|
|
26
|
+
label: "CheckoutTable"
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
CheckoutDonate: {
|
|
30
|
+
label: "CheckoutDonate"
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
Core-Processor: {
|
|
35
|
+
label: "Core Payment Processor"
|
|
36
|
+
shape: rectangle
|
|
37
|
+
|
|
38
|
+
CheckoutForm: {
|
|
39
|
+
label: "CheckoutForm"
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
User -> Checkout-Flow.Entry-Points.CheckoutTable: "Selects a subscription"
|
|
45
|
+
User -> Checkout-Flow.Entry-Points.CheckoutDonate: "Makes a donation"
|
|
46
|
+
Checkout-Flow.Entry-Points.CheckoutTable -> Checkout-Flow.Core-Processor.CheckoutForm: "On plan selection"
|
|
47
|
+
Checkout-Flow.Entry-Points.CheckoutDonate -> Checkout-Flow.Core-Processor.CheckoutForm: "On donate action"
|
|
48
|
+
Checkout-Flow.Core-Processor.CheckoutForm -> User: "Payment Result"
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
浏览以下组件,找到最适合您应用程序需求的组件。
|
|
52
|
+
|
|
53
|
+
<x-cards data-columns="3">
|
|
54
|
+
<x-card data-title="CheckoutForm" data-icon="lucide:credit-card" data-href="/components/checkout/checkout-form">
|
|
55
|
+
处理支付的基础组件。它接收一个 `paymentLink` 或 `checkoutSession` ID,并渲染完整的支付 UI。
|
|
56
|
+
</x-card>
|
|
57
|
+
<x-card data-title="CheckoutTable" data-icon="lucide:table" data-href="/components/checkout/checkout-table">
|
|
58
|
+
显示一个完整的定价表。当用户选择一个方案时,它会自动启动一个结账会话并渲染支付表单。
|
|
59
|
+
</x-card>
|
|
60
|
+
<x-card data-title="CheckoutDonate" data-icon="lucide:heart-handshake" data-href="/components/checkout/checkout-donate">
|
|
61
|
+
一个用于添加捐赠功能的灵活组件。它负责处理捐赠设置、显示支持者历史记录以及管理捐赠支付流程。
|
|
62
|
+
</x-card>
|
|
63
|
+
</x-cards>
|
|
64
|
+
|
|
65
|
+
这些组件中的每一个都设计为高度可定制,并且可以无缝集成到您的应用程序中。单击任何卡片以查看其详细文档和使用示例。
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# CreditGrantsList
|
|
2
|
+
|
|
3
|
+
`CreditGrantsList`コンポーネントは、顧客のクレジット付与を表示するページ分割されたテーブルを描画します。各付与のステータス、残高、範囲、および有効期間の明確な概要を提供します。
|
|
4
|
+
|
|
5
|
+
このコンポーネントは、ユーザーが利用可能なクレジットを追跡できる顧客向けポータルと、顧客の付与を管理するための管理者ダッシュボードの両方にとって不可欠です。必要なセッションとAPIコンテキストにアクセスするには、`PaymentProvider`内で使用する必要があります。
|
|
6
|
+
|
|
7
|
+
## Props
|
|
8
|
+
|
|
9
|
+
| Prop | Type | Description | Default |
|
|
10
|
+
| --- | --- | --- | --- |
|
|
11
|
+
| `customer_id` | `string` | オプション。顧客のID。省略した場合、セッションコンテキストから現在認証されているユーザーのDIDがデフォルトになります。 | `session.user.did` |
|
|
12
|
+
| `subscription_id` | `string` | オプション。リストをフィルタリングして、特定のサブスクリプションに関連付けられた付与のみを表示します。 | `''` |
|
|
13
|
+
| `status` | `string` | オプション。フィルタリングするステータスのカンマ区切り文字列。有効なステータスには、`granted`、`pending`、`expired`、`depleted`、および`voided`が含まれます。 | `'granted,pending,depleted,expired'` |
|
|
14
|
+
| `pageSize` | `number` | オプション。ページごとに表示するアイテムの数。 | `10` |
|
|
15
|
+
| `onTableDataChange` | `(data, prevData) => void` | オプション。テーブルデータが取得または更新されるたびに呼び出されるコールバック関数。 | `() => {}` |
|
|
16
|
+
| `mode` | `'dashboard' \| 'portal'` | オプション。行がクリックされたときのナビゲーション動作を決定します。顧客向けのビューには `'portal'` を、管理者パネルには `'dashboard'` を使用します。これにより、異なるリンクパスが生成されます。 | `'portal'` |
|
|
17
|
+
|
|
18
|
+
## 使用方法
|
|
19
|
+
|
|
20
|
+
### 基本的な使用法(ログイン中の顧客向け)
|
|
21
|
+
|
|
22
|
+
デフォルトでは、`CreditGrantsList`コンポーネントは現在認証されているユーザーのクレジット付与を取得して表示します。これは、顧客のアカウントページで最も一般的な使用例です。
|
|
23
|
+
|
|
24
|
+
```jsx 私のクレジット付与 icon=logos:react
|
|
25
|
+
import { CreditGrantsList, PaymentProvider } from '@blocklet/payment-react';
|
|
26
|
+
import { useSessionContext } from '/path/to/your/session/context'; // このインポートパスを調整してください
|
|
27
|
+
|
|
28
|
+
function MyCreditGrantsPage() {
|
|
29
|
+
const { session, connectApi } = useSessionContext();
|
|
30
|
+
|
|
31
|
+
if (!session || !connectApi) {
|
|
32
|
+
return <div>セッションを読み込み中...</div>;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
return (
|
|
36
|
+
<PaymentProvider session={session} connectApi={connectApi}>
|
|
37
|
+
<h2>私のクレジット付与</h2>
|
|
38
|
+
<CreditGrantsList />
|
|
39
|
+
</PaymentProvider>
|
|
40
|
+
);
|
|
41
|
+
}
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### 管理者またはダッシュボードでの使用
|
|
45
|
+
|
|
46
|
+
管理ダッシュボードでは、`customer_id` prop を提供することで、任意の顧客のクレジット付与を表示できます。フィルターやページサイズもカスタマイズできます。
|
|
47
|
+
|
|
48
|
+
```jsx 顧客のクレジット付与 icon=logos:react
|
|
49
|
+
import { CreditGrantsList, PaymentProvider } from '@blocklet/payment-react';
|
|
50
|
+
import { useSessionContext } from '/path/to/your/session/context'; // このインポートパスを調整してください
|
|
51
|
+
|
|
52
|
+
function CustomerDetailsPage({ customerId }) {
|
|
53
|
+
const { session, connectApi } = useSessionContext();
|
|
54
|
+
|
|
55
|
+
if (!session || !connectApi) {
|
|
56
|
+
return <div>セッションを読み込み中...</div>;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
return (
|
|
60
|
+
<PaymentProvider session={session} connectApi={connectApi}>
|
|
61
|
+
<h3>顧客の有効なクレジット付与</h3>
|
|
62
|
+
<CreditGrantsList
|
|
63
|
+
customer_id={customerId}
|
|
64
|
+
status="granted,pending"
|
|
65
|
+
pageSize={5}
|
|
66
|
+
mode="dashboard"
|
|
67
|
+
/>
|
|
68
|
+
</PaymentProvider>
|
|
69
|
+
);
|
|
70
|
+
}
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
この例では、特定の顧客に対して「granted」および「pending」の付与のみをリスト表示し、1ページあたり5項目を表示する方法を示しています。`mode="dashboard"`は、付与をクリックすると管理者専用のURLにナビゲートすることを保証します。
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# CreditGrantsList
|
|
2
|
+
|
|
3
|
+
`CreditGrantsList` 元件會渲染一個分頁表格,用來顯示客戶的信用額度授予。它清晰地概覽了每筆授予的狀態、剩餘額度、適用範圍和有效期限。
|
|
4
|
+
|
|
5
|
+
這個元件對於客戶端入口網站(使用者可在此追蹤其可用信用額度)和管理員儀表板(用於管理客戶的授予)都至關重要。它必須在 `PaymentProvider` 中使用,才能存取必要的會話和 API 上下文。
|
|
6
|
+
|
|
7
|
+
## 屬性
|
|
8
|
+
|
|
9
|
+
| 屬性 | 類型 | 說明 | 預設值 |
|
|
10
|
+
| --- | --- | --- | --- |
|
|
11
|
+
| `customer_id` | `string` | 可選。客戶的 ID。如果省略,則預設為目前已驗證使用者的 DID(來自會話上下文)。 | `session.user.did` |
|
|
12
|
+
| `subscription_id` | `string` | 可選。篩選列表,僅顯示與特定訂閱相關的授予。 | `''` |
|
|
13
|
+
| `status` | `string` | 可選。用逗號分隔的狀態字串,用於篩選。有效的狀態包括 `granted`、`pending`、`expired`、`depleted` 和 `voided`。 | `'granted,pending,depleted,expired'` |
|
|
14
|
+
| `pageSize` | `number` | 可選。每頁顯示的項目數量。 | `10` |
|
|
15
|
+
| `onTableDataChange` | `(data, prevData) => void` | 可選。一個回呼函式,每當表格資料被擷取或更新時都會被呼叫。 | `() => {}` |
|
|
16
|
+
| `mode` | `'dashboard' \| 'portal'` | 可選。決定點擊某一行時的導航行為。為客戶端視圖使用 `'portal'`,為管理員面板使用 `'dashboard'`,這會產生不同的連結路徑。 | `'portal'` |
|
|
17
|
+
|
|
18
|
+
## 使用方式
|
|
19
|
+
|
|
20
|
+
### 基本用法(適用於已登入的客戶)
|
|
21
|
+
|
|
22
|
+
預設情況下,`CreditGrantsList` 元件會擷取並顯示目前已驗證使用者的信用額度授予。這是客戶帳戶頁面最常見的使用情境。
|
|
23
|
+
|
|
24
|
+
```jsx 我的信用額度授予 icon=logos:react
|
|
25
|
+
import { CreditGrantsList, PaymentProvider } from '@blocklet/payment-react';
|
|
26
|
+
import { useSessionContext } from '/path/to/your/session/context'; // 調整此導入路徑
|
|
27
|
+
|
|
28
|
+
function MyCreditGrantsPage() {
|
|
29
|
+
const { session, connectApi } = useSessionContext();
|
|
30
|
+
|
|
31
|
+
if (!session || !connectApi) {
|
|
32
|
+
return <div>載入會話中...</div>;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
return (
|
|
36
|
+
<PaymentProvider session={session} connectApi={connectApi}>
|
|
37
|
+
<h2>我的信用額度授予</h2>
|
|
38
|
+
<CreditGrantsList />
|
|
39
|
+
</PaymentProvider>
|
|
40
|
+
);
|
|
41
|
+
}
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### 管理員或儀表板用法
|
|
45
|
+
|
|
46
|
+
在管理儀表板中,您可以透過提供 `customer_id` 屬性來顯示任何客戶的信用額度授予。您也可以自訂篩選器和頁面大小。
|
|
47
|
+
|
|
48
|
+
```jsx 客戶信用額度授予 icon=logos:react
|
|
49
|
+
import { CreditGrantsList, PaymentProvider } from '@blocklet/payment-react';
|
|
50
|
+
import { useSessionContext } from '/path/to/your/session/context'; // 調整此導入路徑
|
|
51
|
+
|
|
52
|
+
function CustomerDetailsPage({ customerId }) {
|
|
53
|
+
const { session, connectApi } = useSessionContext();
|
|
54
|
+
|
|
55
|
+
if (!session || !connectApi) {
|
|
56
|
+
return <div>載入會話中...</div>;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
return (
|
|
60
|
+
<PaymentProvider session={session} connectApi={connectApi}>
|
|
61
|
+
<h3>客戶的有效信用額度授予</h3>
|
|
62
|
+
<CreditGrantsList
|
|
63
|
+
customer_id={customerId}
|
|
64
|
+
status="granted,pending"
|
|
65
|
+
pageSize={5}
|
|
66
|
+
mode="dashboard"
|
|
67
|
+
/>
|
|
68
|
+
</PaymentProvider>
|
|
69
|
+
);
|
|
70
|
+
}
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
此範例展示了如何僅列出特定客戶的「granted」和「pending」授予,每頁顯示 5 個項目。`mode="dashboard"` 確保點擊某個授予後會導航至管理員專用的 URL。
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# CreditGrantsList
|
|
2
|
+
|
|
3
|
+
`CreditGrantsList` 组件渲染一个分页表格,用于显示客户的信用额度授予情况。它清晰地概述了每笔授予的状态、剩余额度、范围和有效期。
|
|
4
|
+
|
|
5
|
+
该组件对于面向客户的门户(用户可以在其中跟踪其可用信用额度)和用于管理客户授予的管理仪表板都至关重要。它必须在 `PaymentProvider` 内部使用,以访问必要的会话和 API 上下文。
|
|
6
|
+
|
|
7
|
+
## Props
|
|
8
|
+
|
|
9
|
+
| Prop | Type | Description | Default |
|
|
10
|
+
| --- | --- | --- | --- |
|
|
11
|
+
| `customer_id` | `string` | 可选。客户的 ID。如果省略,则默认为会话上下文中当前已认证用户的 DID。 | `session.user.did` |
|
|
12
|
+
| `subscription_id` | `string` | 可选。筛选列表,仅显示与特定订阅关联的授予。 | `''` |
|
|
13
|
+
| `status` | `string` | 可选。一个用逗号分隔的状态字符串,用于筛选。有效状态包括 `granted`、`pending`、`expired`、`depleted` 和 `voided`。 | `'granted,pending,depleted,expired'` |
|
|
14
|
+
| `pageSize` | `number` | 可选。每页显示的项目数。 | `10` |
|
|
15
|
+
| `onTableDataChange` | `(data, prevData) => void` | 可选。每当获取或更新表格数据时调用的回调函数。 | `() => {}` |
|
|
16
|
+
| `mode` | `'dashboard' \| 'portal'` | 可选。决定点击行时的导航行为。对面向客户的视图使用 `'portal'`,对管理面板使用 `'dashboard'`,这将生成不同的链接路径。 | `'portal'` |
|
|
17
|
+
|
|
18
|
+
## 用法
|
|
19
|
+
|
|
20
|
+
### 基本用法(针对已登录客户)
|
|
21
|
+
|
|
22
|
+
默认情况下,`CreditGrantsList` 组件会获取并显示当前已认证用户的信用额度授予。这是客户账户页面最常见的用例。
|
|
23
|
+
|
|
24
|
+
```jsx 我的信用额度授予 icon=logos:react
|
|
25
|
+
import { CreditGrantsList, PaymentProvider } from '@blocklet/payment-react';
|
|
26
|
+
import { useSessionContext } from '/path/to/your/session/context'; // 调整此导入路径
|
|
27
|
+
|
|
28
|
+
function MyCreditGrantsPage() {
|
|
29
|
+
const { session, connectApi } = useSessionContext();
|
|
30
|
+
|
|
31
|
+
if (!session || !connectApi) {
|
|
32
|
+
return <div>正在加载会话...</div>;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
return (
|
|
36
|
+
<PaymentProvider session={session} connectApi={connectApi}>
|
|
37
|
+
<h2>我的信用额度授予</h2>
|
|
38
|
+
<CreditGrantsList />
|
|
39
|
+
</PaymentProvider>
|
|
40
|
+
);
|
|
41
|
+
}
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### 管理员或仪表板用法
|
|
45
|
+
|
|
46
|
+
在管理仪表板中,您可以通过提供 `customer_id` 属性来显示任何客户的信用额度授予。您还可以自定义筛选条件和页面大小。
|
|
47
|
+
|
|
48
|
+
```jsx 客户的信用额度授予 icon=logos:react
|
|
49
|
+
import { CreditGrantsList, PaymentProvider } from '@blocklet/payment-react';
|
|
50
|
+
import { useSessionContext } from '/path/to/your/session/context'; // 调整此导入路径
|
|
51
|
+
|
|
52
|
+
function CustomerDetailsPage({ customerId }) {
|
|
53
|
+
const { session, connectApi } = useSessionContext();
|
|
54
|
+
|
|
55
|
+
if (!session || !connectApi) {
|
|
56
|
+
return <div>正在加载会话...</div>;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
return (
|
|
60
|
+
<PaymentProvider session={session} connectApi={connectApi}>
|
|
61
|
+
<h3>客户的有效信用额度授予</h3>
|
|
62
|
+
<CreditGrantsList
|
|
63
|
+
customer_id={customerId}
|
|
64
|
+
status="granted,pending"
|
|
65
|
+
pageSize={5}
|
|
66
|
+
mode="dashboard"
|
|
67
|
+
/>
|
|
68
|
+
</PaymentProvider>
|
|
69
|
+
);
|
|
70
|
+
}
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
此示例展示了如何仅列出特定客户的 'granted' 和 'pending' 状态的授予,每页显示 5 项。`mode="dashboard"` 确保了点击某项授予将导航至管理员专用的 URL。
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
# CreditTransactionsList
|
|
2
|
+
|
|
3
|
+
`CreditTransactionsList`コンポーネントは、すべてのクレジット取引の詳細なページ分割テーブルを描画し、クレジットの使用状況と調整の明確なログを提供します。顧客ポータルや管理ダッシュボードで、クレジットの付与と消費を追跡するのに最適です。
|
|
4
|
+
|
|
5
|
+
このコンポーネントは、データの取得、ページネーション、フォーマットを自動的に処理し、取引履歴を簡単に表示する方法を提供します。
|
|
6
|
+
|
|
7
|
+
## Props
|
|
8
|
+
|
|
9
|
+
| Prop | Type | Description | Default |
|
|
10
|
+
| --- | --- | --- | --- |
|
|
11
|
+
| `customer_id` | `string` | 取引を表示する顧客のID。指定しない場合は、`PaymentProvider`コンテキストから現在ログインしているユーザーのDIDがデフォルト値になります。 | `session.user.did` |
|
|
12
|
+
| `subscription_id` | `string` | 取引を特定のサブスクリプションに絞り込みます。 | `undefined` |
|
|
13
|
+
| `credit_grant_id` | `string` | 取引を特定のクレジット付与に絞り込みます。 | `undefined` |
|
|
14
|
+
| `pageSize` | `number` | 1ページに表示する取引の数。 | `10` |
|
|
15
|
+
| `onTableDataChange` | `(data, prevData) => void` | テーブルデータが取得または更新されたときにトリガーされるコールバック関数です。 | `() => {}` |
|
|
16
|
+
| `showAdminColumns` | `boolean` | `true`で、かつユーザーが管理者の場合、「Meter Event」などの追加列が表示されます。 | `false` |
|
|
17
|
+
| `showTimeFilter` | `boolean` | `true`の場合、日付範囲ピッカーが表示され、日付による取引の絞り込みが可能になります。 | `false` |
|
|
18
|
+
| `source` | `string` | 取引を絞り込むためのオプションのソース文字列です。 | `''` |
|
|
19
|
+
| `mode` | `'dashboard' \| 'portal'` | クレジット付与などの関連項目のリンク構造を決定します。管理者ビューには`'dashboard'`を、顧客向けビューには`'portal'`を使用します。 | `'portal'` |
|
|
20
|
+
|
|
21
|
+
## 顧客ポータルの基本使用法
|
|
22
|
+
|
|
23
|
+
この例では、現在ログインしているユーザーのクレジット取引履歴を表示する方法を示します。`customer_id`を省略すると、コンポーネントは`PaymentProvider`コンテキストからユーザーのDIDを自動的に使用します。
|
|
24
|
+
|
|
25
|
+
```jsx MyCreditHistoryPage.tsx icon=logos:react
|
|
26
|
+
import React from 'react';
|
|
27
|
+
import { CreditTransactionsList, PaymentProvider } from '@blocklet/payment-react';
|
|
28
|
+
import { useSessionContext } from '../hooks/session-context'; // セッションコンテキストのフック
|
|
29
|
+
|
|
30
|
+
function MyCreditHistoryPage() {
|
|
31
|
+
const { session, connectApi } = useSessionContext();
|
|
32
|
+
|
|
33
|
+
if (!session || !connectApi) {
|
|
34
|
+
return <div>セッションを読み込んでいます...</div>;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
return (
|
|
38
|
+
<PaymentProvider session={session} connectApi={connectApi}>
|
|
39
|
+
<h2>私のクレジット取引</h2>
|
|
40
|
+
<CreditTransactionsList />
|
|
41
|
+
</PaymentProvider>
|
|
42
|
+
);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
export default MyCreditHistoryPage;
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## フィルタリング付き管理者ビュー
|
|
49
|
+
|
|
50
|
+
管理者ダッシュボードでは、特定の`customer_id`を渡し、管理者列と時間フィルターを有効にすることで、ユーザーの取引履歴をより強力かつ詳細に表示できます。
|
|
51
|
+
|
|
52
|
+
```jsx CustomerDetailsPage.tsx icon=logos:react
|
|
53
|
+
import React from 'react';
|
|
54
|
+
import { CreditTransactionsList, PaymentProvider } from '@blocklet/payment-react';
|
|
55
|
+
import { useSessionContext } from '../hooks/session-context'; // セッションコンテキストのフック
|
|
56
|
+
|
|
57
|
+
function CustomerDetailsPage({ customerId }) {
|
|
58
|
+
const { session, connectApi } = useSessionContext();
|
|
59
|
+
|
|
60
|
+
if (!session || !connectApi) {
|
|
61
|
+
return <div>セッションを読み込んでいます...</div>;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
return (
|
|
65
|
+
<PaymentProvider session={session} connectApi={connectApi}>
|
|
66
|
+
<h3>{customerId}の取引履歴</h3>
|
|
67
|
+
<CreditTransactionsList
|
|
68
|
+
customer_id={customerId}
|
|
69
|
+
showAdminColumns={true}
|
|
70
|
+
showTimeFilter={true}
|
|
71
|
+
pageSize={20}
|
|
72
|
+
mode="dashboard"
|
|
73
|
+
/>
|
|
74
|
+
</PaymentProvider>
|
|
75
|
+
);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
export default CustomerDetailsPage;
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
## 特定のクレジット付与の取引表示
|
|
82
|
+
|
|
83
|
+
特定のクレジット付与がどのように消費されたかの詳細なログを表示するには、`credit_grant_id`を渡します。これは、単一のクレジット付与の詳細を表示するページで役立ちます。
|
|
84
|
+
|
|
85
|
+
```jsx CreditGrantDetailsPage.tsx icon=logos:react
|
|
86
|
+
import React from 'react';
|
|
87
|
+
import { CreditTransactionsList, PaymentProvider } from '@blocklet/payment-react';
|
|
88
|
+
import { useSessionContext } from '../hooks/session-context'; // セッションコンテキストのフック
|
|
89
|
+
|
|
90
|
+
function CreditGrantDetailsPage({ grantId }) {
|
|
91
|
+
const { session, connectApi } = useSessionContext();
|
|
92
|
+
|
|
93
|
+
if (!session || !connectApi) {
|
|
94
|
+
return <div>セッションを読み込んでいます...</div>;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
return (
|
|
98
|
+
<PaymentProvider session={session} connectApi={connectApi}>
|
|
99
|
+
<h4>付与{grantId}の使用詳細</h4>
|
|
100
|
+
<CreditTransactionsList credit_grant_id={grantId} />
|
|
101
|
+
</PaymentProvider>
|
|
102
|
+
);
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
export default CreditGrantDetailsPage;
|
|
106
|
+
```
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
# CreditTransactionsList
|
|
2
|
+
|
|
3
|
+
`CreditTransactionsList` 元件會呈現一個詳細且分頁的所有點數交易表格,提供清晰的點數使用和調整記錄。它非常適合在客戶入口網站或管理儀表板中使用,以追蹤點數如何授予和消耗。
|
|
4
|
+
|
|
5
|
+
此元件會自動處理資料擷取、分頁和格式化,提供一種直接顯示交易歷史記錄的方法。
|
|
6
|
+
|
|
7
|
+
## 屬性
|
|
8
|
+
|
|
9
|
+
| 屬性 | 類型 | 說明 | 預設值 |
|
|
10
|
+
| --- | --- | --- | --- |
|
|
11
|
+
| `customer_id` | `string` | 要顯示其交易的客戶 ID。如果未提供,則預設為來自 `PaymentProvider` 上下文的當前登入使用者的 DID。 | `session.user.did` |
|
|
12
|
+
| `subscription_id` | `string` | 將交易篩選至特定的訂閱。 | `undefined` |
|
|
13
|
+
| `credit_grant_id` | `string` | 將交易篩選至特定的點數授予。 | `undefined` |
|
|
14
|
+
| `pageSize` | `number` | 每頁顯示的交易數量。 | `10` |
|
|
15
|
+
| `onTableDataChange` | `(data, prevData) => void` | 當表格資料被擷取或更新時觸發的回呼函式。 | `() => {}` |
|
|
16
|
+
| `showAdminColumns` | `boolean` | 如果為 `true` 且使用者是管理員,則會顯示額外的欄位,例如「Meter Event」。 | `false` |
|
|
17
|
+
| `showTimeFilter` | `boolean` | 如果為 `true`,則會顯示日期範圍選擇器,以允許按日期篩選交易。 | `false` |
|
|
18
|
+
| `source` | `string` | 用於篩選交易的可選來源字串。 | `''` |
|
|
19
|
+
| `mode` | `'dashboard' \| 'portal'` | 決定相關項目(如點數授予)的連結結構。使用 `'dashboard'` 表示管理員視圖,使用 `'portal'` 表示客戶導向的視圖。 | `'portal'` |
|
|
20
|
+
|
|
21
|
+
## 客戶入口網站的基本用法
|
|
22
|
+
|
|
23
|
+
此範例展示了如何顯示當前登入使用者的點數交易歷史記錄。當 `customer_id` 被省略時,該元件會自動從 `PaymentProvider` 上下文中使用使用者的 DID。
|
|
24
|
+
|
|
25
|
+
```jsx MyCreditHistoryPage.tsx icon=logos:react
|
|
26
|
+
import React from 'react';
|
|
27
|
+
import { CreditTransactionsList, PaymentProvider } from '@blocklet/payment-react';
|
|
28
|
+
import { useSessionContext } from '../hooks/session-context'; // 您的會話上下文鉤子
|
|
29
|
+
|
|
30
|
+
function MyCreditHistoryPage() {
|
|
31
|
+
const { session, connectApi } = useSessionContext();
|
|
32
|
+
|
|
33
|
+
if (!session || !connectApi) {
|
|
34
|
+
return <div>正在載入會話...</div>;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
return (
|
|
38
|
+
<PaymentProvider session={session} connectApi={connectApi}>
|
|
39
|
+
<h2>我的點數交易</h2>
|
|
40
|
+
<CreditTransactionsList />
|
|
41
|
+
</PaymentProvider>
|
|
42
|
+
);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
export default MyCreditHistoryPage;
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## 帶有篩選功能的管理員視圖
|
|
49
|
+
|
|
50
|
+
對於管理員儀表板,您可以傳遞特定的 `customer_id` 並啟用管理員欄位和時間篩選器,以提供更強大、更詳細的使用者交易歷史記錄視圖。
|
|
51
|
+
|
|
52
|
+
```jsx CustomerDetailsPage.tsx icon=logos:react
|
|
53
|
+
import React from 'react';
|
|
54
|
+
import { CreditTransactionsList, PaymentProvider } from '@blocklet/payment-react';
|
|
55
|
+
import { useSessionContext } from '../hooks/session-context'; // 您的會話上下文鉤子
|
|
56
|
+
|
|
57
|
+
function CustomerDetailsPage({ customerId }) {
|
|
58
|
+
const { session, connectApi } = useSessionContext();
|
|
59
|
+
|
|
60
|
+
if (!session || !connectApi) {
|
|
61
|
+
return <div>正在載入會話...</div>;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
return (
|
|
65
|
+
<PaymentProvider session={session} connectApi={connectApi}>
|
|
66
|
+
<h3>{customerId} 的交易歷史記錄</h3>
|
|
67
|
+
<CreditTransactionsList
|
|
68
|
+
customer_id={customerId}
|
|
69
|
+
showAdminColumns={true}
|
|
70
|
+
showTimeFilter={true}
|
|
71
|
+
pageSize={20}
|
|
72
|
+
mode="dashboard"
|
|
73
|
+
/>
|
|
74
|
+
</PaymentProvider>
|
|
75
|
+
);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
export default CustomerDetailsPage;
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
## 顯示特定點數授予的交易
|
|
82
|
+
|
|
83
|
+
若要顯示特定點數授予如何被消耗的詳細日誌,請傳遞 `credit_grant_id`。這對於顯示單個點數授予詳細資訊的頁面非常有用。
|
|
84
|
+
|
|
85
|
+
```jsx CreditGrantDetailsPage.tsx icon=logos:react
|
|
86
|
+
import React from 'react';
|
|
87
|
+
import { CreditTransactionsList, PaymentProvider } from '@blocklet/payment-react';
|
|
88
|
+
import { useSessionContext } from '../hooks/session-context'; // 您的會話上下文鉤子
|
|
89
|
+
|
|
90
|
+
function CreditGrantDetailsPage({ grantId }) {
|
|
91
|
+
const { session, connectApi } = useSessionContext();
|
|
92
|
+
|
|
93
|
+
if (!session || !connectApi) {
|
|
94
|
+
return <div>正在載入會話...</div>;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
return (
|
|
98
|
+
<PaymentProvider session={session} connectApi={connectApi}>
|
|
99
|
+
<h4>授予 {grantId} 的使用詳情</h4>
|
|
100
|
+
<CreditTransactionsList credit_grant_id={grantId} />
|
|
101
|
+
</PaymentProvider>
|
|
102
|
+
);
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
export default CreditGrantDetailsPage;
|
|
106
|
+
```
|