Skip to content

Commit

Permalink
first commit
Browse files Browse the repository at this point in the history
  • Loading branch information
Novalnet-Technic committed Aug 29, 2022
0 parents commit 333fa4a
Show file tree
Hide file tree
Showing 172 changed files with 11,479 additions and 0 deletions.
78 changes: 78 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
# SprykerB2C Payment Integration by Novalnet
<a href="https://www.novalnet.com/modul/spryker">Spryker Commerce OS</a> is a PHP-based e-commerce system for B2C. Novalnet payment module for Spryker simplifies your daily work by automating the entire payment process, from checkout till collection. This module is designed to help you increase your sales by offering various payment methods on a one-page checkout. The module which is perfectly adjusted to the Spryker shop with top-quality range of services of the payment provider.

## Integration requirements
Novalnet <a href="https://www.novalnet.de/"> merchant account </a> is required for processing all international and local payments through this Spryker payment module. The module is available for the SprykerB2C versions 202204.0 in the following languages: EN & DE

## Key features
- Easy configuration for all payment methods
- One platform for all relevant payment types and related services
- Complete automation of all payment processes
- More than 50 fraud prevention modules integrated to prevent risk in real-time
- No PCI DSS certification required when using our payment module
- Real-time monitoring of the transaction flow from the checkout to the receivables
- Multilevel claims management with integrated handover to collection and various export functions for the accounting
- Automated e-mail notification function concerning payment status reports
- Clear real-time overview and monitoring of payment status
- Automated bookkeeping report in XML, SOAP, CSV, MT940
- Secure SSL- encoded gateways
- Seamless and fast integration of the payment module
- Credit Card with 3D Secure
- On-hold transaction configuration in the shop admin panel
- Easy way of confirmation and cancellation of on-hold transactions (Cancel & Confirm option) for Credit/Debit Cards, Direct Debit SEPA, Direct Debit SEPA with payment guarantee, Invoice, Prepayment & PayPal.
- Refund option for Credit/Debit Cards, Direct Debit SEPA, Direct Debit SEPA with payment guarantee, Invoice, Invoice with payment guarantee, Prepayment, Barzahlen/viacash, Sofort, iDEAL, eps, giropay, PayPal, Przelewy24, PostFinance Card, PostFinance E-Finance & Bancontact.
- Responsive templates

For detailed documentation and other technical inquiries, please send us an email at <a href="mailto:sales@novalnet.de"> sales@novalnet.de </a>

## Integrated payment methods
- Direct Debit SEPA
- Credit/Debit Cards
- Invoice
- Prepayment
- Invoice with payment guarantee
- Direct Debit SEPA with payment guarantee
- iDEAL
- Sofort
- giropay
- Barzahlen/viacash
- Przelewy24
- eps
- PayPal
- PostFinance Card
- PostFinance E-Finance
- Bancontact
- Multibanco

## Installation via Composer

#### Follow the below steps and run each command from the shop root directory
##### 1. Run the below command to install the payment module

```
php composer.phar require "novalnet/sprykerb2c-payment"
```

##### 2. Novalnet - General Configuration
Configure the required settings under
> vendor/novalnet/sprykerb2c-payment/config/config.dist.php
To get the complete installation guide, contact <a href="mailto:sales@novalnet.de"> sales@novalnet.de </a>

## License
See our License Agreement at: https://www.novalnet.com/payment-plugins/free/license

## Documentation & Support
For more information about the Magento 2 Payment Integration by Novalnet, please get in touch with us: <a href="mailto:sales@novalnet.de"> sales@novalnet.de </a> or +49 89 9230683-20<br>

Novalnet AG<br>
Zahlungsinstitut (ZAG)<br>
Feringastr. 4<br>
85774 Unterföhring<br>
Deutschland<br>
Website: www.novalnet.de

## Who is Novalnet AG?
<p>Novalnet AG is a <a href="https://www.novalnet.de/zahlungsinstitut"> leading financial service institution </a> offering payment gateways for processing online payments. Operating in the market as a full payment service provider Novalnet AG provides online merchants user-friendly payment integration with all major shop systems and self-programmed sites.</p>
<p>Accept, manage and monitor payments all on one platform with one single contract!</p>
<p>Our SaaS engine is <a href="https://www.novalnet.de/pci-dss-zertifizierung"> PCI DSS </a> certified and designed to enable real-time risk management, secured payments via escrow accounts, efficient receivables management, dynamic member and subscription management, customized payment solutions for various business models (e.g. marketplaces, affiliate programs etc.) etc.</p>
20 changes: 20 additions & 0 deletions changelog.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
*** Changelog ***

