@akinon/pz-gpay 1.96.0-snapshot-ZERO-3620-20250915165755 → 1.97.0-snapshot-ZERO-3634-20250918132143
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/CHANGELOG.md +2 -98
 - package/package.json +1 -1
 - package/readme.md +42 -101
 - package/src/views/gpay-option.tsx +9 -24
 
    
        package/CHANGELOG.md
    CHANGED
    
    | 
         @@ -1,62 +1,8 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            # @akinon/pz-gpay
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
       3 
     | 
    
         
            -
            ## 1. 
     | 
| 
      
 3 
     | 
    
         
            +
            ## 1.97.0-snapshot-ZERO-3634-20250918132143
         
     | 
| 
       4 
4 
     | 
    
         | 
| 
       5 
     | 
    
         
            -
             
     | 
| 
       6 
     | 
    
         
            -
             
     | 
| 
       7 
     | 
    
         
            -
            - 4c23847: ZERO-3623 :Enhance GPay integration: add loading state to custom UI rendering and error handling
         
     | 
| 
       8 
     | 
    
         
            -
            - d8be48fb: ZERO-3422: Update fetch method to use dynamic request method in wallet complete redirection middleware
         
     | 
| 
       9 
     | 
    
         
            -
            - 16aff543: ZERO-3431: Add test script for redirect utility in package.json
         
     | 
| 
       10 
     | 
    
         
            -
            - 64699d3ff: ZERO-2761: Fix invalid import for plugin module
         
     | 
| 
       11 
     | 
    
         
            -
            - e974d8e8: ZERO-3406: Fix rc build
         
     | 
| 
       12 
     | 
    
         
            -
            - 7eb51ca9: ZERO-3424 :Update package versions
         
     | 
| 
       13 
     | 
    
         
            -
            - 7727ae55: ZERO-3073: Refactor basket page to use server-side data fetching and simplify component structure
         
     | 
| 
       14 
     | 
    
         
            -
            - 8b1d24eb: ZERO-3422: Update fetch method to use dynamic request method in wallet complete redirection middleware
         
     | 
| 
       15 
     | 
    
         
            -
            - 2e436c13: ZERO-3389 :Update README.md for GPay component: enhance props documentation, add custom UI usage examples
         
     | 
| 
       16 
     | 
    
         
            -
            - 33377cfd: ZERO-3267: Refactor import statement for ROUTES in error-page component
         
     | 
| 
       17 
     | 
    
         
            -
             
     | 
| 
       18 
     | 
    
         
            -
            ## 1.96.0-rc.61
         
     | 
| 
       19 
     | 
    
         
            -
             
     | 
| 
       20 
     | 
    
         
            -
            ### Minor Changes
         
     | 
| 
       21 
     | 
    
         
            -
             
     | 
| 
       22 
     | 
    
         
            -
            - 4c23847: ZERO-3623 :Enhance GPay integration: add loading state to custom UI rendering and error handling
         
     | 
| 
       23 
     | 
    
         
            -
            - d8be48fb: ZERO-3422: Update fetch method to use dynamic request method in wallet complete redirection middleware
         
     | 
| 
       24 
     | 
    
         
            -
            - 16aff543: ZERO-3431: Add test script for redirect utility in package.json
         
     | 
| 
       25 
     | 
    
         
            -
            - 64699d3ff: ZERO-2761: Fix invalid import for plugin module
         
     | 
| 
       26 
     | 
    
         
            -
            - e974d8e8: ZERO-3406: Fix rc build
         
     | 
| 
       27 
     | 
    
         
            -
            - 7eb51ca9: ZERO-3424 :Update package versions
         
     | 
| 
       28 
     | 
    
         
            -
            - 7727ae55: ZERO-3073: Refactor basket page to use server-side data fetching and simplify component structure
         
     | 
| 
       29 
     | 
    
         
            -
            - 8b1d24eb: ZERO-3422: Update fetch method to use dynamic request method in wallet complete redirection middleware
         
     | 
