@akinon/pz-gpay 1.91.0 → 1.92.0-rc.7

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.
Files changed (3) hide show
  1. package/CHANGELOG.md +79 -0
  2. package/package.json +1 -1
  3. package/readme.md +95 -40
package/CHANGELOG.md CHANGED
@@ -1,7 +1,46 @@
1
1
  # @akinon/pz-gpay
2
2
 
3
+ ## 1.92.0-rc.7
4
+
5
+ ## 1.91.0-rc.6
6
+
7
+ ## 1.91.0-rc.5
8
+
9
+ ## 1.91.0-rc.4
10
+
11
+ ### Minor Changes
12
+
13
+ - 7eb51ca: ZERO-3424 :Update package versions
14
+ - 2e436c1: ZERO-3389 :Update README.md for GPay component: enhance props documentation, add custom UI usage examples
15
+
16
+ <<<<<<< HEAD
17
+
18
+ ## 1.91.0-rc.3
19
+
20
+ ### Minor Changes
21
+
22
+ - 64699d3f: ZERO-2761: Fix invalid import for plugin module
23
+ - e974d8e8: ZERO-3406: Fix rc build
24
+ - 7727ae55: ZERO-3073: Refactor basket page to use server-side data fetching and simplify component structure
25
+ - 33377cfd: ZERO-3267: Refactor import statement for ROUTES in error-page component
26
+
27
+ ## 1.91.0-rc.2
28
+
29
+ ## 1.91.0-rc.1
30
+
31
+ ## 1.91.0-rc.0
32
+
33
+ ### Minor Changes
34
+
35
+ - 64699d3f: ZERO-2761: Fix invalid import for plugin module
36
+ - e974d8e: ZERO-3406: Fix rc build
37
+ - 7727ae55: ZERO-3073: Refactor basket page to use server-side data fetching and simplify component structure
38
+ - # 33377cfd: ZERO-3267: Refactor import statement for ROUTES in error-page component
39
+
3
40
  ## 1.91.0
4
41
 
42
+ > > > > > > > origin/ZERO-3418
43
+
5
44
  ## 1.90.0
6
45
 
7
46
  ### Minor Changes
@@ -13,6 +52,46 @@
13
52
  ### Minor Changes
14
53
 
15
54
  - 57a6184: ZERO-3332 :Add data-testid attribute to GPay payment button for testing
55
+ - 64699d3f: ZERO-2761: Fix invalid import for plugin module
56
+ - 7727ae55: ZERO-3073: Refactor basket page to use server-side data fetching and simplify component structure
57
+ - 33377cfd: ZERO-3267: Refactor import statement for ROUTES in error-page component
58
+
59
+ ## 1.89.0-rc.9
60
+
61
+ ### Minor Changes
62
+
63
+ - 57a6184: ZERO-3332 :Add data-testid attribute to GPay payment button for testing
64
+ - 64699d3f: ZERO-2761: Fix invalid import for plugin module
65
+ - 7727ae55: ZERO-3073: Refactor basket page to use server-side data fetching and simplify component structure
66
+ - 33377cfd: ZERO-3267: Refactor import statement for ROUTES in error-page component
67
+
68
+ ## 1.89.0-rc.8
69
+
70
+ ## 1.89.0-rc.7
71
+
72
+ ## 1.89.0-rc.6
73
+
74
+ ## 1.89.0-rc.5
75
+
76
+ ## 1.89.0-rc.4
77
+
78
+ ## 1.89.0-rc.3
79
+
80
+ ## 1.89.0-rc.2
81
+
82
+ ### Minor Changes
83
+
84
+ - 57a6184: ZERO-3332 :Add data-testid attribute to GPay payment button for testing
85
+
86
+ ## 1.89.0-rc.1
87
+
88
+ ## 1.89.0-rc.0
89
+
90
+ ### Minor Changes
91
+
92
+ - 64699d3f: ZERO-2761: Fix invalid import for plugin module
93
+ - 7727ae55: ZERO-3073: Refactor basket page to use server-side data fetching and simplify component structure
94
+ - 33377cf: ZERO-3267: Refactor import statement for ROUTES in error-page component
16
95
 
