npm package: @magradze/bog-payment-react
Description: The easiest way to integrate Bank of Georgia payments into your React & Next.js applications. Securely handle payments with client and server components.
Author: Giorgi Magradze
Latest version: 1.0.2

<p align="center">
  <a href="https://github.com/magradze/bog-payment-react" target="_blank">
    <img src="https://ramad.bog.ge/s3/apimarketplace/images/47c75b03-49ac-4f6a-be3e-5a8b9d16d22d.svg" width="250" alt="Bank of Georgia Logo">
  </a>
</p>

<h1 align="center">BOG Payment React</h1>

<p align="center">
  🚀 საქართველოს ბანკის გადახდების ყველაზე მარტივი ინტეგრაცია თქვენს React და Next.js აპლიკაციებში.
</p>

<p align="center">
  <a href="https://www.npmjs.com/package/@magradze/bog-payment-react"><img src="https://img.shields.io/npm/v/@magradze/bog-payment-react.svg" alt="NPM Version"></a>
  <a href="https://github.com/magradze/bog-payment-react/blob/main/LICENSE"><img src="https://img.shields.io/npm/l/@magradze/bog-payment-react.svg" alt="License"></a>
  <a href="https://www.npmjs.com/package/@magradze/bog-payment-react"><img src="https://img.shields.io/npm/dm/@magradze/bog-payment-react.svg" alt="NPM Downloads"></a>
</p>

---

`@magradze/bog-payment-react` არის თანამედროვე, უსაფრთხო და მარტივად გამოსაყენებელი ბიბლიოთეკა, რომელიც შექმნილია საქართველოს ბანკის Payments API-სთან სამუშაოდ Next.js-ის (App Router) არქიტექტურის გათვალისწინებით.

ბიბლიოთეკა გთავაზობთ კლიენტისა და სერვერის ფუნქციების მძლავრ ნაკრებს, რომელიც უზრუნველყოფს როგორც უსაფრთხოებას, ასევე შესანიშნავ დეველოპერულ გამოცდილებას (DX).

## ✨ მთავარი პრინციპები

- 🔐 **უსაფრთხოება უპირველეს ყოვლისა:** `client_secret`-ი და სხვა სენსიტიური ოპერაციები რჩება მხოლოდ სერვერზე.
- 🧠 **გამიჯნული ლოგიკა:** ბიბლიოთეკა დაყოფილია ორ ნაწილად:
  - `@magradze/bog-payment-react/server`: უსაფრთხო ფუნქციები სერვერისთვის.
  - `@magradze/bog-payment-react/client`: React ჰუკები და კომპონენტები კლიენტისთვის.
- ⚛️ **თანამედროვე React:** შექმნილია Next.js App Router-ისა და Server Actions-ების პარადიგმისთვის.
- 📄 **ამომწურავი დოკუმენტაცია:** დეტალური გზამკვლევები და მაგალითები ქართულ ენაზე.

## 📦 ინსტალაცია

```bash
npm install @magradze/bog-payment-react
```

## 🚀 სწრაფი სტარტი

ნახეთ, რა მარტივია ახალი არქიტექტურის გამოყენება:

**1. შექმენი Server Action:**

```typescript
// app/actions/bog.ts
"use server";

import { createOrderAction } from '@magradze/bog-payment-react/server';

export const handleCreateOrder = async (payload) => {
  const config = {
    accessToken: "YOUR_ACCESS_TOKEN", // მიიღეთ უსაფრთხოდ
    baseUrl: process.env.NEXT_PUBLIC_BOG_BASE_URL,
  };
  return createOrderAction(config, payload);
};
```

**2. გამოიყენე ჰუკი კლიენტზე:**

```tsx
// app/page.tsx
"use client";

import { useCreateOrder } from '@magradze/bog-payment-react/client';
import { handleCreateOrder } from './actions/bog';

const MyButton = () => {
  const { createOrder, data, isLoading } = useCreateOrder(handleCreateOrder);
  // ...
};
```

უფრო დეტალური მაგალითებისთვის, იხილეთ ჩვენი **[საწყისი გზამკვლევი](./docs/1-getting-started.md)**.

## 📚 დოკუმენტაცია

- **[🚀 საწყისი გზამკვლევი](./docs/1-getting-started.md)**: ნაბიჯ-ნაბიჯ ინსტრუქცია სრული ინტეგრაციისთვის. **დაიწყეთ აქედან!**
- **[⚙️ სერვერის ფუნქციები](./docs/2-feature-guides/server-actions.md)**: ყველა სერვერის ფუნქციის დეტალური აღწერა.
- **[🪝 კლიენტის ჰუკები](./docs/2-feature-guides/client-hooks.md)**: ყველა React ჰუკის დეტალური აღწერა.
- **[🔵 Google Pay](./docs/2-feature-guides/google-pay.md)**: ისწავლეთ, როგორ გამოიყენოთ `<GooglePayButton />` კომპონენტი.

## 🤝 კონტრიბუცია

პროექტი ღიაა და მივესალმებით ნებისმიერ კონტრიბუციას. თუ გაქვთ იდეა, შენიშვნა ან გსურთ კოდის გაუმჯობესება, გთხოვთ, გახსენით [Issue](https://github.com/magradze/bog-payment-react/issues) ან შექმენით [Pull Request](https://github.com/magradze/bog-payment-react/pulls).

## 📄 ლიცენზია

ეს პროექტი ვრცელდება [MIT ლიცენზიით](https://github.com/magradze/bog-payment-react/blob/main/LICENSE).