| 
       30 
     | 
    
         
            -
            - 2e436c13: ZERO-3389 :Update README.md for GPay component: enhance props documentation, add custom UI usage examples
         
     | 
| 
       31 
     | 
    
         
            -
            - 33377cfd: ZERO-3267: Refactor import statement for ROUTES in error-page component
         
     | 
| 
       32 
     | 
    
         
            -
             
     | 
| 
       33 
     | 
    
         
            -
            ## 1.96.0-rc.60
         
     | 
| 
       34 
     | 
    
         
            -
             
     | 
| 
       35 
     | 
    
         
            -
            ## 1.96.0-rc.59
         
     | 
| 
       36 
     | 
    
         
            -
             
     | 
| 
       37 
     | 
    
         
            -
            ### Minor Changes
         
     | 
| 
       38 
     | 
    
         
            -
             
     | 
| 
       39 
     | 
    
         
            -
            - 4c23847: ZERO-3623 :Enhance GPay integration: add loading state to custom UI rendering and error handling
         
     | 
| 
       40 
     | 
    
         
            -
             
     | 
| 
       41 
     | 
    
         
            -
            ## 1.96.0-rc.58
         
     | 
| 
       42 
     | 
    
         
            -
             
     | 
| 
       43 
     | 
    
         
            -
            ## 1.96.0-rc.57
         
     | 
| 
       44 
     | 
    
         
            -
             
     | 
| 
       45 
     | 
    
         
            -
            ## 1.96.0-rc.56
         
     | 
| 
       46 
     | 
    
         
            -
             
     | 
| 
       47 
     | 
    
         
            -
            ## 1.96.0-rc.55
         
     | 
| 
       48 
     | 
    
         
            -
             
     | 
| 
       49 
     | 
    
         
            -
            ### Minor Changes
         
     | 
| 
       50 
     | 
    
         
            -
             
     | 
| 
       51 
     | 
    
         
            -
            - d8be48fb: ZERO-3422: Update fetch method to use dynamic request method in wallet complete redirection middleware
         
     | 
| 
       52 
     | 
    
         
            -
            - 16aff543: ZERO-3431: Add test script for redirect utility in package.json
         
     | 
| 
       53 
     | 
    
         
            -
            - 64699d3ff: ZERO-2761: Fix invalid import for plugin module
         
     | 
| 
       54 
     | 
    
         
            -
            - e974d8e8: ZERO-3406: Fix rc build
         
     | 
| 
       55 
     | 
    
         
            -
            - 7eb51ca9: ZERO-3424 :Update package versions
         
     | 
| 
       56 
     | 
    
         
            -
            - 7727ae55: ZERO-3073: Refactor basket page to use server-side data fetching and simplify component structure
         
     | 
| 
       57 
     | 
    
         
            -
            - 8b1d24eb: ZERO-3422: Update fetch method to use dynamic request method in wallet complete redirection middleware
         
     | 
| 
       58 
     | 
    
         
            -
            - 2e436c13: ZERO-3389 :Update README.md for GPay component: enhance props documentation, add custom UI usage examples
         
     | 
| 
       59 
     | 
    
         
            -
            - 33377cfd: ZERO-3267: Refactor import statement for ROUTES in error-page component
         
     | 
| 
      
 5 
     | 
    
         
            +
            ## 1.96.0
         
     | 
| 
       60 
6 
     | 
    
         | 
| 
       61 
7 
     | 
    
         
             
            ## 1.95.0
         
     | 
| 
       62 
8 
     | 
    
         | 
| 
         @@ -68,8 +14,6 @@ 
     | 
|
| 
       68 
14 
     | 
    
         | 
| 
       69 
15 
     | 
    
         
             
            ## 1.91.0
         
     | 
| 
       70 
16 
     | 
    
         | 
| 
       71 
     | 
    
         
            -
            > > > > > > > origin/ZERO-3418
         
     | 
| 
       72 
     | 
    
         
            -
             
     | 
| 
       73 
17 
     | 
    
         
             
            ## 1.90.0
         
     | 
| 
       74 