17
96
  ## 1.88.0
18
97
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@akinon/pz-gpay",
3
- "version": "1.91.0",
3
+ "version": "1.92.0-rc.7",
4
4
  "license": "MIT",
5
5
  "main": "src/index.tsx",
6
6
  "peerDependencies": {
package/readme.md CHANGED
@@ -10,9 +10,86 @@ npx @akinon/projectzero@latest --plugins
10
10
 
11
11
  ```
12
12
 
13
- ### Example Usage
13
+ ## GPAY
14
14
 
15
- ##### File Path: src/views/checkout/steps/payment/options/gpay.tsx
15
+ The `GPayOption` component provides GarantiPay (GPay) payment integration within the checkout process. It supports both default UI rendering and a fully customized UI via the `customUIRender` prop.
16
+
17
+ ### Props
18
+
19
+ | Prop | Type | Required | Description |
20
+ | --- | --- | --- | --- |
21
+ | `containerClassName` | `string` | Optional | Custom class for the root `<form>` container |
22
+ | `titleClassName` | `string` | Optional | Class for the title (`<h1>` element) |
23
+ | `descriptionClassName` | `string` | Optional | Class for the description container |
24
+ | `buttonClassName` | `string` | Optional | Class for the submit button |
25
+ | `translations` | `Partial<GPayTranslations>` | Optional | Override default title, description, button and error texts |
26
+ | `customUIRender` | `function` | Optional | Function to override the internal rendering logic and provide custom layout |
27
+
28
+ ---
29
+
30
+ ### `customUIRender` Parameters
31
+
32
+ | Parameter | Type | Description |
33
+ | --- | --- | --- |
34
+ | `handleSubmit` | `UseFormHandleSubmit<GPayForm>` | Wrapper for your `onSubmit` function with validation |
35
+ | `onSubmit` | `SubmitHandler<GPayForm>` | Submit logic that handles payment integration internally |
36
+ | `control` | `Control<GPayForm>` | React Hook Form control object, useful for controlled inputs |
37
+ | `errors` | `FieldErrors<GPayForm>` | Validation errors, helpful for form field error handling |
38
+ | `translations` | `GPayTranslations` | Final translation object with merged defaults and overrides |
39
+
40
+ ### Default Translations
41
+
42
+ ```javascript
43
+ {
44
+ title: 'Pay with GarantiPay',
45
+ description: [
46
+ 'Click on the "GarantiPay" button. Guarantee for payment you will be redirected to the payment page.',
47
+ 'Log in to your account with your username and password on the Garanti Pay page. If you do not have a Garanti Pay membership, create a new membership you can create.',
48
+ 'Complete the payment process by selecting your card and payment type.'
49
+ ],
50
+ button: 'Pay with GarantiPay',
51
+ error: 'An error occurred during payment'
52
+ }
53
+ ```
54
+
55
+ ### Usage Examples
56
+
57
+ ```bash
58
+ /src/views/checkout/steps/payment/options/gpay.tsx
59
+ ```
60
+
61
+ ## Default Usage
62
+
63
+ ```javascript
64
+ import PluginModule, { Component } from '@akinon/next/components/plugin-module';
65
+
66
+ const GPay = () => {
67
+ return (
68
+ <PluginModule
69
+ component={Component.GPay}
70
+ props={{
71
+ translations: {
72
+ title: 'Pay with GarantiPay',
73
+ description: [
74
+ 'Click on the "Pay with GarantiPay" button. You will be redirected to the payment page.',
75
+ 'Log in with your credentials. If you don’t have an account, create one.',
76
+ 'Select your card and complete the payment process.'
77
+ ],
78
+ button: 'Pay Now'
79
+ },
80
+ containerClassName: 'bg-gray-50 p-6 rounded-lg',
81
+ titleClassName: 'text-xl font-bold',
82
+ descriptionClassName: 'text-sm text-gray-700',
83
+ buttonClassName: 'bg-primary text-white py-2'
84
+ }}
85
+ />
86
+ );
87
+ };
88
+
89
+ export default GPay;
90
+ ```
91
+
92
+ ## Custom UI Usage
16
93
 
17
94
  ```javascript
18
95
  import PluginModule, { Component } from '@akinon/next/components/plugin-module';
@@ -24,25 +101,25 @@ const GPay = () => {
24
101
  props={{
25
102
  translations: {
26
103
  title: 'Pay with GarantiPay',
27
- description:
28
- 'Click the button below to pay for your order using GarantiPay.',
104
+ description: [
105
+ 'Click the button below to pay for your order using GarantiPay.'
106
+ ],
29
107
  button: 'Pay Now'
30
108
  },
31
- containerClassName: 'bg-gray-50 rounded-md',
32
- titleClassName: 'text-2xl font-bold',
33
- descriptionClassName: 'text-sm',
34
- buttonClassName: 'bg-primary text-white',
35
109
  customUIRender: ({ handleSubmit, onSubmit, translations }) => (
36
- <form onSubmit={handleSubmit(onSubmit)} className="p-6 bg-white">
37
- <h2 className="text-xl font-bold mb-2">{translations.title}</h2>
38
- <div className="text-sm mb-4">
110
+ <form
111
+ onSubmit={handleSubmit(onSubmit)}
112
+ className="p-6 bg-white rounded-md space-y-4"
113
+ >
114
+ <h2 className="text-2xl font-semibold">{translations.title}</h2>
115
+ <ul className="text-sm text-gray-700 list-disc pl-4">
39
116
  {translations.description.map((item, index) => (
40
117
  <li key={index}>{item}</li>
41
118
  ))}
42
- </div>
119
+ </ul>
43
120
  <button
44
121
  type="submit"
45
- className="w-full h-9 bg-black-300 text-white"
122
+ className="w-full h-10 bg-black text-white rounded"
46
123
  >
47
124
  {translations.button}
48
125
  </button>
@@ -56,36 +133,14 @@ const GPay = () => {
56
133
  export default GPay;
57
134
  ```
58
135
 
59
- ##### File Path: src/app/[commerce]/[locale]/[currency]/orders/garanti-pay-redirect/page.tsx
136
+ ## Garanti Pay Redirect
137
+
138
+ ```bash
139
+ /src/app/[commerce]/[locale]/[currency]/orders/garanti-pay-redirect/page.tsx
140
+ ```
60
141
 
61
142
  ```javascript
62
143
  import { GarantiPayRedirect } from '@akinon/pz-gpay/src/routes/garanti-pay-redirect';
63
144
 
64
145
  export default GarantiPayRedirect;
65
146
  ```
66
-
67
- ### Props
68
-
69
- | Properties | Type | Description |
70
- | --- | --- | --- |
71
- | translations | object | The translations of the component. |
72
- | containerClassName | string | The CSS class to apply to the container. |
73
- | titleClassName | string | The CSS class to apply to the title. |
74
- | descriptionClassName | string | The CSS class to apply to the description. |
75
- | buttonClassName | string | The CSS class to apply to the button. |
76
- | customUIRender | function | Custom render function for the component. Receives form handlers and translations. |
77
-
78
- ### Default Translations
79
-
80
- ```javascript
81
- {
82
- title: 'Pay with GarantiPay',
83
- description: [
84
- 'Click on the "GarantiPay" button. Guarantee for payment you will be redirected to the payment page.',
85
- 'Log in to your account with your username and password on the Garanti Pay page. If you do not have a Garanti Pay membership, create a new membership you can create.',
86
- 'Complete the payment process by selecting your card and payment type.'
87
- ],
88
- button: 'Pay with GarantiPay',
89
- error: 'An error occurred during payment'
90
- }
91
- ```