Release History

VersionDateChanges
22.1.02021-11-08initial release 
23.1.02023-03-22Challenge preferences for 3DSV2
23.2.02024-02-05Paypal and Instanea methods


Introduction

Axepta BNP Paribas payment platform accept payment orders, process the data and carry out the merchant’s payment transactions in a secure way.

In order to send payment orders to the payment platform Axepta BNP Paribas, the merchant:

● Connects via Internet to the payment platform.

● Sends the required payment data in a defined homogeneous format.


Regardless of the payment method, the same parameters are transmitted so that all payment methods operate in the same way and require no additional effort.  Axepta BNP Paribas cartridge enables merchants to manage the different payment methods and their various options (Refund, Payment One click). The cartridge provides several options for adding payment specific details (credit card or debit card information) during the checkout process: through a hosted page that is, external to the Salesforce Commerce Cloud platform or via an iframe on the merchant’s Salesforce Commerce Cloud storefront.

This document fully describes how to install the cartridge and integrate it into the online store. It is required for the merchant to first contact Axepta BNP Paribas and request an account for the integration to work properly. Axepta support provide a testing and production accounts for the merchant.

There are also  a configuration to be made in Salesforce Commerce Cloud Business Manager. Axepta BNP Paribas cartridge currently supports the following payment methods:

  • CB / VISA / MasterCard
  • American Express
  • FLOA Pay
  • PayPal


Axepta BNP Paribas cartridge is developed based on en_US locale but it can be configured in any locale needed. The location of payment data storage is very important for the security of the payments online. The card organizations have established a security program with the PCI security authorization (Payment Card Industry) in order to guarantee the secure storage of card data. Also, the cartridge doesn’t perform any request of PCI sensitive information.

This cartridge is available for the 2 versions of SFCC (SFRA or Sitegenesis)


Compatibility

Axepta integration cartridge was certified with the version of Salesforce Commerce Cloud : currently API version 22.10, Site Genesis version 104.1.3 and SFRA version 5.3.0. It is typically backward compatible with older versions since it uses common and stable methods accessing the Customer, Order and Payment system objects.

Currently, SFRA version 6.x and above are not supported.

Component Overview

Functional Overview

Bussiness Manager Extenstion for Axepta

Merchants can configure the Axepta cartridge features from the Salesforce Commerce Cloud BM. On the Business Manager page each merchant can configure the connection to Axepta. The merchant will have to enter the credentials received when opening an account with Axepta in order to create a connection to the platform.

Hosted iFrame Mode

The cartridge enables the merchant to use the Axepta payment solutions via an iframe that is integrated into his own Salesforce Commerce Cloud implementation.

Hosted Form Mode

The cartridge supports the hosted payment page approach, where the payment information is entered directly on pages that are hosted and provided by Axepta. During the checkout process, when the customer selects to use one of the payment methods for which the hosted form mode is enabled, he/she will be redirected to the Axepta hosted payment pages in order to complete the order. Once the order is completed, the customer is returned to the merchant’s store, where he/she can review the order summary.

Payment Methods

The cartridge allows the customer to select and use a variety of payment methods in order to complete the checkout process. The available payment methods and afferent configurations are handled via an activation key which Axepta provides, which is configured in Bussiness Manager.

Account configuration

The cartridge supports multiple accounts configuration. Each account can be customized according to the merchant’s needs, by accessing the Axepta Module > Accounts Configuration screen and editing the options.

Manage Orders

The custom order manager screen provided with the Axepta cartridge allows the merchant to perform operations on each individual order, as well as viewing the order information, payment details and notes.

Axepta Signature

A signature verification mechanism is available for verifying the content of requests and redirections between the merchant site and the Axepta platform. Every request it is signed with a string parameter that ensures the request’s origin and integrity, hashed with a SHA256 algorithm.

Supported Operations

The cartridge supports both authorization and payment operations, as well as partial or total refunds. Each operation is triggered according to the payment method selected by the customer during the checkout process.

Payment

In this case the capture is requested automatically after the authorization. If the capture is not successful, the customer (the buyer) is redirected to an error page. If the capture is successful, the customer is redirected to a success page and completes the checkout process.

Authorization

In this case the customer (the buyer) is not charged automatically or direct after the order is placed. The merchant has a defined amount of time to capture the amount money from the customer. Only total capture is supported by the cartridge. The capture can be triggered in a number of ways :

  • automatically within a set time period, which can be configured by the merchant in the setting for the Deffered Payment Option


  • via a job, which will capture the amount for all orders that have shipping status = “Shipped”

Cancel

It is possible to cancel an order by accessing the Axepta Module > Manage Orders > Order Details screen. An order can only be cancelled if it has not been captured yet. Otherwise, the merchant will be offered to perform a refund.

Refund