18 
     | 
    
         | 
| 
       75 
19 
     | 
    
         
             
            ### Minor Changes
         
     | 
| 
         @@ -81,46 +25,6 @@ 
     | 
|
| 
       81 
25 
     | 
    
         
             
            ### Minor Changes
         
     | 
| 
       82 
26 
     | 
    
         | 
| 
       83 
27 
     | 
    
         
             
            - 57a6184: ZERO-3332 :Add data-testid attribute to GPay payment button for testing
         
     | 
| 
       84 
     | 
    
         
            -
            - 64699d3f: ZERO-2761: Fix invalid import for plugin module
         
     | 
| 
       85 
     | 
    
         
            -
            - 7727ae55: ZERO-3073: Refactor basket page to use server-side data fetching and simplify component structure
         
     | 
| 
       86 
     | 
    
         
            -
            - 33377cfd: ZERO-3267: Refactor import statement for ROUTES in error-page component
         
     | 
| 
       87 
     | 
    
         
            -
             
     | 
| 
       88 
     | 
    
         
            -
            ## 1.89.0-rc.9
         
     | 
| 
       89 
     | 
    
         
            -
             
     | 
| 
       90 
     | 
    
         
            -
            ### Minor Changes
         
     | 
| 
       91 
     | 
    
         
            -
             
     | 
| 
       92 
     | 
    
         
            -
            - 57a6184: ZERO-3332 :Add data-testid attribute to GPay payment button for testing
         
     | 
| 
       93 
     | 
    
         
            -
            - 64699d3f: ZERO-2761: Fix invalid import for plugin module
         
     | 
| 
       94 
     | 
    
         
            -
            - 7727ae55: ZERO-3073: Refactor basket page to use server-side data fetching and simplify component structure
         
     | 
| 
       95 
     | 
    
         
            -
            - 33377cfd: ZERO-3267: Refactor import statement for ROUTES in error-page component
         
     | 
| 
       96 
     | 
    
         
            -
             
     | 
| 
       97 
     | 
    
         
            -
            ## 1.89.0-rc.8
         
     | 
| 
       98 
     | 
    
         
            -
             
     | 
| 
       99 
     | 
    
         
            -
            ## 1.89.0-rc.7
         
     | 
| 
       100 
     | 
    
         
            -
             
     | 
| 
       101 
     | 
    
         
            -
            ## 1.89.0-rc.6
         
     | 
| 
       102 
     | 
    
         
            -
             
     | 
| 
       103 
     | 
    
         
            -
            ## 1.89.0-rc.5
         
     | 
| 
       104 
     | 
    
         
            -
             
     | 
| 
       105 
     | 
    
         
            -
            ## 1.89.0-rc.4
         
     | 
| 
       106 
     | 
    
         
            -
             
     | 
| 
       107 
     | 
    
         
            -
            ## 1.89.0-rc.3
         
     | 
| 
       108 
     | 
    
         
            -
             
     | 
| 
       109 
     | 
    
         
            -
            ## 1.89.0-rc.2
         
     | 
| 
       110 
     | 
    
         
            -
             
     | 
| 
       111 
     | 
    
         
            -
            ### Minor Changes
         
     | 
| 
       112 
     | 
    
         
            -
             
     | 
| 
       113 
     | 
    
         
            -
            - 57a6184: ZERO-3332 :Add data-testid attribute to GPay payment button for testing
         
     | 
| 
       114 
     | 
    
         
            -
             
     | 
| 
       115 
     | 
    
         
            -
            ## 1.89.0-rc.1
         
     | 
| 
       116 
     | 
    
         
            -
             
     | 
| 
       117 
     | 
    
         
            -
            ## 1.89.0-rc.0
         
     | 
| 
       118 
     | 
    
         
            -
             
     | 
| 
       119 
     | 
    
         
            -
            ### Minor Changes
         
     | 
| 
       120 
     | 
    
         
            -
             
     | 
| 
       121 
     | 
    
         
            -
            - 64699d3f: ZERO-2761: Fix invalid import for plugin module
         
     | 