= 1.2.1 - 2022.08.29 =
* Fix - Adjusted the payment module to proceed payment process for the guest checkout

= 1.2.0 - 2022.01.05 =
* New - Implemented Direct Debit SEPA with payment guarantee, Invoice with payment guarantee
* Fix - Compatible for sprykerb2c version 202108.0
* Enhanced - Callback for transactions has been optimized as per the new testcase

= 1.1.0 - 2021.05.08 =
* Fix - Optimized readme instructions in Installation guide
* Enhanced - Adjusted payment methods state machines
* Enhanced - Payment module updated with composer installation and adapted with new v2 API structure

= 1.0.0 - 2019.08.06 =
* - New release



49 changes: 49 additions & 0 deletions composer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
{
"name": "novalnet/sprykerb2c-payment",
"description": "Novalnet module",
"license": "MIT",
"require": {
"php": ">=7.2",
"spryker-shop/checkout-page": "^1.0.0 || ^2.0.0 || ^3.0.0",
"spryker/kernel": "^3.30.0",
"spryker/oms": "^7.0.0 || ^8.0.0 || ^10.0.0 || ^11.0.0",
"spryker/propel-orm": "^1.0.0",
"spryker/quote": "^2.0.0",
"spryker/sales": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^10.0.0 || ^11.0.0",
"spryker/refund": "^5.0.0",
"spryker/step-engine": "^3.0.0",
"spryker/symfony": "^3.0.0",
"spryker/zed-request": "^3.0.0"
},
"autoload": {
"psr-4": {
"Novalnet\\": "src/Novalnet/"
}
},
"require-dev": {
"spryker/checkout": "*",
"spryker/payment": "*",
"spryker/propel": "*",
"spryker/router": "*",
"spryker-shop/shop-application": "*",
"spryker/silex": "*"
},
"suggest": {
"spryker/checkout": "CheckoutPostSaveHookInterface is used.",
"spryker/payment": "If you want to use payment method filtering.",
"spryker-shop/shop-application": "Abstract Yves controller provider is used.",
"spryker/silex": "Silex application is used."
},
"minimum-stability": "dev",
"prefer-stable": true,
"config": {
"preferred-install": "dist",
"sort-packages": true,
"process-timeout": 600
},
"extra": {
"branch-alias": {
"dev-master": "1.0.x-dev"
}
}
}
96 changes: 96 additions & 0 deletions config/Zed/Oms/NovalnetBancontact01.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
<?xml version="1.0" encoding="utf-8"?>
<statemachine
xmlns="http://static.spryker.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://static.spryker.com http://static.spryker.com/oms-01.xsd">

<process name="NovalnetBancontact01" main="true">
<states>
<state name="new" />
<state name="invalid" />
<state name="online transfer pending" />
<state name="waiting for payment" />
<state name="canceled" />
<state name="paid" />
<state name="shipped" />
<state name="refunded" />
<state name="closed" />
</states>

<transitions>
<transition condition="NovalnetPayment/AuthorizationIsApproved" happy="true">
<source>new</source>
<target>online transfer pending</target>
<event>authorize</event>
</transition>

<transition condition="NovalnetPayment/AuthorizationIsError">
<source>new</source>
<target>invalid</target>
<event>authorize</event>
</transition>

<transition condition="NovalnetPayment/PaymentIsAuthorized" happy="true">
<source>online transfer pending</source>
<target>waiting for payment</target>
<event>redirect response</event>
</transition>

<transition condition="NovalnetPayment/PaymentIsPaid" happy="true">
<source>online transfer pending</source>
<target>paid</target>
<event>redirect response</event>
</transition>

<transition condition="NovalnetPayment/PaymentIsCanceled">
<source>online transfer pending</source>
<target>canceled</target>
<event>redirect response</event>
</transition>

<transition condition="NovalnetPayment/CallbackStatusUpdate" happy="true">
<source>waiting for payment</source>
<target>paid</target>
<event>callback paid</event>
</transition>