The cartridge offers the merchant the possibility to perform partial or total refund for an order, by accessing the Axepta Module > Manage Orders > Order Details screen. This operation enables the merchant to credit funds back to an end-user following a previous debit and it is always linked to a succesfull payment or capture transaction.

Uses Cases

During the checkout, the customer can select to complete the process using one of the available payment methods :

  • Bank card (CB, Visa, Mastercard)
  • American Express

Each payment method can be customized by the merchant in Bussiness Manager > Axepta Module > Accounts Configuration section. A variety of options can be enabled as well and customized, options that will be taken into account during the checkout process, according to the specifications set by the merchant :

  • Standard Payment: this option triggers a payment operation
  • Deffered Payment: this option triggers an authorization operation, which needs to be followed by a
  • Capture
  • Manually for each order, by accessing the order details from the Axepta Module > Manage Orders screen

Two integration modes are in use for the Axepta cartridge in order to process the transactions :

  • Hosted form: the shopper is redirected to Axepta’s hosted payment page.
  • Hosted form inside an iframe: the Axepta’s hosted payment page is displayed inside an iframe.

After completing the payment, the shopper is returned to the shop's notification URL. This notification URL can be configured and contains the result of the payment (success or fail) . The data received in the notifications is added in the form of notes to the order details.

Both registered and guest customers will follow the standard checkout flow, with the following branching :

  • When the shopper selects a payment method for which hosted form mode is enabled, he will no longer enter his credit card details in the payment page of the shop, but will be redirected instead for the Axepta payment page. Once the customer has confirmed the order, he/she is returned to the merchant’s shop, on  the order summary page after a successful transaction or on the order confirmation page if the order was canceled or the payment was refused.
  • When the shopper is authenticated and selects a credit card payment method, he will have several options presented, and once a selection is made, the normal checkout flow is continued :


              - Use a new credit card and save it

                    - Use a new credit card without saving it

                    - Use an already saved credit card

                    - Edit and use an existing card

Sample of testing scenarios :

  •  All test scenarios involve successful and declined payments
  • Test scenarios should be done with every available payment method and option
  • The used currency should be EUR or USD
  • If for a payment method on a hosted page there is an emulation page, all options (e.g. cancel, exception, decline) should be used as an outcome to test how the system will behave
  • When making a payment a Salesforce Commerce Cloud Order object changes its status as follows :

                       - CREATED - the iFrame page has been shown – the Basket has been cleared – the order may stay/hang in this status if the process did not complete properly (bug) or the user abandons the Iframe or Hosted page and does not   complete the payment

                       - NEW – the Iframe has been closed with an accept – the Order changed it’s status

                       - OPEN – the Order has been viewed in DW Business Manager after it was in status NEW

                       - FAILED – all cases of cancel and decline

UC – 1

Summary :

Customer places an order as guest or authenticated, using a payment method with hosted form mode enabled

Preconditions :

  • Bank Card or American Express payment methods are enabled in Bussiness Manager > Merchant Tools > Axepta Module > Account Configuration
  • Hosted form mode is selected for the enabled payment method

Steps :

1. Customer navigates to the site, selects some products and adds them to cart

2. Customer initiates the checkout flow and fills in the required information in the shipping form

3. Customer fills in the required information in the billing form

4. Customer proceeds to the payment step and selects the payment method and proceed to last step

5. The customer is redirected to the Axepta Payment Page where he/she will add the credit card information and proceeds to placing the order

6. After a succesfull payment, he/she is redirected to the Order Summary page

7. Customer can verify the Order Summary information

8. The merchant can verify the order details, payment information and notifications Bussiness Manager >Merchant Tools > Axepta Module > Manage Orders

9. The merchant can verify the information in the Axepta Extranet platform

UC – 2

Summary :

Customer places an order as guest or authenticated, using a payment method with iframe form mode enabled

Preconditions :

  • Bank Card or American Express payment methods are enabled in Bussiness Manager > Merchant Tools > Axepta Module > Account Configuration
  • Iframe form mode is selected for the enabled payment method

Steps :

1. Customer navigates to the site, selects some products and adds them to cart

2. Customer initiates the checkout flow and fills in the required information in the shipping form

3. Customer fills in the required information in the billing form

4. Customer proceeds to the payment step and selects the payment method and proceed to last step

5. The iframe with form is displayed where the customer will add the credit card information and proceeds to placing the order

6. After a succesfull payment, he/she is redirected to the Order Summary page

7. Customer can verify the Order Summary information

8. The merchant can verify the order details, payment information and notifications Bussiness Manager > Merchant Tools > Axepta Module > Manage Orders

9. The merchant can verify the information in the Axepta Extranet platform

UC – 3

Summary :

Customer places an order as authenticated user, using Bank Card or American Express payment method with One Click option enabled

Preconditions :

  • Bank Card and/or American Express payment methods are enabled in Bussiness Manager > Merchant Tools > Axepta Module > Account Configuration