| 
       122 
     | 
    
         
            -
            - 7727ae55: ZERO-3073: Refactor basket page to use server-side data fetching and simplify component structure
         
     | 
| 
       123 
     | 
    
         
            -
            - 33377cf: ZERO-3267: Refactor import statement for ROUTES in error-page component
         
     | 
| 
       124 
28 
     | 
    
         | 
| 
       125 
29 
     | 
    
         
             
            ## 1.88.0
         
     | 
| 
       126 
30 
     | 
    
         | 
    
        package/package.json
    CHANGED
    
    
    
        package/readme.md
    CHANGED
    
    | 
         @@ -10,86 +10,9 @@ npx @akinon/projectzero@latest --plugins 
     | 
|
| 
       10 
10 
     | 
    
         | 
| 
       11 
11 
     | 
    
         
             
            ```
         
     | 
| 
       12 
12 
     | 
    
         | 
| 
       13 
     | 
    
         
            -
             
     | 
| 
      
 13 
     | 
    
         
            +
            ### Example Usage
         
     | 
| 
       14 
14 
     | 
    
         | 
| 
       15 
     | 
    
         
            -
             
     | 
| 
       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
         
     | 
| 
      
 15 
     | 
    
         
            +
            ##### File Path: src/views/checkout/steps/payment/options/gpay.tsx
         
     | 
| 
       93 
16 
     | 
    
         | 
| 
       94 
17 
     | 
    
         
             
            ```javascript
         
     | 
| 
       95 
18 
     | 
    
         
             
            import PluginModule, { Component } from '@akinon/next/components/plugin-module';
         
     | 
| 
         @@ -101,31 +24,27 @@ const GPay = () => { 
     | 
|
| 
       101 
24 
     | 
    
         
             
                  props={{
         
     | 
| 
       102 
25 
     | 
    
         
             
                    translations: {
         
     | 
| 
       103 
26 
     | 
    
         
             
                      title: 'Pay with GarantiPay',
         
     | 
| 
       104 
     | 
    
         
            -
                      description: 
     | 
| 
       105 
     | 
    
         
            -
                        'Click the button below to pay for your order using GarantiPay.'
         
     | 
| 
       106 
     | 
    
         
            -
                      ],
         
     | 
| 
      
 27 
     | 
    
         
            +
                      description:
         
     | 
| 
      
 28 
     | 
    
         
            +
                        'Click the button below to pay for your order using GarantiPay.',
         
     | 
| 
       107 
29 
     | 
    
         
             
                      button: 'Pay Now'
         
     | 
| 
       108 
30 
     | 
    
         
             
                    },
         
     | 
| 
       109 
     | 
    
         
            -
                     
     | 
| 
       110 
     | 
    
         
            -
             
     | 
| 
       111 
     | 
    
         
            -
             
     | 
| 
       112 
     | 
    
         
            -
             
     | 
| 
       113 
     | 
    
         
            -
             
     | 
| 
       114 
     | 
    
         
            -
             
     | 
| 
       115 
     | 
    
         
            -
                        < 
     | 
| 
      
 31 
     | 
    
         
            +
                    containerClassName: 'bg-gray-50 rounded-md',
         
     | 
| 
      
 32 
     | 
    
         
            +
                    titleClassName: 'text-2xl font-bold',
         
     | 
| 
      
 33 
     | 
    
         
            +
                    descriptionClassName: 'text-sm',
         
     | 
| 
      
 34 
     | 
    
         
            +
                    buttonClassName: 'bg-primary text-white',
         
     | 
| 
      
 35 
     | 
    
         
            +
                    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">
         
     | 
| 
       116 
39 
     | 
    
         
             
                          {translations.description.map((item, index) => (
         
     | 
| 
       117 
40 
     | 
    
         
             
                            <li key={index}>{item}</li>
         
     | 
| 
       118 
41 
     | 
    
         
             
                          ))}
         
     | 
| 
       119 
     | 
    
         
            -
                        </ 
     | 
| 
      
 42 
     | 
    
         
            +
                        </div>
         
     | 
| 
       120 
43 
     | 
    
         
             
                        <button
         
     | 
| 
       121 
44 
     | 
    
         
             
                          type="submit"
         
     | 
| 
       122 
     | 
    
         
            -
                          className="w-full h- 
     | 
| 
      
 45 
     | 
    
         
            +
                          className="w-full h-9 bg-black-300 text-white"
         
     | 
| 
       123 
46 
     | 
    
         
             
                        >
         
     | 
| 
       124 
     | 
    
         
            -
                          { 
     | 
| 
       125 
     | 
    
         
            -
                            <LoaderSpinner className="w-5 h-5" />
         
     | 
| 
       126 
     | 
    
         
            -
                          ) : (
         
     | 
| 
       127 
     | 
    
         
            -
                            translations.button
         
     | 
| 
       128 
     | 
    
         
            -
                          )}
         
     | 
| 
      
 47 
     | 
    
         
            +
                          {translations.button}
         
     | 
| 
       129 
48 
     | 
    
         
             
                        </button>
         
     | 
| 
       130 
49 
     | 
    
         
             
                      </form>
         
     | 
| 
       131 
50 
     | 
    
         
             
                    )
         
     | 
