Axerve for FinDock

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.

Multi-merchantMulti-currency
yesno
Payment MethodOne-timeRecurringRefunds
Credit Cardyesyesyes

Pre-requisites

  • Axerve Test Account
  • FinDock installed and configured
  • A source connector installed and configured
  • A Salesforce Site 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:

  1. Register a test account by following the instructions here: https://sandbox.gestpay.net/BackOffice/
  2. In the Test Account BackOffice, go to Configuration > Environment. axerve_setup_test_account_environment_settings
  3. Edit ‘Response Address’ information.
    • URL for positive response: http://www.success.nl
    • URL for negative response: http://www.fail.nl
    • URL Server to Server: URL of your Salesforce Site + /apex/gffd__TransactionResponse
      Example: https://sandbox-gestpay-developer-edition.cs128.force.com/apex/gffd__TransactionResponse
  4. Under the ‘M.O.T.O’ settings, select Unify transaction and click Save.
  5. In the Test Account BackOffice go to Configuration > Security.
  6. Under ‘Api Key’ add a new Api Key by pressing 'Add Key' and click Save.
  7. Under ‘Security Level’ set Api Key as a default Security Level and click Save. Axerve setup API key security level

When you are done with the initial test account configuration, you can move on to Payment Page settings.

Payment Page settings

  1. In the Test Account BackOffice, go to Payment Page > Page Edit.
  2. 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! Select language and save
  3. 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. Axerve setup Payment Page
  4. Click TOKEN , check 'Risposta' and 'Risposta Web service' and click Salva (Save). axerve_token_settings
  5. Click CustomInfo , check 'Risposta' and 'Risposta Web service' and click Save. Axerve setup CustomInfo
  6. Click Token ExpiryMonth , check 'Risposta' and click Save. axerve_token_expirymonth_settings
  7. Click Token ExpiryYear , check 'Risposta' and click Save. axerve_token_expiryyear_settings
  8. Click PaymentMethod , check 'Risposta' and 'Risposta Web service' and click Save. axerve_token_paymentmethod_settings
  9. Add RECURRINGID by clicking the Add Parameter button at the bottom of the parameters list.
  10. 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. Axerve setup RECURRINGID

Install and activate Axerve for FinDock

Follow the standard procedure for installing and activating the Axerve for Findock payment extension.

Configure Axerve for FinDock

To configure the Axerve payment extension:

  1. 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.
  2. Open the Remote Site Settings tab and, depending on your org, activate the test or production endpoint of Axerve.
    • For testing: https://sandbox.gestpay.net
    • For production: https://ecomm.sella.it or https://ecommS2S.sella.it
  3. Click the Activate/Deactivate tab and then click the Payment Methods button next to the Axerve-for-Findock extension.
  4. Activate payment method CreditCard.
  5. 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.
  6. Go back to Setup home page and click on the Axerve for Findock tile under Payment Extensions.
  7. 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):
    axerve_for_findock_settings
    • Push URL: URL of your Salesforce Site, starting with https:// and ending with /. Example: https://gestpay-findock-developer-edition.cs89.force.com/
    • Shop Login - Shop Login is visible on the top right corner in the Test Account Backoffice Example: GESPAY75955
    • Api Key - Api Key generated in the Test Account BackOffice (Configuration > Security) Axerve for FinDock API Key
    • 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.
  8. Go to the Salesforce Public Access Settings and click Assigned Users.
  9. Select the Site Guest User and edit the Permission Set Assignments. Site Guest User should have at least the following permission sets:
    • Axerve Integration User
    • PaymentHub Integration Base

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.

note

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 PaymentProfileTokenRefreshSchedule class. Refresh credit card token setting for Axerve payment extension

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.

Axerve MOTO

If you use Axerve's MOTO service, there are additional options on Mondate 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 forumala 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.

note

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 or /PaymentProcessors endpoints. For more information, please check out our API Reference Guide.

One-time payment

{
"SuccessURL":"http://www.success.nl",
"FailureURL":"http://www.fail.nl",
"Payer":{
"Contact":{
"FirstName":"Axerve-for-Findock",
"LastName":"Single Axerve",
"Email":"T@Douwstra.com"
},
"AccountUpdate":"Enrich",
"ContactUpdate":"Enrich",
"AllowDeduplication":true,
"PrimaryRelation":"Contact"
},
"Payment":{
"Amount": 10.00
},
"PaymentMethod":{
"Name":"CreditCard",
"Processor" :"Axerve-for-FinDock"
},
"SourceConnector":{
"Name":"PaymentHub"
}
}

Recurring payment

{
"SuccessURL": "http://www.success.nl",
"FailureURL": "http://www.fail.nl",
"Payer": {
"Contact": {
"FirstName": "Adriana",
"LastName": "Gallo",
"Email": "AdrianaGallo@teleworm.us",
"MailingStreet": "Viale Augusto, 19",
"MailingCity": "Terracina",
"MailingPostalCode": "04019",
"MailingState": "LT",
"Birthdate": "1975-11-10"
},
"AccountUpdate": "Enrich",
"ContactUpdate": "Enrich",
"AllowDeduplication": true,
"PrimaryRelation": "Contact"
},
"Recurring": {
"Amount": 10.15,
"Frequency": "Monthly",
"StartDate": "2019-09-25"
},
"Payment": {
"Amount": 10.15
},
"PaymentMethod": {
"Name": "CreditCard",
"Processor": "Axerve-for-FinDock"
},
"SourceConnector": {
"Name": "PaymentHub"
}
}