Steps :

1. Customer navigates to the store and logs in with a pre-existing account

2. Customer selects some products and adds them to cart then initiates the checkout process

3. Customer fills in the required information in the shipping and billing forms

4. Customer proceeds to the payment step and selects the payment method

5. The customer selects in the form one of the presented options: use new card, use pre-saved card or edit and use presaved card

6. Customer proceeds to last checkout step and presses on Place Order button

7. After a succesfull payment, he/she is redirected to the Order Summary page

8. The merchant can verify the order details, payment information and notifications in Bussiness Manager > Merchant Tools > Axepta Module > Manage Orders

9. The merchant can verify the information in the Axepta Extranet platform

UC – 4

Summary :

The merchant performs a manual capture/refund operations on a new order

Preconditions :

  • Orders have been placed, with New or Open status

Steps :

1. Merchant Navigates to Bussiness Manager > Merchant Tools > Axepta Module > Manage Orders and opens the order details screen for an existing order

2. The merchant triggers the available operation (capture or refund)

3. A message is presented to the merchant with the status of the operation (success or failure)

4. The merchant can verify the result once the notes have been added to the order

5. The order details are updated

6. The merchant can verify the information in the Axepta Extranet Platform

Limitations, Constraints

  • The merchant needs a configured Axepta account
  • The following features are out of scope:

                      -  Multi-authorization

                      -  Multi-capture

                      -  Void

                      - N-times payment

                      - Direct Link payments

Axepta cartridge is developed based on en_US locale but it can be configured in any locale needed. Also, the cartridge doesn’t perform any request of PCI sensitive information

Compatibility

Axepta integration cartridge was certified with the version of Salesforce Commerce Cloud : currently API version 22.10, Site Genesis version 104.1.3 and SFRA version 5.3.0. It is typically backward compatible with older versions since it uses common and stable methods accessing the Customer, Order and Payment system objects. Currently, SFRA version 6.x and above are not supported.

FLOA PAY

General Information

FLOA Pay allows a merchant to offer 3X, 4X, 1XD or 3XD installment plans for customers during checkout. During the first step FLOA Pay checks the customer for eligibility for chosen installment. Then, in case of positive result, FLOA Pay redirects the customer to FLOA Pay Hosted Payment page. A merchant can be configured on FLOA Pay side for AUTO Capture or for MANUAL Capture. In case of AUTO Capture, FLOA Pay does not expect capture from the merchant. FLOA Pay does capture automatically based on the authorization. In case of MANUAL Capture, the merchant needs to call Capture API. After a credit check, FLOA Pay assumes the entire customer's payment default risk for each transaction. The merchant receives full amount of the installment from FLOA Pay after capture.

Configuration

Accounts configuration :

Go to Merchant tools > AXEPTA BNP PARIBAS Module > Accounts Configuration > EUR and activate the FLOA payment method.


Payment method :

Go to Merchant tools > Ordering > Payment Methods and add the FLOA payment method. You can also import the payment-methods.xml file.


Custom preferences

Import the system-objecttype-extensions.xml file. 4 new preference groups should appear in Merchant tools > Site preferences:

Axepta Floa configuration.

1. Axepta Floa 1.

2. Axepta Floa 2.

3. Axepta Floa 3.


Axepta Floa configuration

  • axpCreateInstallmentUrl : Authorization: To create an installment, call the following URL.
  • floa_merchantID: Your Mechant ID FLOA.

Axepta Floa 1

Follow this documentation to find out your test merchant site ID : Tester FLOA - Documentation Axepta BNP Paribas - Axepta

  • floa_1_enabled : Activate FLOA 1X.
  • floa_1_merchantSiteID : Your merchant site ID FLOA.
  • floa_1_numberOfDaysOfDeferral : Number of days of deferral.
  • floa_1_min : Min order amount to allow 1x installment payment.
  • floa_1_max : Max order amount to allow 1x installment payment.

Axepta Floa 3

Follow this documentation to find out your test merchant site ID : Tester FLOA - Documentation Axepta BNP

Paribas - Axepta

  • floa_3_enabled : Activate FLOA 3x.
  • floa_3_merchantSiteID : Your merchant site ID FLOA.
  • floa_3_min : Min order amount to allow 3x installment payment.
  • floa_3_max : Max order amount to allow 3x installment payment.

Axepta Floa 4

Follow this documentation to find out your test merchant site ID : Tester FLOA - Documentation Axepta BNP

Paribas - Axepta

  • floa_4_enabled : Activate FLOA 4x.
  • floa_4_merchantSiteID : Your merchant site ID FLOA.
  • floa_4_min : Min order amount to allow 4x installment payment.
  •  floa_4_max : Max order amount to allow 4x installment payment.

Storefront Functionality

Display FLOA in the Checkout

Place an order with FLOA 3x