| 
         @@ -137,14 +56,36 @@ const GPay = () => { 
     | 
|
| 
       137 
56 
     | 
    
         
             
            export default GPay;
         
     | 
| 
       138 
57 
     | 
    
         
             
            ```
         
     | 
| 
       139 
58 
     | 
    
         | 
| 
       140 
     | 
    
         
            -
             
     | 
| 
       141 
     | 
    
         
            -
             
     | 
| 
       142 
     | 
    
         
            -
            ```bash
         
     | 
| 
       143 
     | 
    
         
            -
            /src/app/[commerce]/[locale]/[currency]/orders/garanti-pay-redirect/page.tsx
         
     | 
| 
       144 
     | 
    
         
            -
            ```
         
     | 
| 
      
 59 
     | 
    
         
            +
            ##### File Path: src/app/[commerce]/[locale]/[currency]/orders/garanti-pay-redirect/page.tsx
         
     | 
| 
       145 
60 
     | 
    
         | 
| 
       146 
61 
     | 
    
         
             
            ```javascript
         
     | 
| 
       147 
62 
     | 
    
         
             
            import { GarantiPayRedirect } from '@akinon/pz-gpay/src/routes/garanti-pay-redirect';
         
     | 
| 
       148 
63 
     | 
    
         | 
| 
       149 
64 
     | 
    
         
             
            export default GarantiPayRedirect;
         
     | 
| 
       150 
65 
     | 
    
         
             
            ```
         
     | 
| 
      
 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 
     | 
    
         
            +
            ```
         
     | 
| 
         @@ -44,7 +44,6 @@ type GPayOptionProps = { 
     | 
|
| 
       44 
44 
     | 
    
         
             
                control: Control<GPayForm>;
         
     | 
| 
       45 
45 
     | 
    
         
             
                errors: FieldErrors<GPayForm>;
         
     | 
| 
       46 
46 
     | 
    
         
             
                translations: GPayTranslations;
         
     | 
| 
       47 
     | 
    
         
            -
                loading: boolean;
         
     | 
| 
       48 
47 
     | 
    
         
             
              }) => ReactElement;
         
     | 
| 
       49 
48 
     | 
    
         
             
            };
         
     | 
| 
       50 
49 
     | 
    
         | 
| 
         @@ -79,32 +78,19 @@ export function GPayOption(props: GPayOptionProps) { 
     | 
|
| 
       79 
78 
     | 
    
         
             
              });
         
     | 
| 
       80 
79 
     | 
    
         | 
| 
       81 
80 
     | 
    
         
             
              const [setPaymentOption] = useSetPaymentOptionMutation();
         
     | 
