This guide outlines the basic setup and configuration steps for the Concardis Service Connector.
The package is available via Intershop's Public Repository (Artifactory). Furthermore, the following preconditions are required:
To add the Concardis Service Connector into your Intershop 7 system, you can either incorporate the cartridge into an already existing assembly or create a new assembly inheriting from an Intershop-7-based assembly. For details about creating a new assembly, see Recipe: Create a New Assembly Inheriting From an Existing Assembly. If you want to incorporate the cartridge into an already existing assembly, perform the following steps:
Add the following to the build.gradle file of the assembly:
... cartridges { def storefrontCartridges = [ 'app_sf_responsive', 'app_sf_responsive_cm', 'app_sf_responsive_b2c', 'app_sf_responsive_smb', 'as_responsive', 'app_sf_responsive_b2b', 'app_sf_responsive_costcenter', 'as_responsive_b2b', // these are the two cartridges, which we delivered in source code and you have to add these files to your responsive source project 'as_responsive_concardis', 'app_sf_responsive_concardis' ] include(*(storefrontCartridges.collect { project(":$it") }), in:[development, test, production]) ... def concardisPaymentProvider = [ 'ac_payment_concardis', ] include (*(concardisPaymentProvider.collect {"com.intershop.services.payment_concardis:$it"}), in: [development, test, production]) order = listFromAssembly(baseAssembly) + concardisPaymentProvider } ... assemblyBuild { database { inherit(<yourAssembly>) initCartridges = [] } } ...
Adapt the app_sf_responsive_concardis/build.gradle file in the following way:
apply plugin: 'static-cartridge' intershop { displayName = 'Adapter - Payment Concardis - Business Extensions' } dependencies { // compile project(':ac_payment_concardis') --> will be replaced by compile group: 'com.intershop.services.payment_concardis', name: 'ac_payment_concardis' compile group: 'com.intershop', name: 'api_service' ... }
Adjust the file as_responsive_concardis/build.gradle in a similar way:
... dependencies { // compile project(':ac_payment_concardis') --> will be replaced by compile group: 'com.intershop.services.payment_concardis', name: 'ac_payment_concardis' compile project(':app_sf_responsive_concardis') } ...
Insert the following lines into the file intershopBuild.version:
com.intershop.services.payment_concardis:ac_payment_concardis = 2.0.0
For details about adding components to an assembly, see Recipe: Add Cartridges to an Assembly.
For details about managing assembly artifacts see:
Before deploying the new assembly to a test or production environment, you may have to adjust some file-based configurations required by the Concardis Service Connector.
The Concardis Service Connector requires the following settings:
Property | Description | Value |
---|---|---|
intershop.payment.Concardis.apiBaseUrl.sandbox | Defines the base URL used for requests to the Concardis sandbox. Default: https://apitest.payengine.de/v1 Leave at default value unless URL of API endpoint on Concardis changes. | URL to the sandbox (provided by Concardis) |
intershop.payment.Concardis.apiBaseUrl.live | Defines the base URL used for requests to the Concardis live environment. Default: https://api.payengine.de/v1 Leave at default value unless URL of API endpoint on Concardis changes. | URL to the live system (provided by Concardis) |
intershop.payment.Concardis_CreditCard.currencies | Defines which currencies are configurable for Concardis Credit Card. Default: * (all currencies) | comma-separated list, e.g., EUR, USD |
intershop.payment.Concardis_CreditCard.cvcmaxage ( only in Concardis 1.11.7 and newer ) | Defines the maximum time for which CVC remains valid in minutes. The value must be smaller or equal to the valid time on Concardis side (30 minutes). Default: 25 (minutes) | Integer, e.g. 25 |
intershop.payment.Concardis_EPS.currencies | Defines which currencies are configurable for Concardis EPS. Default: EUR | comma-separated list, e.g., EUR, USD |
intershop.payment.Concardis_Giropay.currencies | Defines which currencies are configurable for Concardis Giropay. Default: EUR | comma-separated list, e.g., EUR, USD |
intershop.payment.Concardis_iDEAL.currencies | Defines which currencies are configurable for Concardis iDEAL. Default: EUR | comma-separated list, e.g., EUR, USD |
intershop.payment.Concardis_PayPal.currencies | Defines which currencies are configurable for Concardis PayPal. Default: * (all currencies) | comma-separated list, e.g., EUR, USD |
intershop.payment.Concardis.DirectDebit.countries | Defines which currencies are configurable for Concardis SEPA Direct Debit. Default: EUR | comma-separated list, e.g., EUR, USD |
intershop.payment.Concardis_Sofort.currencies | Defines which currencies are configurable for Concardis Sofort. Default: EUR, CHF | comma-separated list, e.g., EUR, USD |
intershop.payment.Concardis_Alipay.currencies | Defines which currencies are configurable for Concardis Alipay. Default: AUD,CAD,EUR,GBP,HKD,SGD,USD,NZD | comma-separated list, e.g., EUR, USD |
intershop.payment.Concardis_WeChatpay.currencies | Defines which currencies are configurable for Concardis WeChat Pay. Default: EUR, USD, GBP | comma-separated list, e.g., EUR, USD |
intershop.payment.Concardis_Bancontact.currencies | Defines which currencies are configurable for Concardis Bancontact. Default: EUR | comma-separated list, e.g., EUR, USD |
According to Recipe: Change Deployed File Content With Filters this setting has to be overridden within <IS_SHARE>/system/config/cartridges/ac_payment_concardis.properties.
For details about adding new configuration files, see Recipe: Deploy Custom Files.
Additionally, the countries where a payment method is available can be defined in <IS_SHARE>/system/cartridges/ac_payment_concardis/release/config/countriesConfigurations.properties. The values can be defined as whitelist or blacklist.
Property | Description | Value |
---|---|---|
intershop.payment.Concardis.CreditCard.countries | Defines for which country of the invoice address the payment method Credit Card is available. Default: * (all countries) | comma-separated list of 2-digit country codes (ISO 3166-1) |
intershop.payment.Concardis.EPS.countries | Defines for which country of the invoice address the payment method EPS is available. Default: AT | comma-separated list of 2-digit country codes (ISO 3166-1) |
intershop.payment.Concardis.Giropay.countries | Defines for which country of the invoice address the payment method Giropay is available. Default: DE | comma-separated list of 2-digit country codes (ISO 3166-1) |
intershop.payment.Concardis.IDeal.countries | Defines for which country of the invoice address the payment method iDEAL is available. Default: NL | comma-separated list of 2-digit country codes (ISO 3166-1) |
intershop.payment.Concardis.PayPal.countries | Defines for which country of the invoice address the payment method PayPal is available. Default: * (all countries) | comma-separated list of 2-digit country codes (ISO 3166-1) |
intershop.payment.Concardis.DirectDebit.countries | Defines for which country of the invoice address the payment method SEPA Direct Debit is available. Default: DE, CH, AT | comma-separated list of 2-digit country codes (ISO 3166-1) |
intershop.payment.Concardis.Sofort.countries | Defines for which country of the invoice address the payment method Sofort is available. Default: DE, AT, CH, NL, BE, ES, IT | comma-separated list of 2-digit country codes (ISO 3166-1) |
intershop.payment.Concardis.Alipay.countries.exclude | Defines for which country of the invoice address the payment method Alipay is not available. Default: CN | comma-separated list of 2-digit country codes (ISO 3166-1) |
intershop.payment.Concardis.WeChatpay.countries.exclude | Defines for which country of the invoice address the payment method WeChat Pay is not available. Default: CN | comma-separated list of 2-digit country codes (ISO 3166-1) |
intershop.payment.Concardis.Bancontact.countries | Defines for which country of the invoice address the payment method Bancontact is available. Default: BE | comma-separated list of 2-digit country codes (ISO 3166-1) |
The values are dependent on the countries that are supported for these payment methods by Concardis.
After creating and appropriately configuring the assembly, you must deploy it to the intended target environment.
For details about deploying an assembly, see Recipe: Run the Deployment (Initial Installation / Upgrade / Downgrade).
Note
The Concardis Service Connector requires additional post-deployment configuration steps. For details, refer to Configuration.
This section outlines the required post-deployment configuration steps, including
The Concardis Service Connector requires some post-deployment configurations in the Organization Management application and in the Commerce Management application.
For details about enabling a payment service see Cookbook - Payment | Recipe: Enable a Payment Service.
Go to Services | Payment Services.
Select the new payment service.
Click Next.
Enter a Payment Service Name.
Enter "Service ID".
Select the checkbox Active.
Select the checkbox Available.
Click Next.
Enter all Concardis general settings.
Card Number Style ID and CVC Style ID are mandatory when using the PWA (Progressive Web App Storefront).
Enter all logging settings.
Enter all monitoring settings.
Click Next.
Select the Sharing Rule.
(When setting up in the organization area, the service must necessarily be shared to the channel.)
Click Finish.
The table below lists Concardis-specific settings for configuring the payment service.
Name | Payment Methods | Description |
---|---|---|
Merchant ID | All | The merchant account's merchant ID as provided by Concardis |
API Key | All | The merchant account's API Key as provided by Concardis |
System health status expiration time | All | Insert the time interval in seconds which checks if the Payengine service is available. If the service is offline, the payment methods are hidden at the payment page in the checkout. |
Card Number Style ID | Credit Card | In the Concardis Merchant Center the Credit Card input field can be styled with CSS class. Enter the Style ID which was generated in the Merchant Center here. |
CVC Style ID | Credit Card | In the Concardis Merchant Center the CVC input field can be styled with CSS class. Enter the Style ID which was generated in the Merchant Center here. |
Capture | All | Capture "Auto" will automatically do authorization and capture in one step. Capture "Manual" separates authorization from capture process, so capture has to be done manually at the order when the items are shipped. |
Environment | All | Defines whether "Sandbox" for test and development is used or "Live" for production. |
Submit Order Details | All | This enables or disables the ability to send all product line item information to Concardis. |
Submit Address Details | All | This enables or disables the transfer of the address to Concardis. Choose "No Address Submission" for no transmission or "Address Field Mapping" to provide custom mapping. Please leave this setting on "No Address Submission" in case the address is stored as single attribute on ICM side. |
Street Mapping | All | Only available if the option "Address Field Mapping" was set for the option Submit Address Details. Maps an address line to the field "street" on Concardis side. |
House Number Mapping | All | Only available if the option "Address Field Mapping" was set for the option Submit Address Details. Maps an address line to the field "house number" on Concardis side. |
The CSS file has to be customized to style the Credit Card and CVC input field, which will be displayed to the customer in the checkout payment step. Therefore, two custom styles must be created in the Payment Merchant Center.
This can be done in the Payment Merchant Center:
payengine-credit-card-input
.payengine-verification-input
. Note
Configuring payment methods in a sales channel requires the access privilege Payment Manager for this channel.
To enable the payment method for the channel,
log into Commerce Management and perform the following steps:
The Concardis Service Connector provides English, French, and German localization files for payment-specific input field labels.
You can find the existing localization files here: <IS.INSTANCE.SHARE>/system/cartridges/ac_payment_concardis/release/localizations.
For details about localization see Concept - Localization.
Adjust your firewall settings to allow bidirectional HTTPS traffic between Intershop 7 and Concardis. Make sure that the <host>:<port>/INTERSHOP/rest/WFS/inSPIRED-inTRONICS-Site/-/concardis/notifications/*
is accessible from the Concardis IP addresses only. Please contact your Concardis account manager to ask for more details about the valid IP addresses.
It is possible to add a custom applicability check in order to display the payment method only if additional conditions are met.
To provide a custom check in one of the payment methods (e.g., CreditCard), you need to create a new class:
public class CustomCreditCardApplicabilityCheckImpl implements ApplicabilityCheck { @Override Result<ApplicabilityResult> getApplicability(Payable payable, String serviceName, BaseConfiguration baseConfiguration); { Result<ApplicabilityResult> result = new Result<>(new ApplicabilityResult()); result.setState(ApplicabilityResult.APPLICABLE); boolean customConditionMet = true; // do your additional checks, e.g. based on data in `Payable` if (! customConditionMet ) { result.setState(ApplicabilityResult.NOT_APPLICABLE); } return result; } }
The current Payable is handed in, so you can compute the applicability of the payment method based on the data.
Then you need to bind your class in a custom Guice Module. In this case it has to be something like this:
Multibinder<ApplicabilityCheck> applicabilityBinder = Multibinder.newSetBinder(binder(), ApplicabilityCheck.class, named("Concardis_CreditCard_ApplicabilityChecks")); applicabilityBinder.addBinding().to(CustomCreditCardApplicabilityCheckImpl.class).in(Singleton.class);