1. Click on the FLOA 3x logo and then click the next button. You will be redirected to the Place-Order page.

2. Click on the Place an order button. You will be redirected to the FLOA form where you can provide additional customer information.



3. Fill out the form and click the Send button. You will be redirected to the form for entering credit card information.



4. Enter the credit card information following the documentation here: Tester FLOA - Documentation Axepta BNP Paribas - Axepta

5. Click the Pay for an order button. You will be redirected to the SalesForce confirmation page.

PAYPAL

General Information

PayPal is one of the world’s leading eWallets for e- and m-Commerce. Around 179 million active members in over 200 countries pay for their online orders with PayPal. Customers can pay via direct debit, giropay or card (American Express, Diners Club, Discover, MasterCard, Visa). Along with the above payment methods, PayPal PLUS offers purchase on account and purchase by instalment.

Members log into their PayPal account with their email address and a password during checkout and choose the preferred payment method (direct debit, PayPal credit, card and, if applicable purchase on account or by instalment). The amount payable is then immediately credited to their own PayPal account. The usual direct debit periods for transfers or the delay resulting from distribution to collecting services do not apply. This allows real-time payments processing on the Internet.

Account Configuration

Go to Merchant tools > AXEPTA BNP PARIBAS Module > Accounts Configuration > EUR and activate Paypal payment method.


Payment method

Go to Merchant tools > Ordering > Payment Methods and add the AXEPTA_PAYPAL payment method. You can also import the payment-methods.xml file.


Custom Preferences

