Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add schufa module, DEV-793 #57

Open
wants to merge 18 commits into
base: gh-pages
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 12 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 21 additions & 17 deletions Gemfile.lock
Original file line number Diff line number Diff line change
@@ -1,19 +1,23 @@
GEM
remote: https://rubygems.org/
specs:
activesupport (7.1.4)
activesupport (8.0.0)
base64
benchmark (>= 0.3)
bigdecimal
concurrent-ruby (~> 1.0, >= 1.0.2)
concurrent-ruby (~> 1.0, >= 1.3.1)
connection_pool (>= 2.2.5)
drb
i18n (>= 1.6, < 2)
logger (>= 1.4.2)
minitest (>= 5.1)
mutex_m
tzinfo (~> 2.0)
securerandom (>= 0.3)
tzinfo (~> 2.0, >= 2.0.5)
uri (>= 0.13.1)
addressable (2.8.7)
public_suffix (>= 2.0.2, < 7.0)
base64 (0.2.0)
benchmark (0.4.0)
bigdecimal (3.1.8)
coffee-script (2.4.1)
coffee-script-source
Expand All @@ -33,13 +37,13 @@ GEM
ethon (0.16.0)
ffi (>= 1.15.0)
eventmachine (1.2.7)
execjs (2.9.1)
faraday (2.12.0)
faraday-net_http (>= 2.0, < 3.4)
execjs (2.10.0)
faraday (2.12.1)
faraday-net_http (>= 2.0, < 3.5)
json
logger
faraday-net_http (3.3.0)
net-http
faraday-net_http (3.4.0)
net-http (>= 0.5.0)
ffi (1.17.0)
forwardable-extended (2.6.0)
gemoji (4.1.0)
Expand Down Expand Up @@ -211,7 +215,7 @@ GEM
gemoji (>= 3, < 5)
html-pipeline (~> 2.2)
jekyll (>= 3.0, < 5.0)
json (2.7.2)
json (2.8.2)
kramdown (2.4.0)
rexml
kramdown-parser-gfm (1.1.0)
Expand All @@ -222,14 +226,13 @@ GEM
rb-inotify (~> 0.9, >= 0.9.10)
logger (1.6.1)
mercenary (0.3.6)
mini_portile2 (2.8.7)
mini_portile2 (2.8.8)
minima (2.5.1)
jekyll (>= 3.5, < 5.0)
jekyll-feed (~> 0.9)
jekyll-seo-tag (~> 2.1)
minitest (5.25.1)
mutex_m (0.2.0)
net-http (0.4.1)
net-http (0.5.0)
uri
nokogiri (1.16.7)
mini_portile2 (~> 2.8.2)
Expand All @@ -244,7 +247,7 @@ GEM
rb-fsevent (0.11.2)
rb-inotify (0.11.1)
ffi (~> 1.0)
rexml (3.3.7)
rexml (3.3.9)
rouge (3.30.0)
rubyzip (2.3.2)
safe_yaml (1.0.5)
Expand All @@ -256,6 +259,7 @@ GEM
sawyer (0.9.2)
addressable (>= 2.3.5)
faraday (>= 0.17.3, < 3)
securerandom (0.3.2)
simpleidn (0.2.3)
terminal-table (1.8.0)
unicode-display_width (~> 1.1, >= 1.1.1)
Expand All @@ -264,8 +268,8 @@ GEM
tzinfo (2.0.6)
concurrent-ruby (~> 1.0)
unicode-display_width (1.8.0)
uri (0.13.1)
webrick (1.8.2)
uri (1.0.2)
webrick (1.9.0)

PLATFORMS
ruby
Expand All @@ -275,4 +279,4 @@ DEPENDENCIES
webrick (~> 1.8)

BUNDLED WITH
2.5.10
2.5.23
13 changes: 8 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,13 @@
https://docs.customgento.com

## How to Work on this Documentation (these commands do not work with fish, use bash to run them instead)
1. You need to have Jekyll installed. To install it, follow instructions on https://jekyllrb.com/docs/installation/ubuntu/.