| 
       82 
     | 
    
         
            -
              const [setGPayMethod 
     | 
| 
       83 
     | 
    
         
            -
             
     | 
| 
       84 
     | 
    
         
            -
              const [setCompleteGPay, { isLoading: isCompleteGPayLoading }] =
         
     | 
| 
       85 
     | 
    
         
            -
                useSetCompleteGPayMutation();
         
     | 
| 
      
 81 
     | 
    
         
            +
              const [setGPayMethod] = useSetGPayMethodMutation();
         
     | 
| 
      
 82 
     | 
    
         
            +
              const [setCompleteGPay] = useSetCompleteGPayMutation();
         
     | 
| 
       86 
83 
     | 
    
         | 
| 
       87 
84 
     | 
    
         
             
              const onSubmit: SubmitHandler<GPayForm> = async () => {
         
     | 
| 
      
 85 
     | 
    
         
            +
                if (isPaymentStepBusy) return;
         
     | 
| 
      
 86 
     | 
    
         
            +
             
     | 
| 
       88 
87 
     | 
    
         
             
                setFormError(null);
         
     | 
| 
      
 88 
     | 
    
         
            +
                await setGPayMethod();
         
     | 
| 
       89 
89 
     | 
    
         | 
| 
       90 
     | 
    
         
            -
                 
     | 
| 
       91 
     | 
    
         
            -
                  await setGPayMethod().unwrap();
         
     | 
| 
       92 
     | 
    
         
            -
                } catch (e) {
         
     | 
| 
       93 
     | 
    
         
            -
                  setFormError(translations.error);
         
     | 
| 
       94 
     | 
    
         
            -
                  return;
         
     | 
| 
       95 
     | 
    
         
            -
                }
         
     | 
| 
      
 90 
     | 
    
         
            +
                const response = await setCompleteGPay().unwrap();
         
     | 
| 
       96 
91 
     | 
    
         | 
| 
       97 
     | 
    
         
            -
                 
     | 
| 
       98 
     | 
    
         
            -
                   
     | 
| 
       99 
     | 
    
         
            -
                  if (data?.errors?.non_field_errors) {
         
     | 
| 
       100 
     | 
    
         
            -
                    setFormError(data.errors.non_field_errors);
         
     | 
| 
       101 
     | 
    
         
            -
                  }
         
     | 
| 
       102 
     | 
    
         
            -
                } catch (e: any) {
         
     | 
| 
       103 
     | 
    
         
            -
                  const msg =
         
     | 
| 
       104 
     | 
    
         
            -
                    e?.data?.errors?.non_field_errors ??
         
     | 
| 
       105 
     | 
    
         
            -
                    e?.data?.detail ??
         
     | 
| 
       106 
     | 
    
         
            -
                    translations.error;
         
     | 
| 
       107 
     | 
    
         
            -
                  setFormError(msg);
         
     | 
| 
      
 92 
     | 
    
         
            +
                if (response?.errors?.non_field_errors) {
         
     | 
| 
      
 93 
     | 
    
         
            +
                  setFormError(response.errors.non_field_errors);
         
     | 
| 
       108 
94 
     | 
    
         
             
                }
         
     | 
| 
       109 
95 
     | 
    
         
             
              };
         
     | 
| 
       110 
96 
     | 
    
         | 
| 
         @@ -127,8 +113,7 @@ export function GPayOption(props: GPayOptionProps) { 
     | 
|
| 
       127 
113 
     | 
    
         
             
                  onSubmit,
         
     | 
| 
       128 
114 
     | 
    
         
             
                  control,
         
     | 
| 
       129 
115 
     | 
    
         
             
                  errors: formErrors,
         
     | 
| 
       130 
     | 
    
         
            -
                  translations 
     | 
| 
       131 
     | 
    
         
            -
                  loading: isGPayMethodLoading || isCompleteGPayLoading || isPaymentStepBusy
         
     | 
| 
      
 116 
     | 
    
         
            +
                  translations
         
     | 
| 
       132 
117 
     | 
    
         
             
                });
         
     | 
| 
       133 
118 
     | 
    
         
             
              }
         
     | 
| 
       134 
119 
     | 
    
         |