(Classic) Axerve
END-OF-LIFE ANNOUNCEMENT This article describes Axerve integration with version 1 of the Payment API. The Classic Online Experience with Payment API version 1 will be decommissioned at the end of 2024. All Payment API integrations should migrate to version 2, the Enhanced Online Experience, by January 2025.
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-merchant | Multi-currency |
---|---|
Payment Method | One-time | Recurring | Refunds |
---|---|---|---|
Credit Card |
Pre-requisites
- Axerve Test Account
- FinDock installed and configured
- A source connector installed and configured
- A Salesforce Site configured
The Axerve for FinDock package is not pushable, so we cannot automatically update your org with the normal release process. To receive updates, enhancements and fixes, you need to manually install the latest package version using the FinDock Installer.
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 these instructions.
- In the Test Account BackOffice, go to Configuration > Environment.
- 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
- 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
Follow the standard procedure for installing and activating the Axerve for Findock payment extension.
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:
https://sandbox.gestpay.net
- For production:
https://ecomm.sella.it or https://ecommS2S.sella.it
- 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):
- 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)
- 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.
- Push URL: URL of your Salesforce Site, starting with https:// and ending with /. Example:
- Go to the Salesforce Public Access Settings and click Assigned Users.
- 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.
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 PaymentProfileTokenRefreshSchedule class.
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.
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"
}
}