1. You need to have Jekyll installed. To install it, follow instructions
on https://jekyllrb.com/docs/installation/ubuntu/.
2. Clone the repository to your local machine.
3. Open your terminal and navigate to your project (see instructions on https://idratherbewriting.com/documentation-theme-jekyll/#option2).
- When you need to update your dependencies run `bundle update`.
- Otherwise run `bundle install` instead (update would be recommended though).
3. Open your terminal and navigate to your project (see instructions
on https://idratherbewriting.com/documentation-theme-jekyll/#option2).
- When you need to update your dependencies run `bundle update`.
- Otherwise, run `bundle install` instead (update would be recommended though).
4. Build the site with `bundle exec jekyll serve`
5. The site should now run locally at https://localhost:4000/.
5. The site should now run locally at http://127.0.0.1:4000.
22 changes: 9 additions & 13 deletions _data/sidebars/home_sidebar.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,25 +8,21 @@ entries:
- title: Extensions (Magento 2)
output: web
folderitems:
- title: ChildProductData
- title: Child Product Data
url: /child-product-data-m2.html
output: web
- title: ConfigurableTierPrices
url: /tier-prices-for-configurable-products-m2.html
output: web
- title: MassUpdateTierPrices
- title: Mass Update Tier Prices
url: /mass-update-tier-prices-m2.html
output: web
- title: SCHUFA Credit Report
url: /schufa-credit-report-m2.html
output: web
- title: Tier Prices For Configurable Products
url: /tier-prices-for-configurable-products-m2.html
output: web
- title: Extensions (Magento 1)
output: web
folderitems:
- title: ConfigurableTierPrices
- title: Tier Prices For Configurable Products
url: /tier-prices-for-configurable-products-m1.html
output: web

# - title: ProductBadges (Magento 1)
# url: /product-badges-m1.html
# output: web
# - title: BankIntegration
# url: /bank-integration-m1.html
# output: web
40 changes: 40 additions & 0 deletions _data/sidebars/scr_m2_sidebar.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# This is your sidebar TOC. The sidebar code loops through sections here and provides the appropriate formatting.

entries:
- title: Sidebar
levels: one
folders:

- title: SchufaCreditReport (M2)
output: web
folderitems:
- title: Description
url: "#description"
output: web
- title: Requirements
url: "#requirements"
output: web
- title: Compatibility
url: "#compatibility"
output: web
- title: Installation Instructions
url: "#installation-instructions"
output: web
- title: Configuration
url: "#configuration"
output: web
- title: Troubleshooting
url: "#troubleshooting---i-installed-the-extension-but-it-does-not-work"
output: web
- title: Uninstallation
url: "#uninstallation"
output: web
- title: Support
url: "#support"
output: web
- title: Licence
url: "#licence"
output: web
- title: Copyright
url: "#copyright"
output: web
Binary file added images/schufa-credit-report-m2/general-group.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/schufa-credit-report-m2/rules-group.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions pages/child-product-data-m2.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,8 @@ If you do not want to change the data for a specific attribute, you can simply l
- php: `~7.4.0||~8.1.0||~8.2.0||~8.3.0`

## Compatibility
- Hyv&auml; Theme >= `1.0.0`
- Magento >= `2.4`
- Magento Open Source / Adobe Commerce >= `2.4`
- Hyv&auml; Themes >= `1.0.0`

## Installation Instructions
The installation procedure highly depends on your setup. In any case, you should use a version control system like git and test the installation on a development system.
Expand Down
2 changes: 1 addition & 1 deletion pages/mass-update-tier-prices-m2.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ After the updates have been processed, go back to your product overview, open on
- magento/module-ui `~101.1`

## Compatibility
- Magento >= 2.4
- Magento Open Source / Adobe Commerce >= 2.4

## Installation Instructions
The installation procedure highly depends on your setup. In any case, you should use a version control system like git and test the installation on a development system.
Expand Down
120 changes: 120 additions & 0 deletions pages/schufa-credit-report-m2.md
iranimij marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
@@ -0,0 +1,120 @@
---
title: SCHUFA Credit Report (Magento 2)
permalink: schufa-credit-report-m2.html
summary: "The SCHUFA Credit Report module for Magento 2 allows you to check the creditworthiness of your customers in order to allow / block certain payment methods."
sidebar: scr_m2_sidebar
toc: false
---

## Description

This module checks the customer's SCHUFA score as soon as a customer tries to place an order with a specific payment
method and based on the retrieved score from Schufa the extension might block the order placement. If the payment
iranimij marked this conversation as resolved.
Show resolved Hide resolved
method is blocked, the customer will see an error explaining the reason for blocking the payment method. Also, the
respective payment method will be hidden from this specific customer. For each payment method, the minimum required
iranimij marked this conversation as resolved.
Show resolved Hide resolved
SCHUFA score can be configured in the backend configuration, so you can decide for each payment method individually.
iranimij marked this conversation as resolved.
Show resolved Hide resolved

**The module also works with Hyv&auml; Checkout.**

## Requirements

- ext-curl: `*`,
- magento/framework `^103.0`
- magento/module-checkout `^100.4`
- magento/module-payment `^100.4`
- PHP `~8.1.0||~8.2.0||~8.3.0`

## Compatibility

- Magento Open Source / Adobe Commerce >= 2.4
- Hyv&auml; Checkout >= 1.1.23

## Installation Instructions

The installation procedure highly depends on your setup. In any case, you should use a version control system like git
and test the installation on a development system.
If you are using Composer (you should!) and downloaded the extension from the Marketplace or have set up your own
Composer repository, we recommend installing via Composer.

### Composer Installation

1. `composer require customgento/module-schufa-credit-report-m2`
2. `bin/magento module:enable CustomGento_SchufaCreditReport`
3. `bin/magento setup:upgrade`
4. `bin/magento setup:di:compile`
5. `bin/magento cache:flush`

### Manual Installation

1. Unzip the downloaded files
2. Create the directory `app/code/CustomGento/SchufaCreditReport/`:
`mkdir -p app/code/CustomGento/SchufaCreditReport/`
3. Copy the unzipped files to the newly created directory `app/code/CustomGento/SchufaCreditReport/`
4. `bin/magento module:enable CustomGento_SchufaCreditReport`
5. `bin/magento setup:upgrade`
6. `bin/magento setup:di:compile`
7. `bin/magento cache:flush`

## Configuration

You find the settings under Stores > Configuration > Sales > SCHUFA. There are two configuration groups: "General" and
"Rules". In the "General" group, you can enable the extension and configure the API credentials. In the "Rules" group,
you can set the score threshold for each payment method.

![Configure General Settings for SCHUFA Credit Report]({{ " images/schufa-credit-report-m2/general-group.png" }} "Configure General Settings for SCHUFA Credit Report")
iranimij marked this conversation as resolved.
Show resolved Hide resolved

- **Enable** Whether the extension should be enabled or not.
- **Test/Live** If the extension should use the test or live mode, if it is test mode, the extension will use the test API URL.
iranimij marked this conversation as resolved.
Show resolved Hide resolved
- **Client Id** The SCHUFA client id you get from the SCHUFA support.
- **Client Certificate** The contents of the client certificate file you get from the SCHUFA support.
- **Client Key** The content of the client key file you get from the SCHUFA support.
iranimij marked this conversation as resolved.
Show resolved Hide resolved
- **Passphrase** The passphrase for the client key file.
iranimij marked this conversation as resolved.
Show resolved Hide resolved

![Rules configuration for SCHUFA Credit Report module]({{ " images/schufa-credit-report-m2/rules-group.png" }} "Rules configuration for SCHUFA Credit Report module")

- **Minimum Order Value** The module just checks the score if the order value is greater than this value.
- **Maximum Number Of Failed Credit Reports** The maximum number of failed credit reports before the customer is blocked.
- **Require Verified Identity** Whether a verified identity of the customer is required. If you enable this setting and the SCHUFA cannot clearly identify the customer, the respective payment method will be blocked.
iranimij marked this conversation as resolved.
Show resolved Hide resolved
- **Payment** Define which payment methods should be checked by the module. You can add as many payment methods as you want. If you do not configure a specific payment method there and someone orders with this payment method, no SCHUFA score will be checked at all.
- **Payment Method** The payment method to check.
- **Rating Level/ Risk Ratio** The minimum score to allow the payment method. If the rating level is below this threshold, the payment method will be blocked. for example in the above image if a customer chose Bank Transfer Payment method and his Rating Level is below 75% the payment method will be blocked.
iranimij marked this conversation as resolved.
Show resolved Hide resolved
iranimij marked this conversation as resolved.
Show resolved Hide resolved
- **Maximum Order Total** The maximum order total to allow the payment method. If the order total is above this threshold, the payment method will be blocked.
iranimij marked this conversation as resolved.
Show resolved Hide resolved

## Troubleshooting - I installed the extension, but it does not work

1. Do you use the latest version of the extension?
2. Do you use Magento >= 2.4?
3. Do you really use the correct SCHUFA API credentials?
4. Are you using the correct certification files?
5. Make sure to test it in incognito mode or clear the cache.
6. Make sure that the extension is **not** disabled under Stores > Configuration > Sales > SCHUFA.
7. Make sure that the SCHUFA Credit Report is enabled in the payment methods configuration.

## Uninstallation

The uninstallation procedure depends on your setup:

### Uninstallation After Composer Installation

1. `bin/magento module:uninstall CustomGento_SchufaCreditReport`
iranimij marked this conversation as resolved.
Show resolved Hide resolved
2. `bin/magento setup:di:compile`
3. `bin/magento cache:flush`

### Uninstallation After Manual Installation

1. `bin/magento module:disable CustomGento_SchufaCreditReport`
2. `bin/magento setup:di:compile`
3. `bin/magento cache:flush`
4. `rm -r app/code/CustomGento/SchufaCreditReport`

## Support

If you have any issues with this extension, feel free to [contact us](https://www.customgento.com/){:target="_blank"}!

## Licence

[CustomGento Commercial Software Licence](https://www.customgento.com/license){:target="_blank"}

## Copyright

&copy; 2024 - present CustomGento GmbH
3 changes: 1 addition & 2 deletions pages/tier-prices-for-configurable-products-m2.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,8 +59,7 @@ Given your simple products, which are assigned to configurable products, are als
- magento/module-store `~101.0`

## Compatibility
- Magento Open Source >= 2.3
- Adobe Commerce >= 2.3
- Magento Open Source / Adobe Commerce >= 2.3

## Installation Instructions
The installation procedure highly depends on your setup. In any case, you should use a version control system like git and test the installation on a development system.
Expand Down