<transition condition="NovalnetPayment/PaymentIsCanceled">
<source>waiting for payment</source>
<target>canceled</target>
<event>callback canceled</event>
</transition>

<transition happy="true">
<source>paid</source>
<target>shipped</target>
<event>ship</event>
</transition>

<transition condition="NovalnetPayment/PaymentIsRefunded">
<source>shipped</source>
<target>refunded</target>
<event>refund</event>
</transition>

<transition>
<source>shipped</source>
<target>closed</target>
<event>close</event>
</transition>
</transitions>

<events>
<event name="authorize" onEnter="true" command="NovalnetPayment/Authorize" />
<event name="redirect response" />
<event name="on redirect timeout" timeout="1hour" />
<event name="callback paid" />
<event name="callback canceled" />
<event name="capture" manual="true" command="NovalnetPayment/Capture" />
<event name="cancel" manual="true" command="NovalnetPayment/Cancel" />
<event name="ship" manual="true" />
<event name="refund" manual="true" command="NovalnetPayment/Refund" />
<event name="close" timeout="14 days" />
</events>

</process>
</statemachine>
112 changes: 112 additions & 0 deletions config/Zed/Oms/NovalnetBarzahlen01.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
<?xml version="1.0" encoding="utf-8"?>
<statemachine
xmlns="http://static.spryker.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://static.spryker.com http://static.spryker.com/oms-01.xsd">

<process name="NovalnetBarzahlen01" main="true">
<states>
<state name="new" />
<state name="waiting for payment" />
<state name="authorized" />
<state name="canceled" />
<state name="paid" />
<state name="shipped" />
<state name="refunded" />
<state name="closed" />
</states>

<transitions>
<transition condition="NovalnetPayment/AuthorizationIsApproved" happy="true">
<source>new</source>
<target>authorized</target>
<event>authorize</event>
</transition>

<transition condition="NovalnetPayment/PaymentIsCanceled">
<source>new</source>
<target>canceled</target>
<event>authorize</event>
</transition>

<transition condition="NovalnetPayment/WaitingForPayment" happy="true">
<source>new</source>
<target>waiting for payment</target>
<event>authorize</event>
</transition>

<transition condition="NovalnetPayment/WaitingForPayment">
<source>authorized</source>
<target>waiting for payment</target>
<event>waiting for payment</event>
</transition>

<transition condition="NovalnetPayment/PaymentIsCaptured" happy="true">
<source>authorized</source>
<target>waiting for payment</target>
<event>capture</event>
</transition>

<transition condition="NovalnetPayment/PaymentIsCanceled">
<source>waiting for payment</source>
<target>canceled</target>
<event>callback canceled</event>
</transition>

<transition condition="NovalnetPayment/PaymentIsCanceled">
<source>authorized</source>
<target>canceled</target>
<event>callback canceled</event>
</transition>

<transition condition="NovalnetPayment/CallbackStatusUpdate" happy="true">
<source>authorized</source>
<target>paid</target>
<event>callback paid</event>
</transition>

<transition condition="NovalnetPayment/CallbackStatusUpdate" happy="true">
<source>waiting for payment</source>
<target>paid</target>
<event>callback paid</event>
</transition>

<transition condition="NovalnetPayment/PaymentIsVoided">
<source>authorized</source>
<target>canceled</target>
<event>cancel</event>
</transition>

<transition happy="true">
<source>paid</source>
<target>shipped</target>
<event>ship</event>
</transition>

<transition condition="NovalnetPayment/PaymentIsRefunded">
<source>shipped</source>
<target>refunded</target>
<event>refund</event>
</transition>

<transition>
<source>shipped</source>
<target>closed</target>
<event>close</event>
</transition>
</transitions>

<events>
<event name="authorize" onEnter="true" command="NovalnetPayment/Authorize" />
<event name="waiting for payment" />
<event name="callback paid" />
<event name="callback canceled" />
<event name="capture" manual="true" command="NovalnetPayment/Capture" />
<event name="cancel" manual="true" command="NovalnetPayment/Cancel" />
<event name="ship" manual="true" />
<event name="refund" manual="true" command="NovalnetPayment/Refund" />
<event name="close" timeout="14 days" />
</events>

</process>
</statemachine>
Loading

0 comments on commit 333fa4a

Please sign in to comment.