Import the system-objecttype-extensions.xml file. 1 new preference group should appear in Merchant tools > Site preferences : Axepta Paypal axpPaypalUrl : URL to initiate a PayPal payment in the Payment platform (default : https://paymentpage.axepta.bnpparibas/paypal.aspx)

Storefront Functionality

Display PayPal in the Checkout



Place an order with Paypal

1. Click on the Paypal logo and then click to the next button. You will be redirect to the Place-Order page.

2. Click on the Place an Order button. You will be redirect to paypal



3. Log in, select your payment method, and make the payment. You will then be redirected to the SalesForce confirmation page.

Cartridge Installation-SFRA

Installation

Under SFRA, 3 of the cartridges will be used :

  • int_axepta_sfra : contains the functionalities / adaptations dedicated to SFRA
  • int_axepta_core : contains general functionalities to SFCC and various calls to services
  • bm_axepta : contains the functions reserved for the BM (interface for configuring and managing transactions).

In the cartridge path, you must therefore add to cartridge path :

  • axepta_sg_changes:int_axepta_sfra: for the Storefront
  • bm_axepta:int_axepta_core: for the Business Manager

Installation of dependencies

Run the npm install command in order to install all the modules required for the operation of the cartridge.

Code compilation (JS / SCSS)

In order to generate the appropriate Javascript for the different stages of the checkout, run the npm run compile:js

command. The compiled code will be found in the int_axepta_sfra/cartridge/static/ folder.

Import of metadata

The necessary configuration data can be found in the metadata folder. Before importing, replace the name of the RefArch folder in the metadata> sites folder with the ID of your site.

You can now compress the “metadata” folder and import it into Administration> Site development> Site Import & Export. This import will add the configuration elements, as well as the various jobs, services and extensions of

system-object.

Business Manager module

The permissions for the BM module must be set for every role you want to give access. This is done in Administration > Roles & Permissions > [your role] > Business Manager Module : select the Axepta module

Cartridge Installation-Site Genesis

Installation

Under SiteGenesis, 3 of the cartridges will be used :

  • int_axepta_sitegenesis : contains the functionalities / adaptations dedicated to SFRA
  • int_axepta_core : contains general functionalities to SFCC and various calls to services
  • bm_axepta : contains the functions reserved for the BM (interface for configuring and managing transactions).
  • axepta_sg_changes : contains all Axepta-customized controllers/models/templates that are cloned from app_storefront_controller or app_storefront_core

In the cartridge path, you must therefore add :

  • axepta_sg_changes:int_axepta_sitegenesis:int_axepta_core : for the storefront
  • bm_axepta:int_axepta_core : for the Business Manager

Installation

We consider that you have a Sitegenesis cloned in the same root folder as Axepta cartridge. Before installing anything on sitegenesis folder, you can change Gruntfile.js in sitegenesis folder first:

Add const sass = require('node-sass');



And implementation: sass,



Now cd into sitegenesis cartridge folder and run these commands in terminal:

npm install

npm run build

npm install -g grunt-cli

npm install grunt grunt-autoprefixer grunt-browserify grunt-cli grunt-sass sass

Now cd into Axepte cartridge folder and run these commands in terminal:

npm install

npm run buildsg

This will copy client JS and run grunt build. Please check the file package.json for more info.

Import of metadata

The necessary configuration data can be found in the metadata/ folder . Before importing, replace the name of the SiteGenesis folder in the metadata> sites folder with the ID of your site. You can now compress the metadata/ folder, and import it into Administration> Site development> Site Import & Export .

This import will add the configuration elements, as well as the various jobs, services and extensions of system-object.

Configuration

Configuring Site Preferences

General configuration items can be found in Site Preferences (Merchant Tools> Custom Preferences> Axepta Configurations ). It contains the following elements: 

  • Axepta payment method : The chosen integration method (Redirection or Iframe)
  • Payment Capture Mode: The capture mode chosen for payments :
              - Manual: The capture is triggered by a job, on condition of being sent
              - With delay: The capture is triggered automatically after a defined duration (in the Capture delay (in hours) field)
              - Automatic: The capture is triggered immediately upon validation of the payment
  • Capture delay (in hours) : Only for “With delay” (Avec délai) mode. Set the desired time for the capture delay.
  • Challenge preference :
               - noPreference: The merchant takes no action : the choice of exemption is left to the issuer.
               - noChallenge: The merchant requests an exemption of the strong authentication (no Challenge - Frictionless) : The issuer will accept or not the merchant’s request according to the information he sent. The merchant requires strong authentication (challenge) :
               - mandateChallenge: Mandatory (mandate): the issuer must authenticate the buyer (e.g. for the first subscription transaction)
               - requestChallenge: Preference (request): The merchant wishes to authenticate the buyer. The final choice remains with the issuer.

See 3DSV2 and frictionless for more information.


Configuring Custom Objects

Account configurations depend on the currencies activated on the site. After activating one / more currencies on the site, it is possible to create the necessary configurations. For this, a custom interface is available in: Merchant Tools> Axepta Module> Accounts Configuration . In this interface, the activated currencies are listed, with the possibility of modifying / creating these configurations.

You must configure the following :

  • MerchantID : the Axepta payment account ID
  • HMac key: The encryption key linked to the MerchantID
  • Blowfish key : The Blowfish key for payment data
  • Activation Key: the account activation key, which allows you to define the different payment methods available

Once the configuration has been created, it is possible to activate / deactivate the payment methods available via checkboxes.

Job configuration

In order for the capture jobs to function correctly, it will be necessary to define one / more execution sites for them via the context of the steps.

Transaction management

With the cartridge comes an Axepta transaction management interface. It can be found in Merchant Tools> Axepta Module> Manage Orders . When you click on the order ID, you will find the details of this order / related Axepta transaction.

Details of transactions

On this page is the general information of the order (different SFCC statuses). Information on the various Axepta calls made for the order is also available. On the left part Order payment operations , we find the list of calls, with the type of call made, as well as the status. We therefore have the operations PAYMENT, CAPTURE, REFUND, CANCEL ... On the right, we find the details of the return of service calls (so all the details of the transaction made). From this page, it is also possible to cancel or refund the payment.

Cancellations

To make a cancellation, the order must meet the following criteria :

  • order.paymentStatus equal to NOT PAID
  • order.status.value is not CANCELED
  • order.custom.axpIsCaptured is not TRUE

If the order meets these criteria, a “REFUND PAYMENT” button is available at the top of the page. When this button is clicked, a first call verifies that the order has no capture (via the axepta.inquire service , then a call is made to the axepta.reverse service , which will close the payment and cancel the order. A “CANCEL” transaction line will therefore be added to the list.

Refunds

To make one or more refunds, the order must meet these criteria:

  • order.custom.axpIsRefundCompleted equal to false
  • order.custom.axpIsCaptured equal to true

If it meets these criteria, a field and a button are added to the top of the page. By default, the value entered is the total of the order. You can enter a partial refund (therefore a lower amount) if necessary. On validation, a call to the axepta.capture service is made, and a transaction line is added. It will be either “PARTIAL REFUND” or “REFUND” depending on the amount.

Capture

As indicated previously, 3 capture modes are available :

  • Auto

This capture mode does not require any action. The order is marked as “PAID”, and the various Axepta attributes relating to the capture are fulfilled. On the Axepta side, the transaction is automatically captured as soon as it is validated.

  • With delay

This capture mode also has no action on the Axepta side (the order is captured by itself after the time period specified in the Site Preferences). However, for it to be up to date and marked as captured on SFCC, it is necessary to activate the Job Axepta - Update Delayed Captures . The job will run on orders with a capture date with an “expired” delay. On these, a call is made to verify the status of the payment, via the service axepta.inquire . Following the return, it performs actions similar to “Auto” mode (so flags the command as captured).

  • Manual

This capture mode requires a call to the capture endpoint. These calls are managed by the Axepta - Capture Orders job. This job runs on Axepta orders having a “SHIPPED” status, and not being captured. It then makes a call to the axepta.capture service on these commands . If the feedback is positive, the order is marked as Captured and PAID.


Testing

The test cases are built to cover both the storefront functionality, from an end-customer’s point of view, as well as business manager functionality, from a merchant’s perspective. 

Please refer also to section 2 – Component Overview : Use cases for more samples

Axepta has been tested with :

  • SFRA version 5.3.0
  • Sitegenesis 104.1.3
  • SFCC API version up to 22.10

Unit tests

A set of unit tests is available for the different helpers used. They are written with the chai plugin. In order to run the tests, you have to run the npm run test command :  npm run test:integration --baseUrl {{yourDomainUrl}}

In Order to run unit tests run the following command : npm run test

The result must be 15 passing

Integration tests

In addition to unit tests, a set of integration tests are also present on the SFRA and SiteGenesis cartridge. These are based on the codeceptjs plugin with its TestCafe driver

Configuration

To be able to run the different tests, it is necessary to configure a sandbox on which to run the tests.
To do this, open the int_axepta_sfra / test / integration / config.js file :
In this file, modify the following lines:
Storefront: {
url: '<https://YOURSANDBOX/s/RefArch/home?lang=fr_FR',>
baseUrl: '<https://YOURSANDBOX',> // BASE URL
login: '/on/demandware.store/Sites-RefArch-Site/fr_FR/Checkout-Login' // Checkout
login page,
},
Customer: {
email: '', // YOUR TEST CUSTOMER EMAIL
password: '' // YOUR TEST CUSTOMER PASSWORD
}
With SiteGenesis, open int_axepta_sitegenesis / test / integration / config.js file :
Storefront: {
baseUrl: 'YOUR-SANDBOX-URL/on/demandware.store/Sites-SiteGenesis-Site/'
},
Customer: {
email: 'TEST-EMAIL',
password: 'PASSWORD'
},

Launch of tests

Then, 2 commands are available, each for a different integration mode.

  • Redirection mode

For this mode, you must first set the integration mode preference to redirect Then, the npm run testint:redirect (SFRA) or npm run testintsg:redirect (SiteGenesis) command is used to run the tests for the redirect mode.

The tests for this mode are available in the file int_axepta_sfra/test/integration/tests/Checkout_Redirect_test.js or int_axepta_sitegenesis/test/integration/tests/Checkout_Redirect_test.js

  • Iframe mode

For this one, you must set the integration mode preference on iframe Then, the npm run testint:iframe or npm run testintsg:iframe (SiteGenesis) command is used to run the tests for the redirect mode.

The tests for this mode are available in the file int_axepta_sfra/test/integration/tests/Checkout_Iframe_test.js or int_axepta_sitegenesis/test/integration/tests/Checkout_Iframe_test.js

Operations, Maintenance

Data Storage

Custom Objects

This cartridge adds one custom object axpAccountsConfiguration, needed to store informations about accounts. It contains information defined in Merchant Tools> Axepta Module> Accounts Configuration.

Orders

Axepta will store communication results in order notes like :


New custom attributes are added to orders :

  • axpCCBrand : The Credit Card Brand
  • axpCaptureDate : The payment capture date
  • axpCaptureDelayedDate : The delayed capture date
  • axpCode : The response code from Axepta
  • axpIsOrder : Flag that indicates if order was handled by Axepta
  • axpIsCaptured : Flag that indicates if the payment has been captured
  • axpIsRefundCompleted : Flag that indicates if the refund is complete
  • axpPayID : The payment ID from Axepta
  • axpRefundedAmount : The amount that has already been refunded
  • axpTransID : The Transaction ID from Axepta

Services

The Axepta integration uses the below services


All services are using the below Profile configuration. It can be easily changed for different merchants. A different/ a separate Profile can be added for each service


Availability

Every error related to Axepta is reported to the Axepta API endpoint. The request payload contains error description, order ID and stack trace payload in JSON format. The order will be failed and will contain an ‘Error’ within the Order Notes (BM – Order Management). Also, in the error logs, this situation will be added, with specific details. The end user will receive a generic technical error with the message: “We're sorry that your order could not be placed. This probably happened due to a high order volume or temporary connection errors. Please wait a few minutes and resubmit your order. We won't process your payment until you successfully place your order. If you have further questions, please contact us .”

Failover

In case of unavailability of Axepta service, the content of the iframe or the redirection is broken.

Example :


The customer must close the popin or click on the back button on the browser to switch back to e-commerce website and chose another payment method.

Support

In the event of problems with the integration, missing features, etc. please contact the Axepta Team at https://axepta.bnpparibas/contact-us/ or your Axepta account manager.

User Guide

Roles, Responsibilities

The store administrator is responsible for checking the configuration of the Axepta Merchant Account in the Axepta Extranet. Admins should regularly check all the payments received to ensure they contain the expected data (currency, amount, customer information, etc.). 

Business Manager

Axepta Module

Axepta Integration Module has been created. It used to configure the payment methods and payment options, as well as reviewing the order details and performing manual operations on each transaction.

Configuration

  • Go to Administration > Organization > Roles > Administrator > Business manager Module
  • Select the site and press “Apply”


  • Select the checkboxes for the Axepta Module and press “Update”


  • The Axepta Module is displayed under Merchant Tools

Module configuration

This module has 2 entries in the "Merchant tools" menu.

Configuration of Axepta payment accounts - Accounts configuration

Account configurations depend on the currencies activated on the site. After activating one / more currencies on the site, it is possible to create the necessary configurations. For this, a custom interface is available in : Merchant Tools> Axepta Module> Accounts Configuration.

In this interface, the activated currencies are listed, with the possibility of modifying / creating these configurations.

Create a payment account

When entering a new payment account, you must enter the following 4 pieces of information that will have been sent to you by Axepta :

  • MerchantID : the Axepta payment account ID
  • HMac key: The encryption key linked to the MerchantID
  • Blowfish key : The Blowfish key for payment data
  • Activation Key: the account activation key, which allows you to define the different payment methods available


When saving, a validation of the elements entered is performed. In case of error, an error message is displayed and blocks the saving of the elements entered. Once the configuration is validated, it is possible to activate / deactivate the available payment methods via checkboxes.


The list of payment methods displayed depends on your contract with Axepta.

Modification of a payment account

When modifying an existing payment account, the following 3 pieces of information must be entered, as provided by Axepta :

  • MerchantID : the Axepta payment account ID
  • HMac key: The encryption key linked to the MerchantID
  • Blowfish key : The Blowfish key for payment data

The following field can no longer be modified if it was validated at creation.

  • Activation Key: the account activation key, which allows you to define the different payment methods available

Transaction management

Transaction list

With the cartridge, you have an interface for managing Axepta transactions. It can be found in Merchant Tools > Axepta Module > Manage Orders. On this page, the orders with the "Is Axepta" flag are listed. The status and general information are also listed. When you click on the order ID, you will find the details of this order and the related Axepta transaction.

Transactions detail

On this page, the general information of the order and the payment with Axepta are displayed.

On the left side Order payment operations, you can find the list of calls, with the type of call made, and the status. So we have the PAYMENT, CAPTURE, REFUND, CANCEL operations...On the right side, we find the details of the service call returns (so all the details of the transaction made). From this page, it is also possible to cancel or refund the payment.

Cancellation

To perform a cancellation, the order must meet the following criteria:

  • order.paymentStatus equal to NOT PAID
  • order.status.value not equal to CANCELLED
  • order.custom.axpIsCaptured not equal to TRUE

If the order respects these criteria, a "REFUND PAYMENT" button is available on the top of the page. When this button is clicked, a first call verifies that the order has no capture (via the axepta.inquire service), then a call is made to the axepta.reverse service, which will close the payment, and cancel the order. A "CANCEL" transaction line will then be added to the list.

Refund

To perform one/several refunds, the order must meet these criteria:

  • order.custom.axpIsRefundCompleted equal to false
  • order.custom.axpIsCaptured equal to true

If it respects these criteria, a field and a button are added on the top of the page. By default the value is the total of the order. You can enter a partial refund (i.e. a lower amount) if necessary. At the validation, a call to the axepta.capture service is made, and a transaction line is added. It will be either  "PARTIAL REFUND" or "REFUND" depending on the amount.

Capture mode

As previously mentioned, 3 capture modes are available.

Auto :

This capture mode requires no action. The order is marked as "PAID", and the various Axepta attributes concerning

the capture are filled in. On the Axepta side, the transaction is captured automatically as soon as it is validated.

With delay

This capture mode is also without any action on the Axepta side (the order is captured by itself after the delay specified in the Site Preferences). However, in order for it to be updated and marked as captured on SFCC, it is necessary to activate the Axepta Job - Update Delayed Captures. This job will run on the orders with a capture date with delay "passed". On these orders, a call is made to check the status of the payment, via the axepta.inquire service. Following the return, it performs actions similar to the "Auto" mode (so flag the order as captured).

Manual

This capture mode requires a call to the capture endpoint. These calls are managed by the Axepta - Capture Orders job. This job runs on Axepta orders with a status of "SHIPPED", and not captured. It then makes a call to the axepta.capture service on these orders. If the return is positive, the order is marked as Captured and PAID.

Jobs configuration

There are 2 jobs created to manage transactions with Axepta :

  • Axepta - Capture Orders: to retrieve the status of the payment in the "Manual" mode
  • Axepta - Update Delayed Captures: to retrieve the status of the payment in the "With Delay" mode. This job uses the "axpCaptureDelay" parameter In order for the capture jobs to function correctly, it will be necessary to define one / more execution sites for them via the context of the steps.

Configuring Axepta Site Preferences

General configuration items can be found in Site Preferences ( Merchant Tools> Custom Preferences> Axepta Configurations ).

It contains the following elements :

  • Payment URL : the default URL for generating payment pages
  • Axepta payment method : The chosen integration method (Redirection or Iframe)
  • Payment Capture Mode : The capture mode chosen for payments :

                           - Manual : The capture is triggered by a job, on condition of being sent

                           - With delay: The capture is triggered automatically after a defined duration (in the Capture delay (in hours) field)

                           - Automatic: The capture is triggered immediately upon validation of the payment

  • Capture delay (in hours) : Only for “With delay” (Avec délai) mode. Set the desired time for the capture delay.

Payment processors

There is only one payment processor added for Axepta Implementation: AXEPTA. Go to: Merchant Tools > Ordering > Payment Processors

Payment Methods

There is only one payment method added for Axepta Implementation: AXEPTA. Go to : Merchant Tools > Ordering > Payment Methods

Logs

Logs related to Axepta Implementation can be found in :

  • error-blade6-9-appserver-*date*.log – logs Salesforce Commerce Cloud errors
  • customerror-blade6-9-appserver-*date*.log – logs Salesforce Commerce Cloud custom errors
  • custom-axepta -blade6-9-appserver-*date*.log – Custom Axepta logs

All of the logs can be found in: Administration > Site Development > Development Setup

Select logs and enter you BM credentials if needed.

Notifications and redirect URL’s

In order to connect to Axepta back office, a configuration is required on each Axepta account to allow the communication between an instance of SFCC and Axepta. The link is done through URL’s, which are added in the Axepta Extranet platform for each account :

  • Transaction notification URL https://*domain.name*/on/demandware.store/*site.name*/*locale*/Notifications-Start
  • Chargeback notification URL *domain.name*/on/demandware.store/*site.name*/*locale*/Notifications-Chargeback
  • Redirection URL after payment form cancelling *domain.name*/on/demandware.store/*site.name*/*locale*/Notifications-Cancel

Storefront Functionality

Payment mode

Display of the payment method in the checkout

After entering the delivery information, the payment information and the choice of payment method are displayed. The customer chooses their card type and validates the payment in the next step.

Payment by redirection

In this mode of payment, the customer is redirected to the Axepta website to enter his credit card information.


Payment by iframe

In this payment method, the customer remains on the e-commerce site. The payment method is entered in an iframe when clicking on the "Place order" button.


Description of available payments methods


Oops, it seems that you need to place a table or a macro generating a table within the Table Filter macro.

The table is being loaded. Please wait for a bit ...

LogoNomCatégorieRégion d'émissionPaysDevises

American Express
CarteInternationalFrance ; Italie ; Belgique ; Luxembourg ; Royaume-Uni ; Irlande ; Pays-Bas ; Espagne ; Allemagne ; Portugal ; Suisse ; Autriche ; Slovaquie ; Slovénie ; Suède ; Danemark ; Norvège ; Finlande ; Estonie ; Lituanie ; Lettonie ; GrèceEUR ; GBP ; CHF ; USD ; AUD ; CAD ; DKK ; JPY ; NOK ; PLN ; SEK

CBCarteFranceFranceEUR

FLOABNPLEuropeFrance ; Italie ; Belgique ; Espagne ; Allemagne ; Portugal EUR

MastercardCarteInternationalFrance ; Italie ; Belgique ; Luxembourg ; Royaume-Uni ; Irlande ; Pays-Bas ; Espagne ; Allemagne ; Portugal ; Suisse ; Autriche ; Slovaquie ; Slovénie ; Suède ; Danemark ; Norvège ; Finlande ; Estonie ; Lituanie ; Lettonie ; GrèceEUR ; GBP ; CHF ; DKK ; USD ; CAD ; JPY ; NOK ; SEK ; PLN ; AUD

PaypalWalletInternationalFrance ; Italie ; Belgique ; Luxembourg ; Royaume-Uni ; Irlande ; Pays-Bas ; Espagne ; Allemagne ; Portugal ; Suisse ; Autriche ; Slovaquie ; Slovénie ; Suède ; Danemark ; Norvège ; Finlande ; Estonie ; Lituanie ; Lettonie ; GrèceEUR ; GBP ; USD ; CAD

VisaCarteInternationalFrance ; Italie ; Belgique ; Luxembourg ; Royaume-Uni ; Irlande ; Pays-Bas ; Espagne ; Allemagne ; Portugal ; Suisse ; Autriche ; Slovaquie ; Slovénie ; Suède ; Danemark ; Norvège ; Finlande ; Estonie ; Lituanie ; Lettonie ; GrèceEUR ; GBP ; CHF ; DKK ; USD ; CAD ; JPY ; NOK ; SEK ; PLN ; AUD


  • No labels