Axerve for FinDock is a payment extension for the Italian Payment Service Provider (PSP) Axerve. The payment extension supports one-time and recurring credit card payments as well as refreshing tokens for expired credit cards.
- Axerve Test Account is registered.
- FinDock is installed and configured.
- A source connector is installed and configured.
- FinDock WebHub is connected and Notification Gateway configured.
Set up Axerve test account
Before you can start setting up the Axerve payment extension, you need to register and configure a test account with Axerve.
To set up a test account:
- Register a test account by following the instructions here: https://sandbox.gestpay.net/BackOffice/
- In the Test Account BackOffice, go to Configuration > Environment.
- Edit ‘Response Address’ information.
- URL for positive response:
- URL for negative response:
- URL Server to Server: copy here the Notification URL for Axerve from the FinDock Notification Gateway. Note that if you have multi-merchant enabled, this URL is target-specific.
- URL for positive response:
- Under the ‘M.O.T.O’ settings, select Unify transaction and click Save.
- In the Test Account BackOffice go to Configuration > Security.
- Under ‘Api Key’ add a new Api Key by pressing 'Add Key' and click Save.
- Under ‘Security Level’ set Api Key as a default Security Level and click Save.
When you are done with the initial test account configuration, you can move on to Payment Page settings.
Payment Page settings
- In the Test Account BackOffice, go to Payment Page > Page Edit.
- Select a language (English or Italiano) and press Save on the pop-up, and press Save (again) on the bottom right of the 'Page Edit' page. NOTE: Even if you do not change the language, you still need to press Save at the bottom of the 'Page Edit' page for Axerve to work!
- Go to Payment Page > Fields&Parameters. Note there is help info available from the upper left corner. Check if the box at the top left says 'Payment Page'. If not, go back to step 2.
- Click TOKEN , check 'Risposta' and 'Risposta Web service' and click Salva (Save).
- Click CustomInfo , check 'Risposta' and 'Risposta Web service' and click Save.
- Click Token ExpiryMonth , check 'Risposta' and click Save.
- Click Token ExpiryYear , check 'Risposta' and click Save.
- Click PaymentMethod , check 'Risposta' and 'Risposta Web service' and click Save.
- Add RECURRINGID by clicking the Add Parameter button at the bottom of the parameters list.
- Fill in RECURRINGID information as shown below and click Save.
NOTE: Make sure you fill in the ‘Nome’ at the top of the pop-up screen, otherwise you will get an error.
Install and activate Axerve for FinDock
Configure Axerve for FinDock
To configure the Axerve payment extension:
- Launch the FinDock app and click Setup. You will see a red mark on the Remote Site Settings tab indicating that the remote site settings for Axerve are disabled.
- Open the Remote Site Settings tab and, depending on your org, activate the test or production endpoint of Axerve.
- For testing:
- For production:
- For testing:
- Click the Activate/Deactivate tab and then click the Payment Methods button next to the Axerve-for-Findock extension.
- Activate payment method CreditCard.
- IMPORTANT: Click the 'Deploy Config' button at the top right of the Setup screen. You should get a green 'All changes have been deployed' messages.
- Go back to Setup home page and click on the Axerve for Findock tile under Payment Extensions.
- Fill in Axerve for Findock settings and click Save. If you have enabled multi-merchant support in FinDock and have mulitple Axerve accounts, fill in the settings for each target (account):
- Notification URL: automatically filled by Notification Gateway
- Shop Login: Shop Login is visible on the top right corner in the Test Account Backoffice (in our example: GESPAY75955).
- Api Key: Api Key generated in the Test Account BackOffice (Configuration > Security)
- Custom Checkout URL: If you have your own checkout page, you can enter the URL here to redirect customers to your page. This custom page needs to include the Axerve hidden iframe. For more information, visit the Axerve docs.
- Log Requests: Check if you want to log the requests
- Is Test: Activate if you are in a test phase and don’t want to process real payments.
Custom redirect options
With Axerve you can choose to either redirect customers to Axerve's default checkout page, or you can create your own custom page that includes a hidden Axerve iframe. This is the Custom Checkout URL setting noted above.
As part of the custom page option, you can choose to use the Custom Cehckout URL setting or you can parse the redirect URL that FinDock sends when your page calls the FinDock Payment API on certain Axerve variables.
The customized redirect flow is:
- You call the FinDock Payment API.
- The payment data is created in Salesforce and the API responsds with a RedirectURL.
- From this RedirectURL you parse the values for parameters ‘a’ (ShopLogin) and ‘b’ (encrypted transaction result).
- You pass values ‘a’ and ‘b’ into the Axerve GestPay.CreatePaymentPage method for your custom payment page where a = shopLogin and b = encryptedString.
- From here on you follow the instructions for the Axerve custom payment page (with ‘a’ and ‘b’ in the hidden iframe).
- Once the payment is completed, FinDock receives notifications based on the values for ‘a’ and ‘b’ and can reconcile the payment.
For further information, please refer to the Axerve documentation.
Test credit cards
For testing your Axerve setup, you can use test credit cards from here: https://docs.gestpay.it/rest/test/credit-cards/
Refresh expired credit cards
When a credit card expires, FinDock users can enter the new expiration date and check the Eligible for Token Refresh field to automatically refresh the token.
The Eligible for Token Refresh and Last Refresh Token Failure Reason fields need to be added to the Payment Profile layout manually.
The PaymentProfileTokenRefreshJob batch job processes all Payment Profiles
eligible for Token Refresh and sends the token update request to Axerve SOAP API. The batch can be scheduled using the
Bank Transaction ID
Recurring payments initiated after September 2020 include a new mandatory field, ´BankTransactionId´ which FinDock stores in the BankTransactionId field on the Mandate object. The ID code is sent from Axerve with the first transaction and must be included with all following transactions of the recurring payment in ´previousTransDetails.BankTransactionId´. However, if you are running payment schedules with authorization tokens that predate this change, the transactions do not have a Bank Transaction ID code.
To avoid failed payment schedules that contain old authorizations (with no transaction ID), you need to manually add the value
-100 in the
BankTransactionId field of the Mandate record for the old recurring payment.
If you want to capture payments through Payment Schedules, with tokens acquired via MOTO channels, there are additional options on Mandate and Installment objects that you need to set to be able to process Axerve payments correctly through Payment Schedules. These include:
- MOTO checkbox on Mandate object: if the Installment is a MOTO payment, this checkbox must be marked
- Initial Payment checkbox on Installment object: if the installment is the first payment of a recurring payment, this checkbox must be marked
There is a Transaction Type formula field on the Installment object that determines the Axerve transaction type value as follows:
- Null (empty): if the installment is a one-time payment, not recurring
- Recurring First: if installment.initialpayment = true & mandate.moto = false
- Recurring Next: if mandate.moto = false
- MOTO: if mandate.moto = true
For handling the Axerve Transaction ID requirement, the formula field is not included in the call to Axerve if the MOTO checkbox is marked on the mandate for the installment.
Payment API messages
The following are example messages for single and recurrent payments using the Payment API.
When initiating payments through the API, additional processor-specific parameters can and/or need to be included for a particular payment method. You can check these parameters by calling the
/PaymentMethods endpoint. For more information, please check out our API Reference Guide.
Axerve uses the SuccessURL and FailureURL from the Axerve setup for redirection, not from the API call. However, since this parameter is mandatory for all other PSPs, a value has to be passed in the API message.